=== release 1.19.2 === 2021-09-23 01:32:32 +0100 Tim-Philipp Müller * ChangeLog: * NEWS: * RELEASE: * gstreamer.doap: * meson.build: Release 1.19.2 2021-06-23 16:41:20 +0300 Sebastian Dröge * plugins/elements/gstclocksync.c: clocksync: Add some debug output to the clock waiting code Part-of: 2021-09-20 13:12:12 +0300 Sebastian Dröge * gst/gstevent.c: * gst/gstmessage.c: gst: Initialize optional event/message fields when parsing These might not exist inside the structure and then we would potentially keep around uninitialized memory from the caller in the out parameter. Part-of: 2021-09-19 21:01:21 +0800 He Junyan * tests/check/libs/bitwriter.c: test: bitwriter: Add a test for reset_and_get_data when not byte unaligned. Part-of: 2021-09-19 22:39:09 +0800 He Junyan * libs/gst/base/gstbitwriter.c: bitwriter: Fix a memory leak in reset_and_get_buffer. We should record the ownership of the data before we reset the bitwriter. Or we will always dup the buffer data and leak the memory. Part-of: 2021-09-19 00:19:43 +0800 He Junyan * libs/gst/base/gstbitwriter.c: bitwriter: Fix the trailing bits lost when getting its data. In reset_and_get_data and reset_and_get_buffer, it fails to include the trailing bits less than 8. So, when the bit_size is not byte aligned, the trailing bits are lost in the return buffer. Part-of: 2021-09-10 01:43:18 +0200 Mathieu Duponchelle * plugins/elements/gstmultiqueue.c: multiqueue: fix obsolete comment re initial flow status The initial single queue srcresult is OK, it hasn't been NOT_LINKED since 2007. Part-of: 2021-09-09 20:25:25 +0200 Mathieu Duponchelle * plugins/elements/gstmultiqueue.c: multiqueue: never consider a queue that is not waiting .. when computing the high id. After a flush for instance, sq->srcresult is reset to OK, yet it doesn't make sense to pick a non-existing position id as the high id when a queue doesn't contain any items in that situation either. It is in any case completely OK to let the not-linked stream get consumed without throttling at this stage, as any first packet arriving on other single queues will get assigned a higher position id. Part-of: 2021-09-09 04:08:22 +0000 Andika Triwidada * tools/gst-inspect.c: add missing space Part-of: 2021-09-06 01:43:57 +1000 Jan Schmidt * plugins/elements/gstmultiqueue.c: multiqueue: Use running time of gap events for wakeups. Use gap events to update the next_time of a queue the same as buffers or segment events. Fixes problems where a group consisting only of sparse streams primarily driven by gap events would stall with a full multiqueue because unlinked streams in the group were not being woken to push data. Part-of: 2021-08-27 13:51:07 +1000 Matthew Waters * gst/gstelement.c: element: NULL the lists of contexts in dispose() If dispose() is called more than once, we may double unref the list of GstContext's. Part-of: 2021-08-24 14:53:30 +0200 Jan Alexander Steffens (heftig) * gst/gstpad.c: pad: Keep IDLE probe hook alive during immediate callback When the probe returns GST_PAD_PROBE_REMOVE and gets called concurrently from the streaming thread while we're in the callback here, the hook has already been destroyed by the time we've reacquired the object lock. Consequently, cleanup_hook gets passed an invalid pointer. Keep another reference to the hook alive to avoid this situation. Part-of: 2021-08-20 16:34:16 +0200 Edward Hervey * plugins/elements/gstconcat.c: concat: Properly propagate seqnum of segment events Was broken by https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/819 Part-of: 2021-01-10 23:37:21 +0100 Théo MAILLART * tests/check/gst/gstelementfactory.c: tests: elementfactory: add element creation tests Part-of: 2021-01-29 20:36:51 +0100 Théo MAILLART * gst/gstelementfactory.c: * gst/gstelementfactory.h: elementfactory: enable construct only property passing Part-of: 2021-03-31 18:36:00 -0400 Olivier Crête * docs/plugins/gst_plugins_cache.json: * plugins/tracers/gstfactories.c: * plugins/tracers/gstfactories.h: * plugins/tracers/gsttracers.c: * plugins/tracers/meson.build: * tools/gst-stats.c: tracer: Add new tracer to list loaded elements and other features This new tracer will list loaded elements and plugins. This should make it easier to generate minimal builds of GStreamer. This also traces other features such as typefind functions, device providers and dynamic types. The format of the output of gst-stats should match the parameters expected by the meson based gst-build system. Part-of: 2021-04-23 15:34:26 -0400 Olivier Crête * gst/gstpluginfeature.c: * gst/gsttracerutils.c: * gst/gsttracerutils.h: tracers: Add tracepoint when a plugin feature it loaded This makes it possible to trace which ones are loaded in a specific program to make nice statistics. Part-of: 2021-08-18 10:23:38 +0200 Edward Hervey * gst/gstpad.c: * tests/check/gst/gstpad.c: pad: Ensure last flow return is set on sink pads in push mode The last flow return field was never updated on sink pads in push mode. This fixes it and makes it consistent. Part-of: 2021-08-13 19:21:41 +0530 Nirbheek Chauhan * gst/gstbuffer.c: gstbuffer: Use g_memdup2 instead of g_memdup This was added in !826 which was created after !803 (which changes g_memdup -> g_memdup2), but merged before it, so it slipped through. Part-of: 2021-08-10 13:35:14 +0100 Tim-Philipp Müller * gst/gstplugin.c: plugin: load plugins with unknown license strings We shouldn't fail to load plugins just because we don't recognise the license string. It's not our job to validate licenses, and the license list is outdated and ambiguous anyway. Also add MPL-2.0 to the list, and fix some defunct license URLs in the code comments. Get rid of the hard-coded skip index, doesn't really buy us much versus just skipping with a few strlens, and is harder to maintain. Part-of: 2021-08-02 14:23:58 +0200 Stéphane Cerveau * plugins/elements/gstidentity.c: identity: provide a log to check the buffers In order to not rely only on app to display the message from identity, display the message in the logs too. Part-of: 2021-08-01 03:36:31 +0900 Seungha Yang * tests/examples/controller/controller-graph.c: examples: controller-graph: Fix build with MSVC To use macros in math.h, one needs to define _USE_MATH_DEFINES before including the math.h file. Use glib's math define instead. Part-of: 2021-05-12 00:54:43 +0900 Seungha Yang * tools/gst-launch.c: * tools/meson.build: gst-launch: Enable Windows high-resolution clock Default timer precision of Windows is dependent on system, but usually it's known to be about 15ms in worst case. That's not an enough precision for multimedia application. Enable high-resolution clock in gst-launch to demonstrate the usage of Windows high-precision clock for application developers. Part-of: 2021-07-23 16:20:20 +0200 Jan Alexander Steffens (heftig) * plugins/elements/gstinputselector.c: input-selector: Use proper segments when cleaning cached buffers We need to use the segment associated with the cached buffer, not the current segment of the pad, otherwise we miscalculate the running time of cached buffers from before a segment change. Part-of: 2021-07-20 09:51:04 +0200 Stéphane Cerveau * .gitlab/issue_templates/Bug.md: gitlab: update bug template Finetune the bug description. Part-of: 2021-05-09 11:45:49 +0800 Zhao, Gang * gst/gsturi.c: gsturi: Set GError if uri is invalid GError should be set if function call failed and the failed reason is not a programmer error. Fixed: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1380 Part-of: 2021-05-09 11:13:48 +0800 Zhao, Gang * gst/gsturi.c: gsturi: Don't treat invalid format of uri as critical error Normally uri is get from user input and invalid user input should not be treated as critical error. Moved gst_uri_is_valid outside of g_return_val_if_fail. NULL uri is checked inside of gst_uri_is_valid and is correctly treated as critical error, removed unneeded checks of NULL uri outside of gst_uri_is_valid function. Part-of: 2021-07-20 16:52:12 +0900 Seungha Yang * gst/gstsystemclock.c: systemclock: Restore default clock mode to monotonic for non-linux system Before the MR https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/829 Windows and macOS system clock used monotonic clock regardless of selected clock mode. And because of clock resolution, we should prefer monotonic over realtime unless realtime clock is selected explicitly. Part-of: 2021-07-07 20:11:13 +0900 Seungha Yang * libs/gst/base/gstbasesink.c: basesink: Don't swap rstart/rstop when stepping Step handling is implemented based on unmodified start/stop segment running time, and basesink takes rate into account for stepping. This commit is partially undoing new behavior introduced by the commit of 39b9cc554c960fec8d41f8394c41390883cadeed when stepping. Part-of: 2021-07-19 20:04:16 +0530 Nirbheek Chauhan * libs/gst/net/gstptpclock.c: gstptpclock: Don't leak the GList 120 bytes in 5 blocks are definitely lost in loss record 7,615 of 9,510 at 0x484486F: malloc (vg_replace_malloc.c:380) by 0x58A2938: g_malloc (gmem.c:106) by 0x58BA1F4: g_slice_alloc (gslice.c:1069) by 0x588F059: g_list_prepend (glist.c:335) by 0x5B9C5C0: select_best_master_clock (gstptpclock.c:756) by 0x5B9CA8E: cleanup_cb (gstptpclock.c:1930) by 0x589AD20: g_timeout_dispatch (gmain.c:4889) by 0x589A4CE: UnknownInlinedFun (gmain.c:3337) by 0x589A4CE: g_main_context_dispatch (gmain.c:4055) by 0x58EE4E7: g_main_context_iterate.constprop.0 (gmain.c:4131) by 0x5899A92: g_main_loop_run (gmain.c:4329) by 0x5B9BA4C: ptp_helper_main (gstptpclock.c:1980) by 0x58C8C31: g_thread_proxy (gthread.c:826) 576 bytes in 24 blocks are definitely lost in loss record 8,782 of 9,510 at 0x484486F: malloc (vg_replace_malloc.c:380) by 0x58A2938: g_malloc (gmem.c:106) by 0x58BA1F4: g_slice_alloc (gslice.c:1069) by 0x588F059: g_list_prepend (glist.c:335) by 0x5B9C5C0: select_best_master_clock (gstptpclock.c:756) by 0x5B9EFA0: handle_announce_message (gstptpclock.c:934) by 0x5B9EFA0: handle_ptp_message (gstptpclock.c:1765) by 0x5B9EFA0: have_stdin_data_cb (gstptpclock.c:1851) by 0x589A4CE: UnknownInlinedFun (gmain.c:3337) by 0x589A4CE: g_main_context_dispatch (gmain.c:4055) by 0x58EE4E7: g_main_context_iterate.constprop.0 (gmain.c:4131) by 0x5899A92: g_main_loop_run (gmain.c:4329) by 0x5B9BA4C: ptp_helper_main (gstptpclock.c:1980) by 0x58C8C31: g_thread_proxy (gthread.c:826) by 0x5DA4298: start_thread (pthread_create.c:481) Part-of: 2021-07-06 13:04:04 +0530 Nirbheek Chauhan * gst/gstpad.c: gstpad: Don't spam INFO when default-chaining a buffer list This is being logged for each buffer, so it should not use INFO. Part-of: 2021-06-15 10:23:33 +0200 Stéphane Cerveau * .gitlab/issue_templates/Bug.md: gitlab: add bug template To clarify what is expected in an issue description and avoid issue which is just an usage issue, add a bug template in gitlab. Part-of: 2021-07-08 11:48:58 +0200 Kasper Steensig Jensen * meson_options.txt: Add meson description for tracer_hooks Part-of: 2020-05-28 08:06:59 +0200 Edward Hervey * gst/gstinfo.c: gstinfo: Improve usage of libdw for backtraces When getting backtraces, we were always creating a new Dwfl context and then discarding it. The problem with that is that it resulted in having to re-scan a lot of information for every single backtrace. In order to fix that issue, use a global on-demand Dwfl context and use it with a lock. Furthermore, we were scanning the mappings of the process (dwfl_linux_proc_report) for *every single step* in the backtrace, and that function is horrendously expensive (does sscanf on /proc/PID/maps ...). While there is a possibility that new mappings might be available (new plugins being loaded for example), we can limit ourselves to just do it once per backtrace. These two modifications speed up the elements_leaks unit test (which traces all pads with full backtraces) by a factor of 6. Partially fixes #567 Part-of: 2021-07-02 01:59:18 +1000 Jan Schmidt * gst/parse/grammar.y.in: parse: Fix a critical when using the : operator. Fix "has no handler with id" output criticals when the : multilink operator is used. These were caused by disconnecting a signal handler multiple times. Part-of: 2021-06-24 11:28:28 +0300 Sebastian Dröge * libs/gst/base/gstbasesink.c: * tests/check/gst/gstbin.c: * tests/check/pipelines/cleanup.c: * tests/check/pipelines/simple-launch-lines.c: basesink: Post a latency message whenever we're ready to answer the query Usually the latency message is only posted whenever latency of an element changes but that might be too early as the sinks might not be able to query the latency at that point yet. Similarly adding a new sink should cause latency reconfiguration once that new sink is able to report its latency. This fixes latency configuration in pipelines where webrtcbin is the only "sink", i.e. it is used in a sendonly session. Before, the latency would always be configured to 0. Part-of: 2021-06-24 10:00:28 +0300 Sebastian Dröge * libs/gst/base/gstbasesrc.c: basesrc: Print segments with GST_SEGMENT_FORMAT and not GST_PTR_FORMAT Part-of: 2021-06-22 13:02:41 +0200 Víctor Manuel Jáquez Leal * gst/gstpreset.c: * gst/gstregistry.c: Fix GI annotations. Part-of: 2021-06-15 08:10:16 +0000 Corentin Damman * COPYING: Update COPYING to LGPL 2.1 Part-of: 2021-06-09 02:35:00 +1000 Jan Schmidt * gst/parse/grammar.y.in: parse: Don't do delayed property setting for top-level properties. If a property is supplied to gst-launch-1.0 to set on a property that implements GstChildProxy, it would always accept any property name and try to set it later. This means that (for example) decodebin will accept and not complain about property names that can never exist like: gst-launch-1.0 videotestsrc ! decodebin NON-EXISTING_PROPERTY=adsfdasf ! fakesink Instead, only try to do deferred property setting for property names that contain the :: separator that indicates it's a setting on a child that might appear later. Part-of: 2021-06-16 11:59:20 +0200 François Laignel * gst/gstclock.c: * gst/gstcontrolbinding.c: * gst/gstcontrolsource.c: * gst/gstelement.c: * gst/gstevent.c: * gst/gstmessage.c: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasetransform.c: * libs/gst/check/gstharness.c: Check mandatory ClockTime arguments Part-of: 2021-04-23 12:12:58 -0400 Doug Nazar * gst/glib-compat-private.h: * gst/gstregistrychunks.c: * libs/gst/base/gstbitwriter.c: * libs/gst/base/gstbytereader.c: * libs/gst/base/gstbytereader.h: * libs/gst/base/gstbytewriter.c: * libs/gst/base/gstindex.c: * tests/check/libs/bitwriter.c: * tests/check/libs/bytereader.c: * tests/check/libs/bytewriter.c: Use g_memdup2() where available and add fallback for older GLib versions glib 2.68 deprecates g_memdup(). Replace with g_memdup2() and add fallback if compiling against older versions, since we want to avoid deprecation warnings. Part-of: 2021-06-07 09:29:58 +0000 Alba Mendez * libs/gst/base/gstbasetransform.h: introspection: annotate ownership in more vfuncs Part-of: 2021-06-03 23:46:06 +0000 Alba Mendez * gst/gstbin.h: introspection: annotate handle_message ownership (fixup/improvement to !747) Correct the ownership annotation for `message` in the `handle_message` vfunc, and remove the equivalent phrase elsewhere (following rules of !747. Part-of: 2021-05-25 13:26:11 +0200 Guillaume Desmottes * plugins/tracers/gstleaks.c: tracers: leaks: log when tracer is exiting Useful when debugging leaks to make sure that the tracer is properly finalized (gst_deinit() being actually called, etc). Part-of: 2021-06-01 15:28:13 +0100 Tim-Philipp Müller * meson.build: Back to development === release 1.19.1 === 2021-06-01 00:07:53 +0100 Tim-Philipp Müller * ChangeLog: * NEWS: * README: * RELEASE: * gstreamer.doap: * meson.build: Release 1.19.1 2021-05-27 16:01:17 -0500 tyler-aicradle * gst/gstsystemclock.c: systemclock: fall back to g_get_monotonic_time This allows us to cover the case where we're on some unknown system that doesn't have a known native precision monotonic time source. Sadly this reintroduces some of the complexity removed in previous commits. Part-of: 2021-05-27 09:44:29 -0500 tyler-aicradle * gst/gstsystemclock.c: systemclock: reorg real and mono time functions for macOS and win32 This simplifies the pre-processor checks a little to make it easier to follow the code. Part-of: 2021-05-26 14:55:55 -0500 tyler-aicradle * gst/gstsystemclock.c: systemclock: Use g_get_real_time on Windows and macOS for realtime clock These targets previously were unable to produce wall clock times when using GstSystemClock, this change makes it possible. Part-of: 2021-05-26 12:55:42 -0500 tyler-aicradle * gst/gstsystemclock.c: systemclock: Reorganize defined checks for parts of GstSystemClock The gst_system_clock_get_internal_time and gst_system_clock_get_resolution functions had some nested defined checks making this code somewhat harder to reason about and much harder to change. The logical meaning of the checks has changed but the actual code coming out of the pre-processor should not have changed significantly. The main logical change was flattening the checks for existence of posix timing functionality, from what I can tell these functions aren't available on Windows where they were trying to be included. I have checked the Linux and macOS output and they are functionally unchanged. Part-of: 2021-05-24 18:27:08 +0100 Tim-Philipp Müller * gst/gstbuffer.c: * gst/gstbuffer.h: * tests/check/gst/gstbuffer.c: buffer: rename new gst_buffer_new_copy() to gst_buffer_new_memdup() https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/826 Part-of: 2021-05-22 19:32:55 +0100 Tim-Philipp Müller * gst/gstbuffer.c: * gst/gstbuffer.h: * tests/check/gst/gstbuffer.c: buffer: add gst_buffer_new_copy() convenience function More convenient and discoverable variant of the fairly widely-used gst_buffer_new_wrapped(g_memdup(data,size),size). Part-of: 2021-05-16 02:10:55 +0100 Tim-Philipp Müller * docs/random/API: * docs/random/LICENSE: * docs/random/TODO-pre-0.9: * docs/random/autoplug1: * docs/random/autoplug2: * docs/random/bbb/streamselection: * docs/random/bbb/subtitles: * docs/random/buffers: * docs/random/caps: * docs/random/caps.dia: * docs/random/caps2: * docs/random/classes.dia: * docs/random/ds/0.9-planning: * docs/random/ds/buffer_locking: * docs/random/ds/bufferpools: * docs/random/ds/categories: * docs/random/ds/element-checklist: * docs/random/ds/registry: * docs/random/ds/roadmap: * docs/random/ensonic/audiobaseclasses.txt: * docs/random/ensonic/dparams.txt: * docs/random/ensonic/draft-registry-change-hooks.txt: * docs/random/ensonic/dynlink.txt: * docs/random/ensonic/interfaces.txt: * docs/random/ensonic/lazycaps.txt: * docs/random/ensonic/logging.txt: * docs/random/ensonic/media-device-daemon.txt: * docs/random/ensonic/plugindocs.txt: * docs/random/ensonic/receipies.txt: * docs/random/eos: * docs/random/error: * docs/random/example: * docs/random/hierarchy: * docs/random/interfaces: * docs/random/metadata: * docs/random/mutability: * docs/random/negotiation: * docs/random/omega/EOS/chain-walkthrough: * docs/random/omega/IDEAS: * docs/random/omega/TODO-0.1.0: * docs/random/omega/TYPE_FOURCC: * docs/random/omega/build/TODO: * docs/random/omega/caps2: * docs/random/omega/caps3: * docs/random/omega/debug-commit: * docs/random/omega/eos.old: * docs/random/omega/filterfactory: * docs/random/omega/output_policies: * docs/random/omega/pad-negotiation: * docs/random/omega/padtemplates: * docs/random/omega/plan-generation: * docs/random/omega/sched-case: * docs/random/omega/sched-commit1: * docs/random/omega/sched/chains: * docs/random/omega/sched/walkthrough-72: * docs/random/omega/sched2: * docs/random/omega/scheduling: * docs/random/omega/testing/Makefile: * docs/random/omega/testing/framework: * docs/random/omega/testing/gstobject.c: * docs/random/omega/testing/gstobject.txt: * docs/random/omega/type-properties: * docs/random/phonon-gst: * docs/random/plugins: * docs/random/plugins.dia: * docs/random/porting-to-0.11.txt: * docs/random/queue: * docs/random/richardb/syncmail: * docs/random/rtp: * docs/random/signal: * docs/random/sources: * docs/random/status-0.11-14-jun-2011.txt: * docs/random/styleguide: * docs/random/testing/syntax: * docs/random/thaytan/opengl: * docs/random/thaytan/video-overlays: * docs/random/thomasvs/0.10: * docs/random/thomasvs/0.4.0: * docs/random/thomasvs/TODO: * docs/random/thomasvs/docreview: * docs/random/thomasvs/features: * docs/random/thomasvs/guadec-4: * docs/random/thomasvs/pthread: * docs/random/thomasvs/pwg: * docs/random/thomasvs/registry: * docs/random/types: * docs/random/types2: * docs/random/types3: * docs/random/use-cases-0.11.txt: * docs/random/usecases: * docs/random/vis-transform: * docs/random/wingo/porting-plugins-to-0.9: * docs/random/wingo/threadsafe-properties: * docs/random/wingo/without-factories: * docs/random/zaheerm/dvb-interface.txt: docs: random: clean up outdated documents Most of these are only of historical interest, and for that it's fine if they're maintained in the git history. They're confusing for anyone stumbling across them expecting documentation relating to current versions of GStreamer. Part-of: 2021-05-11 21:16:01 +0200 Mathieu Duponchelle * plugins/elements/gstconcat.c: concat: adjust running time offsets on events When concat adjusts the base of the segments it forwards downstream, it needs to also adjust the running time offsets, as GstPad does when an offset is set by the application on a pad. Part-of: 2021-05-05 15:45:40 -0400 Nicolas Dufresne * libs/gst/base/gstaggregator.c: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbaseparse.h: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesink.h: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasesrc.h: * libs/gst/base/gstbasetransform.c: doc: base: Fix reference to virtual function The hotdoc syntax is #ClassName::function, but the code was using without anything before. Part-of: 2021-05-06 13:03:15 -0400 Doug Nazar * libs/gst/check/gstcheck.c: * libs/gst/check/libcheck/check.c: * libs/gst/check/libcheck/check_run.c: * libs/gst/check/libcheck/meson.build: gstcheck: Ensure unused threadpool threads are stopped Ensures that all unused threads are exited before the atexit() handlers run. This prevents a race with any thread that used the OpenSSL library between it's thread cleanup routine and it's atexit() cleanup routine which can cause a SIGSEGV. Part-of: 2021-05-11 19:02:28 +0200 Mathieu Duponchelle * plugins/elements/gstconcat.c: concat: fix locking in SEGMENT event handler concat->current_start_offset needs the lock taken for safe access, as it can be accessed from outside of the streaming thread, eg in release_pad. An early break is also added for an error case. Part-of: 2021-05-06 23:02:35 -0400 Doug Nazar * plugins/elements/gstsparsefile.c: sparsefile: Fix sparsefile on Win32 When switching between read/write a fseek() or fflush() is required. Part-of: 2021-05-06 23:00:57 -0400 Doug Nazar * plugins/elements/gstdownloadbuffer.c: downloadbuffer: close file before trying to remove On Windows, the file handles must be closed before you can delete a file. Also, it would cause an error if you try to close an already closed handle. Part-of: 2021-05-06 23:00:07 -0400 Doug Nazar * plugins/elements/gstdownloadbuffer.c: downloadbuffer: return flow error on read error Part-of: 2021-05-06 22:20:57 +0300 Nikolay Sivov * gst/gstutils.c: gstutils: Fix typo in the comment. Part-of: 2021-05-06 12:54:46 +0200 Jan Alexander Steffens (heftig) * plugins/elements/gstmultiqueue.c: multiqueue: Ensure peer pad exists when iterating internal links The pads can be NULL when we're racing with pad removal, e.g. when the pads get removed between `gst_pad_iterate_internal_links` acquiring the parent element and `gst_multi_queue_iterate_internal_links` locking the multiqueue. Part-of: 2021-04-02 19:48:26 -0400 Chris White * gst/gstchildproxy.c: gst_child_proxy_get_property: accept G_VALUE_INIT gst_child_proxy_get_property() can now take a value initialized to G_VALUE_INIT. This parallels the corresponding change in g_object_get_property(), GLib 2.60+. https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/724#note_738531 Part-of: 2021-04-22 17:53:44 +0200 François Laignel * gst/gstelement.c: * gst/gstelement.h: * gst/gstpadtemplate.c: * gst/gstutils.c: * libs/gst/check/gstcheck.c: * libs/gst/check/gstharness.c: * tests/check/elements/concat.c: * tests/check/elements/funnel.c: * tests/check/elements/multiqueue.c: * tests/check/elements/selector.c: * tests/check/elements/tee.c: * tests/check/gst/gstelement.c: * tests/check/gst/gstutils.c: * tests/check/libs/aggregator.c: * tests/check/libs/collectpads.c: * tests/examples/streamiddemux/streamiddemux-stream.c: Introduce gst_element_request_pad_simple The name `gst_element_get_request_pad()` is confusing to people learning GStreamer. `gst_element_request_pad_simple()` aims at providing the exact same functionality, while making it more explicit it is a simplified `gst_element_request_pad()`. `gst_element_request_pad_simple()` is consistent with other functions such as `gst_element_seek_simple`. This commit deprecates `gst_element_get_request_pad()` so that a compilation warning is emitted when used and incite developers to use the more explicit `gst_element_request_pad_simple()`. See also https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/743#note_886586 Part-of: 2021-04-20 23:54:52 -0400 Doug Nazar * libs/gst/check/gstharness.c: harness: Fix object used to log caps warning. Part-of: 2021-04-16 11:14:31 +0200 Miguel Paris * gst/gstpad.c: pad: clear probes holding mutex Protect clearing probes against concurrent modification which might happen due to dispose does NOT guarantee that the object is not used anymore, as it could be referenced again and so being continued used. So, as in the rest of places where probes hook list is used, on dispose it should be accessed holding the mutex "GST_OBJECT_LOCK (pad);" as GHookList is not thread-safe. Part-of: 2021-04-16 11:36:33 +0200 Edward Hervey * plugins/elements/gstqueue2.c: queue2: Refuse all serialized queries when posting buffering messages When posting buffering messages there are no safe places or timing to avoid deadlocks. Previously the code was trying to be "smart" by only forwarding serialized queries if the queue was empty ... but that could happen when queue2 hadn't yet posted a 100% buffering message. Meaning the pipeline might be paused and pushing a serialized query downstream might never complete. Therefore let's completely disable forwarding of serialized queries when `queue2` is used as a buffering element (meaning `ALLOCATION` and `DRAIN` queries). Part-of: 2021-04-11 08:23:27 -0400 Doug Nazar * tests/check/gst/gstpad.c: tests: Remove invalid buffer test in test_get_allowed_caps. Passing a non-GObject pointer causes SIGSEGV on certain architectures. Part-of: 2021-04-11 10:24:01 -0400 Doug Nazar * plugins/tracers/gstleaks.c: leaks: Fix SIGSEGV detecting object type. G_IS_OBJECT & GST_IS_OBJECT work by following pointers which is unsafe on certain architectures. GstMiniObject detection however does a lookup to see if it's a valid type derived from G_TYPE_BOXED. Part-of: 2021-04-10 10:46:28 -0400 Chris White * gst/gstallocator.c: * gst/gstallocator.h: allocator: add gst_allocation_params_new() This permits creating GstAllocationParams instances on the heap, which is useful for language bindings that can handle GBoxed types. https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/683 Part-of: 2021-04-07 04:46:23 -0400 Doug Nazar * plugins/elements/gstclocksync.c: clocksync: Fix providing system clock by default clocksync defaults to sync=true so should advertise it by default. Part-of: 2020-10-10 19:09:03 +0000 Jose Quaresma * gst/gstpluginloader.c: gstpluginloader: when env var is set do not fall through to system plugin scanner If we set a custom GST_PLUGIN_SCANNER env var, then we probably want to use that and only that. Falling through to the one installed on the system is problamatic in cross-compilation environemnts, regardless of whether one pointed to by the env var succeeded or failed. taken from: http://cgit.openembedded.org/openembedded-core/commit/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch?id=0db7ba34ca41b107042306d13a6f0162885c123b Part-of: 2021-03-19 13:46:13 +0100 Jan Alexander Steffens (heftig) * tools/gst-inspect-1.0.1: * tools/gst-inspect.c: gst-inspect: Allow overriding DEFAULT_LESS_OPTS with GST_LESS Part-of: 2021-04-06 20:56:55 +0300 Sebastian Dröge * libs/gst/base/gstaggregator.c: * tests/check/libs/aggregator.c: aggregator: Release pads' peeked buffer when removing the pad or finalizing it The peeked buffer was always reset after calling ::aggregate() but under no other circumstances. If a pad was removed after peeking and before ::aggregate() returned then the peeked buffer would be leaked. This can easily happen if pads are removed from the aggregator from a pad probe downstream of the source pad but still in the source pad's streaming thread. Part-of: 2021-03-30 20:24:07 -0400 Chris White * gst/gstcapsfeatures.c: * gst/gstcapsfeatures.h: caps: Add gst_caps_features_new_single() For use with a single feature now that gst_caps_features_new() is G_GNUC_NULL_TERMINATED. https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/774#note_855357 Part-of: 2021-03-27 17:10:06 -0400 Chris White * gst/gsttypefind.c: * gst/gsttypefind.h: typefind: add gst_type_find_suggest_empty_simple() For cases where you only need a media type and no other fields. https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/774#note_848664 Part-of: 2021-03-18 19:06:20 -0400 Chris White * gst/gstcapsfeatures.h: * gst/gstelement.c: * gst/gstelement.h: * gst/gsttaglist.h: * gst/gsttracerrecord.c: * gst/gsttracerrecord.h: * gst/gsttypefind.h: * libs/gst/check/gstharness.h: gst: Add missing G_GNUC_NULL_TERMINATED markers Functions that require NULL as their last vararg are marked so the compiler can warn on missing NULL. Also, document the NULL terminator for gst_make_element_message_details() and gst_tracer_record_new(). https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/669 Part-of: 2021-03-31 21:13:45 +0200 Pieter Willem Jordaan * gst/gstsystemclock.c: systemclock: Fix deadlock on clock_nanosleep Always use the monotonic clock's diff and end time for clock_nanosleep to have predictable behaviour even with other clock types. Part-of: 2021-03-26 21:00:54 +0000 Jason Carrete * tools/gst-launch-1.0.1: Update gst-launch-1.0.1 Fixed a small typo in the gst-launch-1.0 man page Part-of: 2021-03-19 10:33:13 +0200 Sebastian Dröge * gst/gstbin.c: bin: Don't special-case G_SIGNAL_RUN_CLEANUP stage in latency signal accumulator This signal don't run the class handler in the CLEANUP stage. Part-of: 2019-08-11 19:13:57 -0400 Aaron Boxer * gst/gst.c: * tests/check/gst/gst.c: gst: enforce gst_deinit one call per process unit tests do not need to call deinit as it is already called in exit handler Part-of: 2019-08-11 14:20:42 -0400 Aaron Boxer * gst/gst.c: gst: disable indent for parse_goption_arg Part-of: 2021-03-17 16:39:30 +0100 Stéphane Cerveau * gst/gstdeviceprovider.h: device provider: add custom register macro This macro allows to register a device provider with a custom function which gives more flexibility when registering it (see v4l2 register). Part-of: 2021-03-18 14:46:15 +1100 Matthew Waters * gst/gstatomicqueue.c: * gst/gstbuffer.c: * gst/gstchildproxy.c: * gst/gstdeviceprovider.c: * gst/gstelement.c: * gst/gstinfo.c: * gst/gstparamspecs.c: * gst/gstpluginloader.c: * gst/gstpoll.c: * gst/gstpreset.c: * gst/gstpromise.c: * gst/gstprotection.c: * gst/gsttask.c: * gst/gsturi.c: * gst/gstvalue.c: * libs/gst/base/gstaggregator.c: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstflowcombiner.c: * libs/gst/check/gstconsistencychecker.c: * libs/gst/check/gstharness.c: * libs/gst/controller/gsttimedvaluecontrolsource.c: * libs/gst/net/gstnetaddressmeta.c: * libs/gst/net/gstnetcontrolmessagemeta.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstqueue2.h: * plugins/elements/gstvalve.h: * tests/check/gst/gstcontroller.c: * tests/check/gst/gstmeta.c: * tests/check/gst/gstminiobject.c: * tests/check/gst/gstobject.c: * tests/check/gst/gstpreset.c: * tests/check/gst/gstprotection.c: * tests/check/gst/gstvalue.c: * tests/check/libs/controller.c: * tests/examples/controller/control-sources.c: gst: don't use volatile to mean atomic volatile is not sufficient to provide atomic guarantees and real atomics should be used instead. GCC 11 has started warning about using volatile with atomic operations. https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719 Discovered in https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/868 Part-of: 2020-11-18 22:32:30 +0900 Seungha Yang * docs/plugins/gst_plugins_cache.json: * plugins/elements/gstclocksync.c: * plugins/elements/gstclocksync.h: * tests/check/elements/clocksync.c: clocksync: Add a new property "sync-to-first" for automatic ts-offset setup Add a new property so that clocksync can setup "ts-offset" value based on the first buffer and pipeline's running time when the first arrived. Newly update "ts-offset" in this case would be a value that allows outputting the first buffer without clock waiting. Part-of: 2021-03-16 19:02:06 -0400 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Release the SRC lock while querying latency This is required because the query could be intercepted and the application could send any other requests to the element from this thread. Part-of: 2021-03-17 14:06:51 +0100 Mathieu Duponchelle * gst/gstvalue.c: value: fix parsing of explicit value casts Since acdb4ce03d525a18f6c351a040b8446c7bbd98bd , parsing of the value for a property can use the pspec to determine what type a value should be casted to. However, this broke the case where the value is explicitly casted to a type (eg <(float) 0.0>). In that situation, we want to respect the casting decision, and only use the pspec to perform "implicit" casts. Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/881 Part-of: 2021-03-11 15:41:16 +0100 Guillaume Desmottes * gst/gstclock.h: clock: define AUTO_CLEANUP_FREE_FUNC for GstClockID GstClockID is secretly a gpointer so we can't use g_autoptr(), instead user can do: g_auto (GstClockID) clock_id = 0; Part-of: 2021-03-08 10:27:15 +0100 Stéphane Cerveau * gst/gstelement.h: element: remove useless ret test The ret test is unrelevant and confusing. We dont want the code to fail and the register to succeed by example. In the case of a conditional element_init, the element should be defined with GST_ELEMENT_REGISTER_DEFINE_CUSTOM instead of GST_ELEMENT_REGISTER_DEFINE_WITH_CODE. Part-of: 2021-02-26 10:47:38 +0100 Stéphane Cerveau * data/bash-completion/completions/gst-inspect-1.0: * data/bash-completion/completions/gst-launch-1.0: * data/bash-completion/helpers/gst.in: bash-completion: various bash fixes -d tests the folder which is existing but with .in file, so I prefered the -f to test if the gst file was available which is not the case, so it fallbacks on the pkg-config Part-of: 2021-02-26 10:01:56 +0100 Stéphane Cerveau * gst/meson.build: * meson.build: meson: add uninstalled var for bash-completion Part-of: 2021-02-24 13:03:47 +0100 Guillaume Desmottes * gst/gstminiobject.c: * gst/gstminiobject.h: miniobject: add GST_TYPE_MINI_OBJECT Part-of: 2021-02-17 18:35:33 +0100 Mathieu Duponchelle * gst/gstdebugutils.c: * gst/gstdebugutils.h: docs: standardize debugutils documentation * add a SECTION comment * Misc cleanup / typo fixes / addition of links Part-of: 2021-02-16 16:18:08 +0100 Mathieu Duponchelle * gst/gstcontrolsource.h: * gst/gstdatetime.c: * gst/gstdatetime.h: docs: standardize GstControlSource, GstDateTime documentation * Don't repeat what annotations are stating with respect to ownership transfer, nullability * Misc cleanup / typo fixes / addition of links Part-of: 2021-01-21 02:04:25 +0100 Mathieu Duponchelle * libs/gst/base/gstbaseparse.c: Revert "baseparse: always use incoming DTS" This reverts commit fc5cd9591a3fe09458342cfedfff88d57bc330c7. 2021-02-15 15:06:46 +0100 Mathieu Duponchelle * gst/gstcontext.c: * gst/gstcontrolbinding.c: * gst/gstcontrolbinding.h: docs: standardize GstContext, GstControlBinding documentation * Document virtual methods in standalone comments, in order to properly annotate them * Don't repeat what annotations are stating with respect to ownership transfer, nullability * Mark GstControlBinding ABI field as private * Misc cleanup / typo fixes / addition of links Part-of: 2021-02-12 17:50:21 +0100 Mathieu Duponchelle * gst/gstclock.c: * gst/gstclock.h: docs: standardize GstClock documentation * Don't mention explicitly that API is MT safe, this implies that other API is not. GStreamer API is assumed to be MT safe, thread safety should only be explicitly mentioned when API is *not* MT safe * Don't repeat what annotations are stating with respect to ownership transfer, nullability * Document virtual methods in standalone comments, so that parameters can be documented. This is not critical here, as parameters do not need annotations / specific documentation, but serves as an up to date example * Document enumeration members in standalone comments, so that their Since tag is accounted for by gobject-introspection * Misc cleanup / typo fixes / addition of links Part-of: 2021-02-15 09:54:51 +0100 Stéphane Cerveau * gst/gstelement.h: features: remove extra G_BEGIN_DECLS/G_END_DECLS _GST_ELEMENT_REGISTER_DEFINE_BEGIN _GST_ELEMENT_REGISTER_DEFINE_END was introducing an extra extern "C" in case of c++ build. Add missing ";" in GST_ELEMENT_REGISTER_DECLARE Part-of: 2021-02-11 16:04:01 +0100 Mathieu Duponchelle * gst/gstcapsfeatures.c: * gst/gstchildproxy.c: * gst/gstchildproxy.h: docs: standardize GstCapsFeatures, GstChildProxy documentation * Don't mention explicitly that API is MT safe, this implies that other API is not. GStreamer API is assumed to be MT safe, thread safety should only be explicitly mentioned when API is *not* MT safe * Document virtual methods in standalone comments, in order to properly annotate them * Don't repeat what annotations are stating with respect to ownership transfer, nullability * Misc cleanup / typo fixes / addition of links Part-of: 2021-02-10 14:19:18 +0100 Mathieu Duponchelle * gst/gstcaps.c: * gst/gstcaps.h: docs: standardize GstCaps documentation * Don't repeat what annotations are stating with respect to ownership transfer, nullability * Reword the warnings for caps nestability in light of the 1.20 improvements * Misc cleanup / typo fixes / addition of links Part-of: 2021-02-10 04:14:48 +1100 Jan Schmidt * tests/check/gst/gstpad.c: tests: Add disjoint pad probe removal test. Add a test that removing a blocking probe on events when there is a different blocking probe on buffers releases the data flow. Part-of: 2021-02-06 03:58:54 +1100 Jan Schmidt * gst/gstpad.h: pad: Improve the documentation for GstPadProbeReturn. Explain that GST_PAD_PROBE_PASS will pass data even if there is another pad probe that says to block, and that GST_PAD_PROBE_REMOVE passes data and potentially unblocks the pad. Part-of: 2021-02-06 03:41:23 +1100 Jan Schmidt * gst/gstpad.c: pad: Fix for multiple blocking probes interaction. Change the way the marshalled flag in the internal ProbeMarshall state is handled when iterating over pad probes so that it only counts probes that still exist and would be called when retrying. This improves the way that removing a blocking probe works when there are multiple blocking probes for different conditions (data vs events for example). As a side-effect, probes aren't put into the the called_probes array unless they actually match the current probe type and would be called, potentially reducing the number of hooks that get stored in the called_probes array, and the cost of the looping check on retries. Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/658 Part-of: 2021-02-09 15:30:50 +0100 Mathieu Duponchelle * gst/gstbus.c: * gst/gstbus.h: docs: standardize GstBus documentation * Don't mention explicitly that API is MT safe, this implies that other API is not. GStreamer API is assumed to be MT safe, thread safety should only be explicitly mentioned when API is *not* MT safe * Don't repeat what annotations are stating with respect to ownership transfer, nullability * Document virtual methods and the class structure * Misc cleanup / typo fixes / addition of links Part-of: 2021-02-08 15:17:05 +0100 Mathieu Duponchelle * gst/gstbufferpool.c: * gst/gstbufferpool.h: docs: standardize GstBufferPool documentation * Don't repeat what annotations are stating with respect to ownership transfer, nullability * Document virtual methods in standalone comments, so that parameters can be documented. This is functionally useful here, as parameters require annotations, and should make the class more usable by bindings. * Misc cleanup / typo fixes / addition of links Part-of: 2021-02-08 14:31:09 +0100 Mathieu Duponchelle * gst/gstbufferlist.c: * gst/gstbufferlist.h: docs: standardize GstBufferList documentation * Don't repeat what annotations are stating with respect to ownership transfer, nullability * Misc cleanup / typo fixes / addition of links Part-of: 2021-02-08 13:53:51 +0100 Mathieu Duponchelle * gst/gstbuffer.h: docs: fix GST_BUFFER_COPY_DEEP comment title Part-of: 2021-02-05 14:55:37 +0100 Mathieu Duponchelle * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstprotection.c: docs: standardize GstBuffer documentation * Don't mention explicitly that API is MT safe, this implies that other API is not. GStreamer API is assumed to be MT safe, thread safety should only be explicitly mentioned when API is *not* MT safe * Don't repeat what annotations are stating with respect to ownership transfer, nullability * Document enumeration members in standalone comments, so that their Since tag is accounted for by gobject-introspection * Misc cleanup / typo fixes / addition of links Part-of: 2021-02-04 16:15:39 +0100 Mathieu Duponchelle * gst/gstbin.c: * gst/gstbin.h: * gst/gstutils.c: docs: standardize GstBin documentation * Don't mention explicitly that API is MT safe, this implies that other API is not. GStreamer API is assumed to be MT safe, thread safety should only be explicitly mentioned when API is *not* MT safe * Don't repeat what annotations are stating with respect to ownership transfer, nullability * Document virtual methods in standalone comments, so that parameters can be documented. This is not critical here, as parameters do not need annotations / specific documentation, but serves as an up to date example * Document enumeration members in standalone comments, so that their Since tag is accounted for by gobject-introspection * Misc cleanup / typo fixes / addition of links Part-of: 2021-02-04 15:18:04 +0100 Mathieu Duponchelle * gst/gstbin.c: docs: reformat and cleanup GstBin SECTION comment Part-of: 2021-02-02 16:41:28 +0100 Mathieu Duponchelle * gst/gstallocator.c: docs: clean up GstAllocator documentation In particular, there is no need to explicitly mention free functions / ownership transfers, this should be obvious from the annotations. Part-of: 2021-02-02 16:34:03 +0100 Mathieu Duponchelle * gst/gstallocator.c: docs: sort GstAllocator doc so that GstAllocator appears first The default ordering is alphabetical, causing GstAllocationParams to appear first in the page if left auto-sorted Part-of: 2021-02-02 16:19:46 +0100 Mathieu Duponchelle * gst/gst.c: * gst/gst.h: docs: cleanup gst.c documentation Part-of: 2021-01-29 23:07:34 +0900 Seungha Yang * plugins/elements/gstfilesink.c: * plugins/elements/gstfilesrc.c: filesrc/filesink: Use g_open/g_fopen and g_close instead of ours There should be no more cross-CRT issue on Windows since we bumped MinGW toolchain Part-of: 2021-01-31 12:12:09 +0200 Sebastian Dröge * gst/gstinfo.c: info: Don't leak log function user_data if the debug system is compiled out Part-of: 2021-01-25 22:51:33 +0100 Aleksandr Slobodeniuk * gst/gstvalue.h: gstvalue: fix compilation warning in "holds" macros GST_VALUE_HOLDS_... macros may cause -Waddress warning on gcc if GValue is allocated on stack: gstvalue.h:145:46: warning: the comparison will always evaluate as ‘true’ for the address of ‘v’ will never be NULL [-Waddress] #define GST_VALUE_HOLDS_CAPS(x) ((x) != NULL && G_VALUE_TYPE(x) == _gst_caps_type) Fixes #653 Part-of: 2020-12-24 14:06:29 -0500 Chris White * tests/check/gst/gststructure.c: structure: add tests of deserializing strings with escapes Shows the issue described in Part-of: 2019-10-28 18:06:14 +0000 Henry Wilkes * gst/gstvalue.c: gstvalue: preserve parse behaviour with warning Preserve the previous behaviour where: name, val="5"; passed to gst_structure_from_string would have resulted in an int value, rather than a string, despite the quote marks. This will be changed to being interpreted as a string in the future, but for the time being we will issue a warning about this to give users time to fix their code to no longer rely on this bug. Part-of: 2019-10-23 12:48:32 +0100 Henry Wilkes * gst/gstvalue.c: * tests/check/gst/gstvalue.c: gstvalue: make gst_string_unwrap less strict Allow a string in gst_string_unwrap to include unescaped characters that are not in GST_STRING_IS_ASCII. This extra leniency allows gst_structure_from_string to, e.g., receive name, val=(string)"string with space"; Note that many gst tests, and potentially users, exploited this behaviour by giving name, val="string with space"; i.e. without the (string) type specifier. This was allowed before because, without a type specifier, the string was passed to _priv_gst_value_parse_string with unescape set to TRUE, *rather* than being sent to gst_string_unwrap. This caused a difference in behaviour between strings that are or are not preceded by (string). E.g. name, val=(string)"string with space"; would fail, whilst name, val="string with space"; would not. And name, val=(string)"\316\261"; would produce a val="α", whereas name, val=(string)"\316\261"; would produce a val="316261" (a bug). The current behaviour is to treat both of these cases the same, which is desirable. But in order to not break potentially common usage of this discrepancy (it was in our own tests), the best option is to make string parsing less strict in general. New behaviour would be for name, val=(string)"string with space"; to pass and give val="string with space", and name, val="\316\261"; would produce a val="α". Also changed deserializing string test to expect successes where previously a failure was expected. In a similar way, this also effected the deserializing of GstStructure, GstCaps, GstTagList and GstCapsFeatures. So, now name, val=(structure)"sub-name, sub-val=(string)\"a: \\316\\261\";"; will also pass and give sub-val="a: α". Note that the quote marks and backslash still need to be escaped for the sub-structure, but other characters need not be. Part-of: 2019-10-18 23:11:44 +0100 Henry Wilkes * tests/check/gst/gstvalue.c: value: add serialize-deserialize tests Added tests to ensure that the gst_value_deserialize reverses gst_value_serialize. Part-of: 2019-10-18 13:00:33 +0100 Henry Wilkes * gst/gstvalue.c: * tests/check/gst/gstvalue.c: structure: don't unescape values before deserializing No longer call _priv_gst_value_parse_string with unescape set to TRUE before passing a value to gst_value_deserialize in _priv_gst_value_parse_value. This latter function is called by gst_structure_from_string and gst_caps_from_string. When gst_structure_to_string and gst_caps_to_string are called, no escaping is performed after calling gst_value_serialize. Therefore, by unescaping the value string, we were introducing an additional operation that was not performed by the original *_to_string functions. In particular, this has meant that the derialization functions for many non-basic types are incomplete reverses of the corresponding serialization function (i.e., if you pipe the output of the serialization function into the deserialization function it could fail) because they have to compensate for this additional escaping operation, when really this should be the domain of the deserialization functions instead. Correspondingly changed a few deserialization functions. Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/452 Part-of: 2021-01-15 01:16:34 +0900 Seungha Yang * gst/gsttask.c: task: Use SetThreadDescription Win32 API for setting thread name Since Windows 10 1607, we can make use of SetThreadDescription() API for setting thread name. Unlike previously used exception based method, this API will preserve configured thread name on dump file. Part-of: 2021-01-14 15:50:05 +0100 Jan Alexander Steffens (heftig) * tests/check/gst/gstsystemclock.c: tests: systemclock: Stop all stress threads before joining them This reduces the chance of the main thread getting starved while trying to shut down the test, potentially causing a timeout. Even on an idle 96-processor system this reduces the duration of the systemclock tests from ~8s to ~3s. Part-of: 2021-01-14 10:18:51 +0100 Marijn Suijten * gst/gstmemory.c: gstmemory: Mark memory_map @info as `caller-allocates` Part-of: 2021-01-14 10:20:41 +0100 Marijn Suijten * gst/gstbuffer.c: gstbuffer: Mark buffer_map* @info as `caller-allocates` Part-of: 2021-01-07 09:53:41 +0100 Marijn Suijten * libs/gst/base/gstaggregator.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: gst,base: Take GstAllocationParams parameter by const ptr This parameter is only informational and should not be modified. Enforce this at compile-time and to get the right signature in G-IR. Part-of: 2021-01-13 03:01:57 +0900 Seungha Yang * gst/gsturi.h: uri: Remove leftover documentation Follow-up from https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/728 Part-of: 2021-01-08 20:23:23 +0900 Seungha Yang * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstbufferlist.c: * gst/gstbufferlist.h: * gst/gstcaps.c: * gst/gstcaps.h: * gst/gstcontext.c: * gst/gstcontext.h: * gst/gstevent.c: * gst/gstevent.h: * gst/gstmemory.c: * gst/gstmemory.h: * gst/gstmessage.c: * gst/gstmessage.h: * gst/gstpromise.c: * gst/gstpromise.h: * gst/gstquery.c: * gst/gstquery.h: * gst/gstsample.c: * gst/gstsample.h: * gst/gsttaglist.c: * gst/gsttaglist.h: * gst/gsturi.c: * gst/gsturi.h: * gst/meson.build: gst: Add non-inline methods for bindings to able to use core APIs Provide non-inline version of refcounting APIs so that it can be consumed by bindings Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer-sharp/-/issues/46 Part-of: 2021-01-07 11:04:48 +0000 Philippe Normand * docs/plugins/gst_plugins_cache.json: * plugins/elements/gstconcat.c: concat: Fix active-pad property doc typo Part-of: 2020-12-24 00:40:33 +0700 Dmitry Samoylov * gst/gstvalue.c: gst: Fix doc comments Part-of: 2020-10-23 17:44:10 +0200 Michael Tretter * gst/gstpipeline.c: pipeline: clarify that applications should handle bus messages The pipeline posts messages on the bus even if an application does not handle the messages. This is expected behavior but may leak messages if the messages are not handled. Clarify the documentation. Part-of: 2020-12-12 22:28:46 +0000 Fredrik Pålsson * gst/gstbus.c: gstbus: change log level of repeated messages from INFO to DEBUG Part-of: 2020-12-11 16:01:27 +0100 Jakub Adam * libs/gst/check/gstharness.c: harness: don't use GST_DEBUG_OBJECT with GstHarness GstHarness is not a GObject. Fixes assert on recently added check in gst_debug_log_valist() if GST_ENABLE_EXTRA_CHECKS is enabled. Part-of: 2020-12-10 15:48:32 -0300 Thibault Saunier * gst/gstbus.c: * tests/check/gst/gstbus.c: bus: Ensure that only one GSource can be attached to the bus Until now we were enforcing that only 1 signal GSource was attached the bus but we could attach as many GSource with `gst_bus_create_watch` as we wanted... but in the end only 1 GSource will ever be dispatched for a given `GstMessage` leading to totally broken behavior. Part-of: 2020-12-10 15:05:31 -0300 Thibault Saunier * gst/gstbus.c: bus: Do not override source->prepare Since GLib 2.36 we do not need it. Part-of: 2020-12-10 14:08:53 -0500 Nicolas Dufresne gir: Fix parser warning due to empty line The GIR parser does not want any empty line after the function or macro name line. Fixes the following warning: [309/4246] Generating Gst-1.0.gir with a custom command ../subprojects/gstreamer/gst/gstelement.h:57: Warning: Gst: "@element" parameter unexpected at this location: * @element: The element name in lower case, with words separated by '_'. ^ ../subprojects/gstreamer/gst/gstelement.h:84: Warning: Gst: "@e" parameter unexpected at this location: * @e: The element name in lower case, with words separated by '_'. ^ ../subprojects/gstreamer/gst/gstelement.h:106: Warning: Gst: "@e" parameter unexpected at this location: * @e: The element name in lower case, with words separated by '_'. ^ ../subprojects/gstreamer/gst/gstdeviceprovider.h:32: Warning: Gst: "@d_p" parameter unexpected at this location: * @d_p: The device provider name in lower case, with words separated by '_'. ^ ../subprojects/gstreamer/gst/gstdynamictypefactory.h:28: Warning: Gst: "@t_n" parameter unexpected at this location: * @t_n: The dynamic type name in lower case, with words separated by '_'. ^ ../subprojects/gstreamer/gst/gsttypefind.h:34: Warning: Gst: "@type_find" parameter unexpected at this location: * @type_find: The type find name in lower case, with words separated by '_'. ^ ../subprojects/gstreamer/gst/gsttypefind.h:61: Warning: Gst: "@t_f" parameter unexpected at this location: * @t_f: The type find name in lower case, with words separated by '_'. ^ Part-of: 2020-12-10 09:57:37 -0300 Thibault Saunier * gst/gststructure.c: * tests/check/gst/gststructure.c: structure: Handle trailing comas in serialized structs Part-of: 2020-10-06 14:26:30 +0200 Stéphane Cerveau * plugins/elements/gstcapsfilter.c: * plugins/elements/gstclocksync.c: * plugins/elements/gstconcat.c: * plugins/elements/gstcoreelementselements.h: * plugins/elements/gstcoreelementsplugin.c: * plugins/elements/gstdataurisrc.c: * plugins/elements/gstdownloadbuffer.c: * plugins/elements/gstelements.c: * plugins/elements/gstfakesink.c: * plugins/elements/gstfakesrc.c: * plugins/elements/gstfdsink.c: * plugins/elements/gstfdsrc.c: * plugins/elements/gstfilesink.c: * plugins/elements/gstfilesrc.c: * plugins/elements/gstfunnel.c: * plugins/elements/gstidentity.c: * plugins/elements/gstinputselector.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstoutputselector.c: * plugins/elements/gstqueue.c: * plugins/elements/gstqueue2.c: * plugins/elements/gststreamiddemux.c: * plugins/elements/gsttee.c: * plugins/elements/gsttypefindelement.c: * plugins/elements/gstvalve.c: * plugins/elements/meson.build: coreelements: allow per features registration Split plugin into features including dynamic types which can be indiviually registered during a static build. More details here: https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199 https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661 Part-of: 2020-12-01 12:46:19 +0100 Stéphane Cerveau * gst/gstdynamictypefactory.h: dynamic type: add convenience macros to register This macros will help to register a dynamic type apart from a given plugin such as in a static build of gstreamer where libgstreamer-full is generated. Part-of: 2020-11-30 11:51:59 +0100 Stéphane Cerveau * gst/gsttypefind.h: type find: add convenience macros to register This macros will help to register a device provider apart from a given plugin such as in a static build of gstreamer where libgstreamer-full is generated. Part-of: 2020-11-27 17:33:33 +0100 Stéphane Cerveau * gst/gstdeviceprovider.h: * tests/check/gst/gstdevice.c: device provider: add convenience macros to register This macros will help to register a device provider apart from a given plugin such as in a static build of gstreamer where libgstreamer-full is generated. Part-of: 2020-08-31 14:05:49 -0400 Julian Bouzas * gst/gstelement.h: element: add convenience macros to register Define separate macros to define an element apart from the plugin itself. These macros will help to register elements a part from a plugin. By example in the case of a gstreamer static build producing the libgstreamer-full library. More details here: https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199 Part-of: 2020-12-01 17:17:30 +0100 Stéphane Cerveau * tools/gst-inspect.c: gst-inspect: add an option to sort plugins with the option --sort, the output is sort by default with alphabetical order with plugins and features. Part-of: 2020-12-07 12:23:15 +0200 Sebastian Dröge * tests/check/gst/gstdatetime.c: datetime: Update tests for returning NULL instead of g_return_val_if_fail() in error cases Part-of: 2020-11-25 14:02:23 +0200 Sebastian Dröge * gst/gstdatetime.c: datetime: Make use of new g_time_zone_new_identifier() that properly handles errors g_time_zone_new() returns UTC if it fails to parse the timezone identifier, which is rather suboptimal and causes wrong datetimes to be created silently. Part-of: 2020-11-25 14:00:45 +0200 Sebastian Dröge * gst/gstdatetime.c: datetime: Clean up all constructors to fail gracefully if invalid dates/times are provided And also don't crash dereferencing a NULL pointer if the GDateTime functions return NULL. Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/632 Part-of: 2020-11-25 13:36:19 +0200 Sebastian Dröge * gst/gstdatetime.c: datetime: Change getters to return specific invalid values if the value is not set This is more bindings friendly than requiring a special function to be called beforehand or getting an assertion instead, and should also simplify some usage. Part-of: 2020-11-25 13:35:57 +0200 Sebastian Dröge * gst/gstdatetime.c: datetime: Improve documentation a bit to explain when NULL is returned Part-of: 2020-07-14 22:36:36 -0400 Thibault Saunier * gst/gst_private.h: * gst/gstcaps.c: * gst/gstcaps.h: * gst/gststructure.c: * gst/gststructure.h: * hooks/pre-commit.hook: * tests/check/gst/capslist.h: * tests/check/gst/gstcaps.c: * tests/check/gst/gststructure.c: gst: Add new structure/caps/_to_string using the brackets for nesting This adds `gst_structure_serialize` and `gst_caps_serialize` which use the newly introduced bracket delimiters for nested structures. Part-of: 2020-06-17 09:31:18 -0400 Thibault Saunier * gst/gstvalue.c: value: Cleanup on range parsing failures Part-of: 2020-06-16 00:07:51 -0400 Thibault Saunier * gst/gst_private.h: * gst/gstcaps.c: * gst/gststructure.c: * gst/gstvalue.c: * tests/check/gst/gstvalue.c: structure: Add support for brackets as nested structures/caps specifiers This introduces a more human friendly syntax to specify nested structures It does so by using 2 different markers for opening and closing them instead of abusing quotes which lead to requiring an insane amount of escaping to match nesting levels. The brackets (`[` and `]`) have been chosen as they avoid complex constructions with curly brackets (or lower/higher than signs) where you could have structures embedded inside arrays (which also use curly brackets), ie. `s, array=(structure){{struct}}` should be parsed as an array of structures, but the cast seems to imply something different. We do not have this issue with brackets as they are currently used for ranges, which can only be casted to numeric types. This commit does not make use of that new syntax for serialization as that would break backward compatibility, so it is basically a 'sugar' syntax for humans. A notice has been explicitly made in the documentation to let the user know about it. Part-of: 2020-12-03 19:22:43 +0100 Marijn Suijten * libs/gst/check/gsttestclock.c: check: gst_test_clock_process_next_clock_id returns nullable It is possible there are no more pending clocks in the chain, in which case this function returns null. See also tests like test_single_shot_async_future that validate NULL returns. Part-of: 2020-12-01 19:17:05 +0000 Jose Quaresma * meson_options.txt: meson: gtk_doc is not supported anymore Part-of: 2020-12-02 09:22:35 +0200 Sebastian Dröge * gst/gststreams.c: streams: gst_stream_type_get_name() is not nullable It takes an enum and only the defined values are valid to pass in here as it's not extensible from the outside. Add a g_return_val_if_reached() for the unreachable case and return "invalid". Part-of: 2020-12-02 09:35:26 +0200 Sebastian Dröge * gst/gstinfo.c: info: Warn if logging with a non-GObject object if GST_ENABLE_EXTRA_CHECKS is enabled Part-of: 2020-11-20 14:55:17 +0000 Tim-Philipp Müller * gst/gsttaskpool.c: taskpool: fix docs warnings gsttaskpool.c:507: Warning: Gst: gst_shared_task_pool_get_max_threads: unknown parameter 'max_threads' in documentation comment Part-of: 2020-11-10 21:39:13 +1000 Jonathan Matthew * plugins/elements/gsttypefindelement.c: * plugins/elements/gsttypefindelement.h: typefind: copy seqnum to new segment event Fixes: #635 Part-of: 2020-10-30 16:58:52 +0100 Edward Hervey * gst/gstsystemclock.c: * meson.build: systemclock: Use clock_nanosleep for higher accuracy The various wait implementation have a latency ranging from 50 to 500+ microseconds. While this is not a major issue when dealing with a low number of waits per second (for ex: video), it does introduce a non-negligeable jitter for synchronization of higher packet rate systems. The `clock_nanosleep` syscall does offer a lower-latency waiting system but is unfortunately blocking, so we don't want to use it in all scenarios nor for too long. This patch makes GstSystemClock use clock_nanosleep (if available) as such: * Any wait below 500us uses it * Any wait below 2ms will first use the regular waiting system and then clock_nanosleep # modified: gst/gstsystemclock.c Part-of: 2020-11-03 02:43:26 +0100 Mathieu Duponchelle * gst/gsttaskpool.c: * gst/gsttaskpool.h: * tests/check/gst/gsttask.c: taskpool: expose new "shared" task pool implementation While the default implementation will spawn a thread per new pushed task, this new implementation instead spawns a maximum number of threads, then queues new tasks on existing threads. The thread that the new task will be queued on is picked in a pretty naive fashion, by simply popping the first thread from a queue and pushing it back to the tail, but this is an implementation detail and can always be sophisticated in the future if the need arises. Part-of: 2020-11-03 02:41:31 +0100 Mathieu Duponchelle * gst/gsttaskpool.c: * gst/gsttaskpool.h: taskpool: expose dispose_handle() API This is useful when the subclass does return a non-NULL pointer in push(), and the user doesn't want to call join() Part-of: 2020-11-03 02:39:37 +0100 Mathieu Duponchelle * gst/gsttaskpool.c: taskpool: improve join() documentation Part-of: 2020-11-03 02:33:32 +0100 Mathieu Duponchelle * gst/gsttaskpool.c: taskpool: modify transfer annotations for push() and join() While the default implementation passes NULL around as the task handle, other implementations can only provide a safe API by having that handle map to a refcounted opaque type. While what's passed around is a gpointer, a valid transfer type annotation has informative value. Part-of: 2020-10-17 12:34:20 +0300 Sebastian Dröge * gst/gstbufferpool.c: * gst/gstdatetime.c: * gst/gstdeviceprovider.c: * gst/gstelement.c: * gst/gstparse.c: * gst/gstplugin.c: * gst/gstregistry.c: * gst/gststreamcollection.c: * gst/gsttypefind.c: * gst/gsttypefindfactory.c: * gst/gsturi.c: * gst/gstutils.c: * libs/gst/base/gstaggregator.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: Add some missing nullable annotations Part-of: 2020-11-04 18:37:32 +0530 Nirbheek Chauhan * meson.build: meson: Enable some MSVC warnings for parity with GCC/Clang This makes it easier to do development with MSVC by making it warn on common issues that GCC/Clang error out for in our CI configuration. Continuation from https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/223 Part-of: 2020-11-02 17:43:42 +0800 Bing Song * plugins/elements/gstclocksync.c: * plugins/elements/gstidentity.c: identity/clocksync: Also provide system clock if sync=false identity should provide when sync=true. Don't provide when sync=false. Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/630 Part-of: 2020-11-03 22:39:54 +1000 Jonathan Matthew * plugins/elements/gstqueue2.c: queue2: Fix modes in scheduling query handling Create a new query to send upstream and copy the flags across from it, rather than reusing the same query, as this allows us to prevent use of pull mode when we don't have a download file. Fixes: #629 Part-of: 2020-11-03 22:58:26 -0800 Khem Raj * gst/gst_private.h: gst_private.h: increse padding in struct _GstClockEntryImpl When compiling for 32bit architectures with 64bit time_t e.g. riscv32, the static assert that the GstClockEntryImpl smaller or equal to the struct _GstClockEntryImpl triggered. (they were 12bytes off). To fix this, the padding is increased by 8 bytes (on 32bit). Part-of: 2020-10-31 15:10:23 -0400 Chris White * gst/gstinfo.c: gstinfo: colorize PIDs in log messages The PIDs on log lines were supposed to be colorized before, but the escape sequence was incorrect. With this change, the code uses the correct sequence to colorize those PIDs. E.g., instead of `\033[334m` (incorrect), use `\033[34m` (correct). This makes the log messages easier to read. It also reduces the chance that a buggy terminal will choke on the invalid escape sequence. https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/624 Part-of: 2020-10-30 23:46:07 +1100 Jan Schmidt * libs/gst/check/gstharness.c: * tests/check/libs/gstharness.c: harness: Handle element not being set cleanly. If a harness is created with gst_harness_new_empty(), there might not be an internal element to unref on cleanup. Part-of: 2020-10-30 00:45:42 +1100 Jan Schmidt * gst/gstbin.c: * tests/check/gst/gstbin.c: bin: When removing a sink, check if the EOS status changed. Removing a sink that hasn't posted EOS might change the bin itself to EOS if it's the last remaining non-EOSed sink. Part-of: 2020-10-26 23:17:59 +0100 Mathieu Duponchelle * libs/gst/base/gstbaseparse.c: baseparse: always use incoming DTS When parsing interlaced video streams, ignoring incoming DTS could cause the parser to end up with PTS < DTS output buffers, for example when increasing next_dts using the duration of the last pushed buffer. Part-of: 2020-10-21 09:43:43 +0100 Philippe Normand * gst/gstdevicemonitor.c: * gst/gstdeviceprovider.c: * gst/gstdeviceprovider.h: * tests/check/gst/gstdevice.c: devicemonitor: Stop only the already started providers If a device provider fails to start (for instance the pulseaudio provider unable to connect to the PulseAudio daemon) then the monitor should not keep track of it in its `started` providers list. Otherwise a false positive critical warning would be raised. This patch also switches the started_count type from bool to int, for consistency. This is a counter, after all. API: gst_device_provider_is_started Part-of: 2020-10-21 17:24:01 +0900 Seungha Yang * plugins/elements/gstfilesrc.c: filesrc: Use *Ex Win32 method for UWP non-*Ex methods are not allowed for UWP Part-of: 2020-09-02 17:01:42 +0300 Sebastian Dröge * plugins/elements/gstfilesrc.c: filesrc: Don't use fstat() on Windows but use specific Windows APIs fstat() fails on Windows in various situations if the file metadata has invalid values, and we only care about getting attributes and the file size. Part-of: 2020-09-02 17:01:35 +0300 Sebastian Dröge * plugins/elements/gstfilesrc.c: filesrc: Remove unused #define on Windows Part-of: 2020-10-16 10:22:04 -0400 Xavier Claessens * libs/gst/check/meson.build: pkgconfig: Fix missing libcheck dependencies in gstreamer-check-1.0 Part-of: 2020-10-16 10:39:08 -0400 Nicolas Dufresne * libs/gst/base/gstaggregator.c: aggregator: Include min-upstream-latency in buffering time While we can fixe the upstream latency using the min-upstream-latency, we are now forced to use queues (hence more thread) in order to store the pending data whenever we have an upstream source that has lower latency. This fixes the issue by allowing to buffer the fixed upstream latency. This is particularly handy on single core systems were having too many threads can cause serious performance issues. Part-of: 2017-09-08 19:59:27 -0400 Olivier Crête * docs/plugins/gst_plugins_cache.json: * plugins/elements/gstidentity.c: * plugins/elements/gstidentity.h: identity: Add a stats property This is inspired by the stats on rtpjitterbuffer, it's useful to be able to get some simple stats out of the pipeline without having to write yet another pad probe. Part-of: 2019-07-03 09:29:26 +0200 Stéphane Cerveau * gst/gstiterator.c: * meson.build: * tests/misc/netclock-replay.c: * tools/gst-inspect.c: meson: update glib minimum version to 2.56 In order to support the symbol g_enum_to_string in various project using GStreamer ( gst-validate etc.), the glib minimum version should be 2.56.0. Remove compat code as glib requirement is now > 2.56 Version used by Ubuntu 18.04 LTS Part-of: 2020-10-13 01:19:47 +0200 Mathieu Duponchelle * gst/gstvalue.c: gstvalue: don't write to const char * Our various deserializing functions require NULL terminators to not over consume substrings (eg fields of an array). Instead of writing a NULL terminator to the passed-in string, which may result in segfaults, make a copy of the substring we're interested in. Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/446 Part-of: 2018-10-27 13:01:02 -0400 Xavier Claessens * gst/meson.build: * libs/gst/base/meson.build: * libs/gst/check/meson.build: * libs/gst/controller/meson.build: * libs/gst/net/meson.build: * meson.build: * pkgconfig/gstreamer-base-uninstalled.pc.in: * pkgconfig/gstreamer-base.pc.in: * pkgconfig/gstreamer-check-uninstalled.pc.in: * pkgconfig/gstreamer-check.pc.in: * pkgconfig/gstreamer-controller-uninstalled.pc.in: * pkgconfig/gstreamer-controller.pc.in: * pkgconfig/gstreamer-net-uninstalled.pc.in: * pkgconfig/gstreamer-net.pc.in: * pkgconfig/gstreamer-uninstalled.pc.in: * pkgconfig/gstreamer.pc.in: * pkgconfig/meson.build: Meson: Use pkg-config generator Part-of: 2020-10-10 00:53:42 +0900 Seungha Yang * meson.build: meson: Disallow DbgHelp for UWP build Most symbols in DbgHelp.h are not allowed for UWP Part-of: 2020-08-14 16:38:26 +0100 Tim-Philipp Müller * gst/gst_private.h: * gst/gstinfo.c: * meson.build: Remove unused valgrind detection Having this just to log a debug message in case we're running inside valgrind doesn't seem very useful, and the code that used to use this no longer exists it seems. Part-of: 2020-10-07 03:49:33 +0900 Seungha Yang * gst/gstinfo.c: info: Fix build on Windows ARM64 device gstinfo.c(3086): error C2094: label 'done' was undefined Part-of: 2020-10-09 12:13:15 +1100 Matthew Waters * meson.build: build: use cpu_family for arch checks e.g. on 32-bit arm, we may have armv6, armv7l, armv7hf, etc which all generally have the same layouts. cpu_family() groups all of these into just 'arm' that the ABI check table is expecting. Part-of: 2020-10-08 13:37:41 +0200 Jan Alexander Steffens (heftig) * libs/gst/base/gstbasetransform.c: basetransform: Fix in/outbuf confusion of _default_transform_meta The default implementation doesn't actually use its buffer parameters, but this error might have been the cause of some actual confusion in the plugins code. Part-of: 2020-09-04 20:47:18 -0400 Xavier Claessens * gst/gst.c: gst_init: Call gst_init_static_plugins() when available When doing a static build, gstreamer-full-1.0 defines that symbol to register static plugins. Cerbero's Android build will be updated to implement that symbol too. Part-of: 2020-09-17 20:44:43 +0200 Mathieu Duponchelle * gst/gst_private.h: * gst/gststructure.c: * gst/gstutils.c: * gst/gstvalue.c: * gst/gstvalue.h: * gst/parse/grammar.y.in: * tests/check/gst/gstvalue.c: gstvalue: expose gst_value_deserialize_with_pspec() Typing hints can only be passed to gst_value_deserialize() through the type of the passed-in value. This means deserialization can only target the desired type for the top-level elements, making it for example impossible to deserialize an array of flags to the expected type. This commit exposes a new function, gst_value_deserialize_full(), that takes an optional pspec as the extra parameter, and updates the deserialization code to pass around that pspec, or the element_spec when recursively parsing the elements of a list-type value. This allows for example passing arrays of flags through the command line or gst_util_set_object_arg, eg: foo="" Part-of: 2020-09-15 21:07:27 +0900 Seungha Yang * gst/gstinfo.c: * meson.build: info: Load DbgHelp.dll using g_module_open() ... and update meson file so that enable it only using required headers. "dependency(...)" is unlikely successful for Windows SDK libraries since it doesn't ship pkg-config file. So it needs to be changed to "find_library()" to link corresponding .lib file. That would result to most MSVC build system will link dbghelp.dll. However, one drawback of the change is that gstreamer-1.0.dll will mandate dbghelp.dll although it should be optional. So g_module_open() way can be the most safe way in this case. Part-of: 2020-09-30 11:56:40 +1000 Matthew Waters * gst/gstpadtemplate.c: padtemplate: mark documentation caps as may be leaked The template itself is already marked as such and the caps, the documentation caps are a logical extension of those two. Part-of: 2020-09-26 09:11:40 +0200 Víctor Manuel Jáquez Leal * gst/gstpadtemplate.c: padtemplate: add missing annotation Adds missing "transfer full" annotation for caps parameter in gst_pad_template_set_documentation_caps() Part-of: 2020-09-26 09:09:48 +0200 Víctor Manuel Jáquez Leal * gst/gstmemory.h: memory: fix documentation to display in html Commit e9c99c05 added a deprecation message, but this message is not displayed in the html page since the format was not correct. Part-of: 2020-09-01 23:03:18 +0200 Mathieu Duponchelle * gst/gst.c: * gst/gst_private.h: * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstmeta.c: * gst/gstmeta.h: * tests/check/gst/gstmeta.c: meta: expose API to register and create custom meta Custom meta is backed by a GstStructure, and does not require that users of the API expose their GstMeta implementation as public API for other components to make use of it. In addition, it provides a simpler interface by ignoring the impl vs. api distinction that the regular API exposes. This new API is meant to be the meta counterpart to custom events and messages, and to be more convenient than the lower-level API when the absolute best performance isn't a requirement. Part-of: 2017-07-11 18:54:05 -0400 Olivier Crête * gst/gstmemory.h: memory: Deprecate GST_MEMORY_FLAG_NO_SHARE This flag always causes problems as it prevents subbuffering, instead one should create a custom GstAllocator to pool the GstMemory objects and not rely on the lifetime of the GstBuffer object they were originally attached to. https://bugzilla.gnome.org/show_bug.cgi?id=757254 Part-of: 2020-09-16 02:16:52 +0200 Mathieu Duponchelle * gst/gstmeta.c: gstmeta: intern registered impl string Subsequent lookups in the hashtable are probably better done on memory we're confident is allocated to us :) It was easy to trigger invalid reads by calling gst_meta_register with dynamically allocated memory, freeing that memory, then calling gst_meta_get_info() Part-of: 2020-07-06 14:55:38 -0400 Olivier Crête * gst/gstdeviceprovider.c: * gst/gstdeviceprovider.h: deviceprovider: Returns non-floating devices from gst_device_provider_probe This should make the API usage more consistent. Also document that the subclasses should just return the devices as floating. Part-of: 2020-07-31 16:02:03 +1000 Matthew Waters * libs/gst/base/gstaggregator.c: aggregator: don't fail all sink pads when a caps event fails negotiation If one pad returns not-negotiated from a caps event, then all other sink pads were returning not-negotiated. In our case, we can't reliably easily fail at all so just remove that code. Part-of: 2020-07-31 01:10:27 +1000 Matthew Waters * libs/gst/base/gstbaseparse.c: * tests/check/libs/baseparse.c: baseparse: prefer upstream caps rather than overriding e.g. h264parse ! video/x-h264,stream-format=avc receives the following: - caps: video/x-raw,stream-format=byte-stream - gap event: baseparse tries to choose some default caps but would override the downstream chosen caps field with upstreams value. Part-of: 2020-09-18 09:59:03 +0300 Sebastian Dröge * libs/gst/base/gstaggregator.c: aggregator: Hold SRC_LOCK while unblocking via SRC_BROADCAST() Otherwise the clock id we access might not be a valid pointer anymore. Part-of: 2020-09-15 06:35:34 +0900 Seungha Yang * tests/check/elements/leaks.c: tests: leaks: Allow null tracer string if there's no available stack trace In case that no available stack tracer, leak tracer will set null string value for `trace` field. I would likely happen on Windows. Part-of: 2020-09-15 04:24:20 +0900 Seungha Yang * tests/check/gst/gstelement.c: tests: element: Don't run too many loop g_thread_yield() doesn't ensure thread switching actually. It would result to adding so many pads. Depending on system, timeout might happen then. Part-of: 2020-09-15 00:54:58 +0900 Seungha Yang * tests/check/pipelines/seek.c: tests: seek: Don't use too strict timeout for validation Expected segment-done message might not be seen within expected time if system is not powerful enough. Part-of: 2020-09-11 02:59:51 +0900 Seungha Yang * plugins/elements/gstvalve.c: valve: Fix MSVC compile warning gstvalve.c(285) : warning C4715: 'gst_valve_event_needs_dropping': not all control paths return a value Part-of: 2020-07-01 19:15:42 +0300 Sebastian Dröge * gst/gstevent.c: * gst/gstevent.h: * gst/gstquark.c: * gst/gstquark.h: event: Add optional flags to the GAP event This allows to signal the reason for the gap, for example missing data like packet loss. Based on a patch by Mikhail Fludkov Part-of: 2020-09-10 14:17:26 +0300 Sebastian Dröge * libs/gst/check/gstharness.c: * libs/gst/check/gstharness.h: harness: Add gst_harness_set_live() By default each harness returns is_live=TRUE in latency queries. This is often not desired and can now be overridden. Part-of: 2020-08-19 21:17:31 +0300 Sebastian Dröge * libs/gst/base/gstaggregator.c: aggregator: Reset latency values in start() Some base classes like videoaggregator try retrieving the latency during construction, which causes the latency values to be set already until reconfiguration happens. By resetting them the same way as in stop() we ensure that we always start cleanly. Part-of: 2020-09-08 12:45:42 +0100 Tom Schoonjans * libs/gst/helpers/ptp_helper_post_install.sh: ptp_helper_post_install.sh: deal with none Part-of: 2020-09-09 01:23:11 +0800 Xℹ Ruoyao * tests/check/meson.build: skip elements/leak.c if tracer is not available Part-of: 2020-08-20 11:09:11 +0300 Sebastian Dröge * libs/gst/base/gstaggregator.c: aggregator: Wake up source pad in PAUSED<->PLAYING transitions When going to PLAYING we will now have a clock and can stop waiting on the condition variable and instead start waiting on the clock if necessary for the current configuration. In the other direction when going to PAUSED the clock might have disappeared and we might need to wait on the condition variable again instead. Part-of: 2020-08-24 11:59:51 +0300 Sebastian Dröge * plugins/elements/gstinputselector.c: input-selector: Wake up blocking pads when releasing them Otherwise deactivating them will cause a deadlock as they're blocking inside the streaming thread. Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/601 Part-of: 2020-08-14 11:40:30 +0300 Sebastian Dröge * docs/plugins/gst_plugins_cache.json: * plugins/elements/gstvalve.c: * plugins/elements/gstvalve.h: valve: Add modes to forward sticky events when dropping and to convert buffers into gap events Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/587 Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/84 Part-of: 2020-09-01 00:26:31 +0200 Mathieu Duponchelle * libs/gst/base/gstaggregator.c: * tests/check/libs/aggregator.c: aggregator: make peek() has() pop() drop() buffer API threadsafe Enforce that the last buffer that was peeked (or had its existence checked) on a pad is the one that gets popped / dropped, resetting at the end of each aggregation cycle. Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/603 Part-of: 2020-09-08 13:40:25 +0300 Sebastian Dröge * libs/gst/helpers/meson.build: ptp: Also handle gnu/kfreebsd Part-of: 2020-09-08 17:30:27 +0100 Tim-Philipp Müller * .gitlab-ci.yml: ci: include template from gst-ci master branch again 2020-09-08 16:58:20 +0100 Tim-Philipp Müller * meson.build: Back to development === release 1.18.0 === 2020-09-08 00:01:33 +0100 Tim-Philipp Müller * .gitlab-ci.yml: * ChangeLog: * NEWS: * README: * RELEASE: * gstreamer.doap: * meson.build: Release 1.18.0 2020-09-07 20:22:38 +0100 Tim-Philipp Müller * meson.build: * scripts/dist-translations.py: * scripts/meson.build: meson: dist pot file in tarballs Part-of: 2020-08-21 11:06:57 +0300 Sebastian Dröge * libs/gst/base/gstaggregator.c: aggregator: Document that samples_selected() must only be called from the aggregate() function Part-of: 2020-08-20 10:54:12 +0300 Sebastian Dröge * libs/gst/base/gstaggregator.c: aggregator: Don't automatically adjust segment if subclass provided one On the first buffer the base class would update the segment position based on the start-time-selection. If the subclass provides its own segment this will caused unexpected behaviour and override segment information that was explicitly set by the subclass. Part-of: === release 1.17.90 === 2020-08-20 16:08:25 +0100 Tim-Philipp Müller * ChangeLog: * NEWS: * RELEASE: * gstreamer.doap: * meson.build: Release 1.17.90 2020-08-10 22:42:54 +0200 Mathieu Duponchelle * libs/gst/base/gstaggregator.c: aggregator: fix documentation for samples-selected and buffer-consumed GI expects the instance parameter to be documented, omitting it leads to a msismatched output in the gir. Part-of: 2020-08-07 09:30:55 +0300 Sebastian Dröge * libs/gst/base/gstaggregator.c: * libs/gst/base/gstaggregator.h: aggregator: Add optional GstStructure info parameter to "samples-selected" signal Subclasses can use this to provide more information, for example audioaggregator could provide the offset into the output buffer where the next data is going to be filled. See https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/805 Part-of: 2020-08-05 16:54:44 +0200 Mathieu Duponchelle * libs/gst/base/gstaggregator.c: * libs/gst/base/gstaggregator.h: aggregator: add segment, pts, dts and duration to samples-selected Part-of: 2020-08-04 07:10:03 -0400 Xavier Claessens * tests/validate/meson.build: Meson: Override gst-tester-1.0 program to find it in other modules Part-of: 2020-08-03 16:26:58 +0300 Jordan Petridis * gst/gstcaps.c: * gst/gstdeviceproviderfactory.c: * gst/gstelementfactory.c: * gst/gstminiobject.c: * gst/gstobject.c: * gst/gststructure.c: fix clang 10 warnings the typesystem checks in g_atomic_pointer_compare_and_exchange seem to trigger some false positives with clang 10 Part-of: 2020-08-04 11:13:51 +0200 Mathieu Duponchelle * libs/gst/base/gstaggregator.c: aggregator: fix iteration direction in skip_buffers Subclasses use the pad segment to determine whether a buffer should be skipped, we thus don't want to check if a buffer needs to be skipped before processing the segment it's part of. Part-of: 2020-07-30 19:31:55 +0530 Nirbheek Chauhan * gst/gsturi.c: * gst/gsturi.h: * tests/check/gst/gsturi.c: gsturi: Add new API for storing unmodified userinfo / fragment New API: gst_uri_from_string_escaped() Identical to gst_uri_from_string() except that the userinfo and fragment components of the URI will not be unescaped while parsing. This is needed for correctly parsing usernames or passwords with `:` in them such as reported at: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/831 Part-of: 2020-08-01 01:57:06 +0530 Nirbheek Chauhan * tests/check/gst/gsturi.c: tests: Add more tests for gsturi Add tests that exercise unescaping of userinfo and fragments. Also convert to a modular macro-based definition so that we can reuse the list of tests in the next commit. Part-of: 2020-07-30 19:53:10 -0400 Thibault Saunier * tools/gst-inspect.c: inspect: Print preset description when available Part-of: 2020-06-30 21:10:05 +0200 Mathieu Duponchelle * libs/gst/base/gstaggregator.c: * libs/gst/base/gstaggregator.h: aggregator: expose sample selection API See https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/771 for context. This exposes new API that subclasses must call from their aggregate() implementation to signal that they have selected the next samples they will aggregate: gst_aggregator_selected_samples() GstAggregator will emit a new signal there, `samples-selected`, handlers can then look up samples per pad with the newly-added gst_aggregator_peek_next_sample. In addition, a new FIXME is logged when subclasses haven't actually called `selected_samples` from their aggregate() implementation. Part-of: 2020-07-28 10:59:35 +0900 Hosang Lee * gst/gsturi.c: * tests/check/gst/gsturi.c: gsturi: unescape '=' in http query Don't use percent-encoding for '=' in http queries. '=' in the following kind of http query should be maintained. example: ?token=exp=123~acl=/QualityLevels(*~hmac=0cb ... Part-of: 2020-07-24 13:31:47 +0200 Camilo Celis Guzman * libs/gst/base/gstbasetransform.c: * tests/check/libs/test_transform.c: * tests/check/libs/transform1.c: basetransform: handle invalid subclass implementation for fixate_caps Part-of: 2020-07-24 17:53:00 -0400 Olivier Crête * libs/gst/base/gstbaseparse.c: baseparse: Don't push pointless new segment events In 1.0, there is no concept of segment update, so don't push new identical segments. Part-of: 2020-07-24 11:38:28 -0400 Thibault Saunier * libs/gst/base/gstbaseparse.c: baseparse: Fix seqnum handling in pull mode After a seek in pull mode, we should use the seek seqnum for all following operations, not some random seqnums Part-of: 2020-07-26 15:30:26 +0100 Tim-Philipp Müller * libs/gst/check/gstcheck.h: check: suppress g-ir-scanner warnings Make g-ir-scanner skip all those check macros that are not useful for or usable from bindings. gstcheck.h:209: Warning: GstCheck: Unknown namespace for symbol 'fail_unless_message_error' gstcheck.h:212: Warning: GstCheck: Unknown namespace for symbol 'assert_message_error' gstcheck.h:251: Warning: GstCheck: Unknown namespace for symbol 'fail_unless_equals_int' gstcheck.h:267: Warning: GstCheck: Unknown namespace for symbol 'assert_equals_int' gstcheck.h:280: Warning: GstCheck: Unknown namespace for symbol 'fail_unless_equals_int_hex' gstcheck.h:299: Warning: GstCheck: Unknown namespace for symbol 'assert_equals_int_hex' gstcheck.h:310: Warning: GstCheck: Unknown namespace for symbol 'fail_unless_equals_int64' gstcheck.h:327: Warning: GstCheck: Unknown namespace for symbol 'assert_equals_int64' gstcheck.h:340: Warning: GstCheck: Unknown namespace for symbol 'fail_unless_equals_int64_hex' gstcheck.h:358: Warning: GstCheck: Unknown namespace for symbol 'assert_equals_int64_hex' gstcheck.h:369: Warning: GstCheck: Unknown namespace for symbol 'fail_unless_equals_uint64' gstcheck.h:386: Warning: GstCheck: Unknown namespace for symbol 'assert_equals_uint64' gstcheck.h:399: Warning: GstCheck: Unknown namespace for symbol 'fail_unless_equals_uint64_hex' gstcheck.h:417: Warning: GstCheck: Unknown namespace for symbol 'assert_equals_uint64_hex' gstcheck.h:428: Warning: GstCheck: Unknown namespace for symbol 'fail_unless_equals_string' gstcheck.h:444: Warning: GstCheck: Unknown namespace for symbol 'assert_equals_string' gstcheck.h:455: Warning: GstCheck: Unknown namespace for symbol 'fail_unless_equals_float' gstcheck.h:474: Warning: GstCheck: Unknown namespace for symbol 'assert_equals_float' gstcheck.h:487: Warning: GstCheck: Unknown namespace for symbol 'fail_unless_equals_pointer' gstcheck.h:506: Warning: GstCheck: Unknown namespace for symbol 'assert_equals_pointer' gstcheck.h:517: Warning: GstCheck: Unknown namespace for symbol 'fail_unless_equals_clocktime' gstcheck.h:534: Warning: GstCheck: Unknown namespace for symbol 'MAIN_START_THREADS' gstcheck.h:547: Warning: GstCheck: Unknown namespace for symbol 'MAIN_START_THREAD_FUNCTIONS' gstcheck.h:555: Warning: GstCheck: Unknown namespace for symbol 'MAIN_START_THREAD_FUNCTION' gstcheck.h:626: Warning: GstCheck: Unknown namespace for symbol 'ASSERT_CRITICAL' gstcheck.h:628: Warning: GstCheck: Unknown namespace for symbol 'ASSERT_CRITICAL' gstcheck.h:640: Warning: GstCheck: Unknown namespace for symbol 'ASSERT_WARNING' gstcheck.h:652: Warning: GstCheck: Unknown namespace for symbol 'ASSERT_OBJECT_REFCOUNT' gstcheck.h:661: Warning: GstCheck: Unknown namespace for symbol 'ASSERT_OBJECT_REFCOUNT_BETWEEN' gstcheck.h:676: Warning: GstCheck: Unknown namespace for symbol 'ASSERT_CAPS_REFCOUNT' gstcheck.h:679: Warning: GstCheck: Unknown namespace for symbol 'ASSERT_BUFFER_REFCOUNT' gstcheck.h:682: Warning: GstCheck: Unknown namespace for symbol 'ASSERT_MINI_OBJECT_REFCOUNT' gstcheck.h:690: Warning: GstCheck: Unknown namespace for symbol 'ASSERT_SET_STATE' gstcheck.h:729: Warning: GstCheck: Unknown namespace for symbol 'tcase_skip_broken_test' gstcheck.h:740: Warning: GstCheck: Unknown namespace for symbol 'tcase_skip_broken_loop_test' Part-of: 2020-07-26 14:52:30 +0100 Tim-Philipp Müller * gst/gstutils.h: utils: silence g-ir-scanner warnings about float conversion macros 663: Warning: Gst: symbol='GFLOAT_TO_LE': Unknown namespace for symbol 'GFLOAT_TO_LE' 664: Warning: Gst: symbol='GFLOAT_TO_BE': Unknown namespace for symbol 'GFLOAT_TO_BE' 665: Warning: Gst: symbol='GDOUBLE_TO_LE': Unknown namespace for symbol 'GDOUBLE_TO_LE' 666: Warning: Gst: symbol='GDOUBLE_TO_BE': Unknown namespace for symbol 'GDOUBLE_TO_BE' 669: Warning: Gst: symbol='GFLOAT_TO_LE': Unknown namespace for symbol 'GFLOAT_TO_LE' 670: Warning: Gst: symbol='GFLOAT_TO_BE': Unknown namespace for symbol 'GFLOAT_TO_BE' 671: Warning: Gst: symbol='GDOUBLE_TO_LE': Unknown namespace for symbol 'GDOUBLE_TO_LE' 672: Warning: Gst: symbol='GDOUBLE_TO_BE': Unknown namespace for symbol 'GDOUBLE_TO_BE' 678: Warning: Gst: symbol='GFLOAT_FROM_LE': Unknown namespace for symbol 'GFLOAT_FROM_LE' 679: Warning: Gst: symbol='GFLOAT_FROM_BE': Unknown namespace for symbol 'GFLOAT_FROM_BE' 680: Warning: Gst: symbol='GDOUBLE_FROM_LE': Unknown namespace for symbol 'GDOUBLE_FROM_LE' 681: Warning: Gst: symbol='GDOUBLE_FROM_BE': Unknown namespace for symbol 'GDOUBLE_FROM_BE' Part-of: 2020-07-26 14:48:52 +0100 Tim-Philipp Müller * gst/math-compat.h: math-compat.h: silence g-ir-scanner warnings Easier to just make g-ir-scanner skip this header via #ifndef __GI_SCANNER__ than maintain different sets of headers in the meson.build file. Warning: Gst: symbol="rint": Unknown namespace for symbol "rint" Warning: Gst: symbol="rintf": Unknown namespace for symbol "rintf" Warning: Gst: symbol="isnan": Unknown namespace for symbol "isnan" Part-of: 2020-07-26 14:42:39 +0100 Tim-Philipp Müller * gst/gstevent.h: * gst/gstquery.h: event, query: fix g-ir-scanner warnings gstevent.h:72: Warning: Gst: symbol='FLAG': Unknown namespace for symbol 'FLAG' gstquery.h:76: Warning: Gst: symbol='FLAG': Unknown namespace for symbol 'FLAG' Use _FLAG(xyz) instead of FLAG(xyz) to silence g-ir-scanner warnings about this internal helper define. It's also slightly more hygienic. Part-of: 2020-07-24 13:30:39 +0100 Tim-Philipp Müller * gst/gsttracer.c: * gst/gsttracer.h: * gst/gsttracerrecord.c: * gst/gsttracerrecord.h: * gst/gsttracerutils.c: * gst/meson.build: * plugins/tracers/meson.build: * tests/check/meson.build: tracer: declare GstTracer API stable It's been around for more than 4 years and people have built lots of stuff on top of it, doesn't really make sense to keep it marked as unstable. We're unlikely to change it now, and we can always deprecate it and make a new one if needed. This stabilises the following API: - gst_tracer_register() - gst_tracing_get_active_tracers() - gst_tracing_register_hook() - gst_tracer_record_new() - gst_tracer_record_log() Might also help a bit with #424 Part-of: 2020-07-23 14:51:51 +1000 Matthew Waters * libs/gst/check/gstharness.c: harness: unref sink/src caps after deactivating pads Otherwise, access to the harness' sink/src caps is racy between any caps query performed by an element and gst_harness_teardown(). Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/794 Part-of: 2020-07-22 12:44:02 +0200 Jan Alexander Steffens (heftig) * libs/gst/check/libcheck/check.c: * libs/gst/check/libcheck/check.h.in: check: Always mark _ck_assert_failed as noreturn So that we can use `fail` like `g_assert_not_reached`. The comment is apparently wrong or outdated, as GCC considers it legal for noreturn-marked functions to return using longjmp. See the thread at https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/59#note_576422 Part-of: 2020-07-14 12:15:34 +0100 Tim-Philipp Müller * gst/gstbuffer.c: buffer: improve seqnum fallback warning message Print target CPU we're building for. Part-of: 2020-07-14 12:11:57 +0100 Tim-Philipp Müller * gst/gstbuffer.c: buffer: fix meta sequence number fallback on rpi The global seqnum variable wasn't actually increased in the fallback code path, leading to all buffers getting a seqnum of 0. Which also made the unit test fail. This affects platforms/toolchains that don't have 64-bit atomic ops such as when compiling for armv7 rpi. Part-of: 2020-07-09 09:46:07 +0200 Stéphane Cerveau * meson.build: meson: add a plugin summary This summary displays a list of plugins which have been enabled. Part-of: 2020-07-22 10:51:54 +0300 Eero Nurkkala * tools/gst-inspect.c: gst-inspect: fix memory leak With meson configure option: -Db_sanitize=address, the following issue is seen while running the test "tools_gstinspect": Running suite(s): gst-inspect ================================================================= ==20880==ERROR: LeakSanitizer: detected memory leaks Direct leak of 51 byte(s) in 9 object(s) allocated from: #0 0x7ffb4dbb0b40 in __interceptor_malloc (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xdeb40) #1 0x7ffb4cdf1ab8 in g_malloc (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x51ab8) SUMMARY: AddressSanitizer: 51 byte(s) leaked in 9 allocation(s). 0%: Checks: 1, Failures: 0, Errors: 1 GOptionEntry man page states that: "Please note that parsed arguments need to be freed separately (see GOptionEntry)." Thus, free the 'min_version' string that has been allocated but never freed. Signed-off-by: Eero Nurkkala Part-of: 2020-07-20 17:08:32 +1000 Matthew Waters * gst/gstbufferpool.c: gst/bufferpool: only resize in reset when maxsize is larger Only resize the buffer if the maxsize is larger then the configued pool size. Part-of: 2020-07-16 23:03:35 +1000 Matthew Waters * plugins/tracers/meson.build: build/coretracers: add dep on threads Fixes the following build error and missing '-pthread' argument when linking: subprojects/gstreamer/plugins/tracers/libgstcoretracers.so.p/gstleaks.c.o: In function `gst_leaks_tracer_setup_signals': /work/build32/../subprojects/gstreamer/plugins/tracers/gstleaks.c:919: undefined reference to `pthread_atfork' Part-of: 2020-07-14 00:03:18 -0400 Thibault Saunier * libs/gst/controller/gstdirectcontrolbinding.c: * tests/check/libs/controller.c: directcontrolbinding: Properly initialize default `last_value` It was zero and in some condition it means that the control binding values where ignored (as shown in the test). Setting it to MAXDOUBLE so that the first time we sync the values from a a timestamp in the right range the proper value is computed. Part-of: 2020-07-16 18:55:22 +0900 Seungha Yang * gst/gstinfo.c: info: Fix possible broken debug output on Windows Depending on Windows codepage setting, some characters could be broken when printing on terminal. Fortunatly g_print* family will take care Windows codepage. Part-of: 2020-07-16 16:34:05 -0400 Olivier Crête * gst/gstpad.h: pad: More explicitly explain how to post errors on GST_FLOW_ERROR Part-of: 2020-07-15 16:12:02 -0400 Nicolas Dufresne * plugins/tracers/gstlatency.c: latency tracer: Fix leaks in the reported latency trace The stack item was not freed as it was supposed, causing leaks. Part-of: 2019-08-30 23:59:42 +1000 Jan Schmidt * plugins/tracers/gstlatency.c: latency tracer: Fix unsafe and NULL pointer accesses Use thread-safe accesses to pad peers and parent objects. This fixes some crashers and all the non-safe access patterns I could spot. There's still some weirdness when using the latency tracer on pipeline chains that aren't yet linked, but this at least stops it segfaulting. Part-of: 2020-07-13 08:00:15 +0200 Edward Hervey * gst/gstinfo.h: Revert "gstinfo: Check threshold for category from macro" This reverts commit dcece2a878b88335fd1990dbeeb88bdeacba0f06. This increased the code size and number of branches for all debug statements. Fixes #564 Part-of: 2020-07-10 17:11:08 +0200 Mathieu Duponchelle * libs/gst/base/gstaggregator.c: * libs/gst/base/gstaggregator.h: aggregator: expose gst_aggregator_finish_buffer_list API See https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1276 Part-of: 2020-07-06 11:55:38 +0200 Mathieu Duponchelle * tests/check/elements/leaks.c: tests/elements/leaks.c: check get_tracer_by_name return value Part-of: 2020-05-18 19:45:35 +0900 Seungha Yang * libs/gst/base/gstbasesrc.c: basesrc: Deprecate gst_base_src_new_seamless_segment() It can be replaced by gst_base_src_new_segment() Part-of: 2020-05-17 00:08:56 +0900 Seungha Yang * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasesrc.h: basesrc: Add new API for handling GstSegment update by subclass Add API gst_base_src_new_segment() for subclass to be able to signalling new GstSegment which should be applied to following buffers. Part-of: 2020-07-09 07:57:01 -0400 Thibault Saunier * gst/gsttaglist.c: * gst/gsttaglist.h: taglist: Stop inlining gst_tag_list_copy This way it gets exposed to bindings through GObject Introspection. Same logic as with d1b2d3429c66d80b8d38f9afc6a8dfca49f3a71a Part-of: 2020-07-08 05:15:28 +0900 Seungha Yang * libs/gst/check/gstcheck.h: check: Use g_thread_yield instead of g_usleep(1) Since the commit https://gitlab.gnome.org/GNOME/glib/-/commit/01c02ac08b682de622930b1278c9c14d0ffe6c49, g_usleep(1) will be translated to Sleep(1) on Windows which means sleep in 1 millisecond. But GLib provides g_thread_yield() API which is exactly what we required here for thread context switching. Part-of: 2020-01-08 19:38:45 -0500 Olivier Crête * gst/gstdevicemonitor.c: * gst/gstdeviceprovider.c: * tests/check/gst/gstdevice.c: deviceprovider: Do static probe on start as fallback For providers that don't support dynamic probing, just fall back to doing a static one on start() to make the UI developers life easier. This also means that the monitor doesn't need to call _can_monitor() before calling start. Part-of: 2018-05-02 13:05:21 +0200 Christoph Reiter * gst/gstelementfactory.c: gstelementfactory: Fix missing features in case a feature moves to another filename In case a plugin filename was renamed with the plugin being in the registry cache the features were not loaded after the rename: 1) Cache of old/gone filename was loaded, features added 2) New filename was loaded, features where not added because they were already found in the registry. 3) In the end stale cache entries for files which are no longer there are removed, including the wanted features. 4) The cache gets updated without the features. Fix this by also checking at (2) that the found feature is from the loaded plugin and not from some stale cache entry. This affected directsoundsink where libgstdirectsoundsink.dll was renamed to libgstdirectsound.dll, losing the directsoundsink element in the process. Fixes #290 Part-of: 2020-07-04 16:59:23 +0100 Tim-Philipp Müller * meson.build: * scripts/extract-release-date-from-doap-file.py: meson: set release date from .doap file for releases Part-of: 2020-07-05 18:17:48 +0100 Tim-Philipp Müller * po/POTFILES: po: update POTFILES xgettext: error while opening "gst/parse/grammar.y" for reading: No such file or directory Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/586 Part-of: 2020-07-03 11:45:36 +0300 Sebastian Dröge * libs/gst/helpers/meson.build: ptp: Add GNU Hurd to the list of supported platforms and fix the Solaris name https://mesonbuild.com/Reference-tables.html#operating-system-names has the table of all supported names right now. Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/583 Part-of: 2020-07-02 11:21:27 +0300 Sebastian Dröge * gst/gstelement.c: element: When removing a ghost pad also unset its target Otherwise the proxy pad of the ghost pad still stays linked to some element inside the bin, which is not allowed anymore according to the topology. In 2.0 this should be fixed more generically from inside GstGhostPad but currently there is no way to get notified that the ghost pad is unparented. Part-of: 2020-07-03 02:03:15 +0100 Tim-Philipp Müller * meson.build: Back to development === release 1.17.2 === 2020-07-03 00:22:34 +0100 Tim-Philipp Müller * ChangeLog: * NEWS: * RELEASE: * gstreamer.doap: * meson.build: Release 1.17.2 2020-07-01 20:20:16 +0300 Sebastian Dröge * gst/gststreams.c: stream: Don't use GST_FIXME_OBJECT() when generating a random stream id if the caller didn't provide one That would call into gst_info_describe_stream(), which takes the same mutex a second time and then deadlocks. Part-of: 2020-05-11 17:44:43 +0200 Mathieu Duponchelle * gst/gstutils.c: gstutils: fix link in parse_bin_from_description_full doc Part-of: 2020-06-26 00:50:44 +1000 Jan Schmidt * gst/gstbin.h: gstbin: Fix docs typo element-added-deep -> deep-element-added in the GstBin doc header Part-of: 2020-06-25 02:14:56 +0900 Seungha Yang * docs/gst-plugins-doc-cache-generator.py: docs: Specify UTF-8 encoding everywhere Otherwise some non-English character might be broken depending on OS and/or locale. Part-of: 2020-06-25 01:37:43 +0200 Mathieu Duponchelle * hooks/pre-commit.hook: hooks: add opt-in cache update hook CI now checks that plugin caches are up to date, for example when adding a new property to an element. This is something pretty easy to forget, and it can be checked in a pre-commit hook provided the cache generator generates no unnecessart diff on the developer's machine. This is now the case for me in core, -base and -good, and eventually all the repositories should behave appropriately, at least on my development machine. The new check in the pre-commit hook is only performed when the user is in the development environment (it checks $MESON_BUILD_ROOT to determine that), and when the developer has opted-in by setting `GST_CACHE_HOOK=enabled`. That is because the hook will actually rebuild the cache with ninja, and modify it in the source directory, that's not a behaviour we want to enable by default. Part-of: 2020-06-24 22:51:48 +0900 Seungha Yang * tools/gst-inspect.c: gst-inspect: Use gst_info_strdup_vprintf to print string g_vprintf() will write a string binary to stdout directly using fwrite(). So, depending on character in the string, fwrite to stdout can print broken one but printf family might not cause the issue. Part-of: 2020-06-24 07:54:42 +0200 Michael Olbrich * gst/gstbus.c: * tests/check/gst/gstbus.c: bus: clear bus->priv->signal_watch immediately when the source is removed There is a race-condition that can trigger the assertion in gst_bus_add_signal_watch_full(): If gst_bus_add_signal_watch_full() is called immediately after gst_bus_remove_signal_watch() then bus->priv->signal_watch may still be set because gst_bus_source_dispose() or gst_bus_source_finalize() was not yet called. This happens if the corresponding GMainContext has the source queued for dispatch. In this case, the following dispatch will only unref and delete the signal_watch because it was already destroyed. Any pending messages will remain until a new watch is installed. So bus->priv->signal_watch can be cleared immediately when the watch is removed. This avoid the race condition. Part-of: 2020-06-23 01:54:15 +0200 Mathieu Duponchelle * docs/gst-hotdoc-plugins-scanner.c: gst-hotdoc-plugins-scanner: serialize interfaces 2020-06-22 23:41:06 +0200 Mathieu Duponchelle * docs/gst-hotdoc-plugins-scanner.c: gst-hotdoc-plugins-scanner: don't instantiate base classes 2020-06-21 02:00:54 +0200 Mathieu Duponchelle * docs/gst-hotdoc-plugins-scanner.c: gst-hotdoc-plugins-scanner: serialize parents in hierarchy when needed 2020-06-22 09:11:07 -0400 Thibault Saunier * docs/gst-hotdoc-plugins-scanner.c: * docs/meson.build: docs: Document signals and properties only for current type 2020-06-19 22:52:01 -0400 Thibault Saunier * docs/plugins/gst_plugins_cache.json: doc: Stop documenting properties from parents 2020-06-23 05:18:11 +0530 Nirbheek Chauhan * gst/gstregistrychunks.c: registry: Print the pointer when printing features This is what we do everywhere else too, useful for debugging. Part-of: 2020-06-23 03:43:53 +0530 Nirbheek Chauhan * gst/gstregistry.c: registry: Use a toolchain-specific registry file on Windows If we load a plugin registry for MinGW plugins when running with MSVC, we will have to write out the whole cache again, and vice-versa. Just use separate cache files so that the cache is actually useful. Closes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/427 Part-of: 2020-06-22 12:26:46 +0300 Sebastian Dröge * gst/gstghostpad.c: * gst/gstghostpad.h: ghostpad: Deprecate gst_ghost_pad_construct() Instead do everything it did as part of GObject::constructed() and change the function to always return TRUE. gst_ghost_pad_construct() was meant to be called by subclasses right after construction of the object to finish construction as it can fail in theory. In practice it's impossible for it to fail, even more so if called directly from GObject::constructed(): The only failure condition is if the newly created proxy pad already has a parent, which is impossible at this point as nothing else can have a reference to it. Part-of: 2020-05-19 22:54:20 +0200 Thor Andreassen * tools/gst-inspect-1.0.1: * tools/gst-inspect.c: tools: gst-inspect, add option '--color' with short option '-C' Part-of: 2020-06-18 13:46:29 -0400 Thibault Saunier * gst/gstinfo.c: * gst/gstinfo.h: info: Add a printf extension for ClockTime/ClockTimeDiff pointers Using both GST_TIME_FORMAT+GST_TIME_ARGS and friend is cumbersome, this makes it sensibly more user friendly. Part-of: 2020-06-20 00:27:57 +0100 Tim-Philipp Müller * meson.build: Back to development === release 1.17.1 === 2020-06-19 19:13:36 +0100 Tim-Philipp Müller * ChangeLog: * NEWS: * RELEASE: * gstreamer.doap: * meson.build: Release 1.17.1 2020-06-19 11:19:43 -0400 Thibault Saunier * docs/gst-plugins-doc-cache-generator.py: * docs/plugins/gst_plugins_cache.json: doc: Stop recording if building from source/release in plugin cache Closes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/537 Part-of: 2020-06-19 12:01:49 +0300 Sebastian Dröge * gst/gstbuffer.c: * gst/gstdynamictypefactory.c: * gst/gstdynamictypefactory.h: * gst/gstelement.c: * gst/gstparamspecs.h: * gst/gstparse.c: * gst/gststructure.c: * gst/gsttracerfactory.c: * gst/gsttracerrecord.c: * gst/gsttracerrecord.h: * gst/gsttracerutils.c: * libs/gst/base/gstadapter.c: * libs/gst/base/gstaggregator.h: * libs/gst/base/gstbaseparse.c: Fix up and add various "Since" markers and other related docs fixes Part-of: 2020-06-18 15:52:40 +0700 Roman Shpuntov * gst/gstsystemclock.c: systemclock: Fix clock time conversion on Windows/xbox The returned ratio can be bigger than GST_SECOND, in which case we would forever return 0 for the system clock time. Even in other cases if it's close to GST_SECOND it would result in accuracy loss. Instead of doing the division by GST_CLOCK_TIME_NONE during initialization once, do it every time the clock time is requested. Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/575 Part-of: 2020-06-12 15:07:42 +0200 Edward Hervey * gst/gstelement.c: * gst/gsttask.c: gst: Delay creation of threadpools Since glib 2.64, gthreadpool will start waiting on a GCond immediately upon creation. This can cause issues if we fork *before* actually using the threadpool since we will then be signalling that GCond ... from another process and that will never work. Instead, delay creationg of thread pools until the very first time we need them. This introduces a minor (un-noticeable) delay when needing a new thread but fixes the issues for all users of GSTreamer that will call gst_init, then fork and actually start pipelines. See https://gitlab.gnome.org/GNOME/glib/-/issues/2131 for more context. Part-of: 2020-06-07 12:05:07 -0400 Thibault Saunier * plugins/elements/gstinputselector.c: inputselector: Push event on selected pad only when one is selected Calling `gst_input_selector_get_active_sinkpad` triggers sinkpad selection but won't notify about it, leading to breaking code that relying on it. This new code added as part of 63ccf45395ce734a2044a58193939a3eda50eb0c was thought to be triggered only when a pad was already selected and not change the behavior otherwise so this commit makes sure it is actually the case. Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/766 Part-of: 2020-05-27 15:35:41 +0200 Edward Hervey * tests/check/gst/gstdatetime.c: check: Fix datetime unit test for builds without assert If built with assertions disabled, we need to ensure the variable is properly reset before testing Part-of: 2020-06-11 10:56:10 +0900 sohwan.park * tests/check/gst/gstmessage.c: message: Add unit test for GST_MESSAGE_RATE_CHANGE Part-of: 2020-06-11 10:54:54 +0900 sohwan.park * tests/check/gst/gstevent.c: event: Add unit test for INSTANT_RATE_CHANGE and INSTANT_RATE_SYNC_TIME Part-of: 2020-06-11 10:53:59 +0900 sohwan.park * tests/check/gst/gstsegment.c: segment: Add unit test for GST_SEEK_FLAG_INSTANT_RATE_CHANGE Part-of: 2020-06-09 15:06:52 -0400 Thibault Saunier * docs/plugins/gst_plugins_cache.json: docs: Update plugins cache 2020-06-09 15:05:54 -0400 Thibault Saunier * docs/gst-hotdoc-plugins-scanner.c: docs: Fix the way we mark properties mutability When nothing is specified, we should default to NULL, not PLAYING 2020-06-10 11:23:42 +0300 Sebastian Dröge * libs/gst/base/gstaggregator.c: aggregator: Fix StartTimeSelection enum type registration Make it thread-safe and use the actual C identifiers for the "name" field, as otherwise gobject-introspection will fall apart. Part-of: 2020-06-08 10:51:57 -0400 Thibault Saunier * docs/plugins/gst_plugins_cache.json: docs: Update plugins cache 2016-09-01 17:33:13 +1000 Matthew Waters * plugins/tracers/gstleaks.c: tracers/leaks: fix reentrancy issues with the custom signal handlers The signal handlers were performing mutex operations in the signal handlers which is bad idea that may lead to deadlocks. 1. Implement a separate signal thread to handle the signals. 2. Use the glib provided signal GSource to avoid performing operations in the signal handler. Fix #186 Part-of: 2020-06-08 22:47:56 +0200 Havard Graff * gst/gst_private.h: gst_private.h: increse padding in struct _GstClockEntryImpl When compiling for 32bit ios arm, the static assert that the GstClockEntryImpl smaller or equal to the struct _GstClockEntryImpl triggered. (they were 12bytes off). To fix this, the padding is increased by 12 bytes (on 32bit). Part-of: 2020-06-08 16:04:51 +0100 Tim-Philipp Müller * gst/gstparamspecs.h: paramspecs: add 'Since: 1.18' markers for new param spec flags Part-of: 2020-06-07 20:56:49 +0900 Seungha Yang * docs/gst-hotdoc-plugins-scanner.c: doc: Add GstObject specific GParamFlags Document "controllable", "mutable-{ready, paused, playing}" and "conditonally-available" GParamFlags Part-of: 2019-09-11 13:51:04 +0900 Seungha Yang * gst/gstparamspecs.h: * tools/gst-inspect.c: paramspecs: Add a GParamSpecFlag to indicate the property might not always exists Add new flag for users to notice that the property is not guaranteed to exist depending on environment. Part-of: 2020-06-07 18:42:21 +0200 Edward Hervey * tests/check/elements/leaks.c: check: Avoid race with leaks test The problem is that the taskpool might not have completely drained by the time we check for leaks. Instead, ensure all tasks have stopped before testing for valid results. Part-of: 2020-06-04 17:50:01 +0200 Camilo Celis Guzman * plugins/elements/gstqueue.c: queue: protect against lost wakeups for iterm_del condition Part-of: 2020-06-06 10:19:57 +0300 Sebastian Dröge * docs/gst-hotdoc-plugins-scanner.c: docs: Prevent potential NULL pointer dereference when serializing plugin object types CID 1464007 Part-of: 2020-06-06 08:24:01 +0200 Edward Hervey * gst/gstpadtemplate.c: padtemplate: Directly unreference the documentation caps The public-facing API has a (valid) protection against NULL caps. We can just directly remove it. Part-of: 2020-06-06 01:10:09 +0200 Mathieu Duponchelle * gst/gstutils.c: utils: fix markdown link to #GstPluginAPIFlags 2020-06-05 23:28:38 +0200 Mathieu Duponchelle * docs/gst-hotdoc-plugins-scanner.c: * gst/gstpadtemplate.c: * gst/gstpadtemplate.h: padtemplate: expose getters and setters "documentation caps" This can be used in elements where the caps of pad templates are dynamically generated and dependent on the environment. An example is x265enc. 2020-06-05 21:10:29 +0200 Mathieu Duponchelle * docs/gst-hotdoc-plugins-scanner.c: * gst/gstquark.c: * gst/gstquark.h: * gst/gstutils.c: * gst/gstutils.h: * plugins/elements/gstcapsfilter.c: * plugins/elements/gstfakesink.c: * plugins/elements/gstfakesrc.c: * plugins/elements/gstfilesink.c: * plugins/elements/gstinputselector.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstoutputselector.c: * plugins/elements/gstqueue.c: * plugins/elements/gsttee.c: * tests/check/gst/gstutils.c: utils: expose GstPluginAPIFlags These can be passed to gst_type_mark_as_plugin_api, to inform plugin cache generation. For now a single flag is specified, "IGNORE_ENUM_MEMBERS", it can be used for dynamically generated enums to avoid documenting environment-specific enumeration members. An example is GstX265EncTune. 2020-06-01 16:18:50 +0200 Mathieu Duponchelle * plugins/elements/gstclocksync.c: * plugins/elements/gstidentity.c: * tests/check/gst/gstbin.c: identity, clocksync: implement provide_clock Since those are using the clock for sync, they need to also provide a clock for good measure. The reason is that even if downstream elements provide a clock, we don't want to have that clock selected because it might not be running yet. Part-of: 2020-06-02 22:39:41 -0400 Thibault Saunier * gst/gststructure.c: structure: Quickly document serialization format Part-of: 2020-06-03 09:17:32 -0400 Thibault Saunier * gst/gststructure.c: structure: Reflow the SECTION comment Removing trailing whitespaces and avoiding to exceed 80chars Part-of: 2020-05-27 03:41:37 +1000 Jan Schmidt * plugins/elements/gstqueue2.c: queue2: Defer downstream bitrate query to the streaming thread. When we want to perform a downstream bitrate query, just set the reconfigure flag on the srcpad and get the streaming thread to do it. That avoids emitting a downstream query when receiving the upstream RECONFIGURE event - which can lead to deadlocks if downstream is sending the event from within a lock - e.g. input-selector. If querying the downstream bitrate changes the cached value, then make sure to update our buffering state and potentially post a BUFFERING message to the application. Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/566 Part-of: 2020-06-03 08:09:04 +0200 Edward Hervey * plugins/elements/gstinputselector.c: inputselector: Avoid deadlock when requesting pads The deadlock was the following: * One thread requests a new pad, the internal lock is kept while adding the pad * Another thread (or the same one) requests the internal links of a pad (could be that pad)... which also requires that lock. That internal lock is not required when adding the pad to the element (which is the last action when requesting a new pad). The fact it will be actually used will be *after* the request pad function is released. Part-of: 2020-06-04 03:24:50 +0200 Mathieu Duponchelle * gst/gstparamspecs.h: * gst/gstvalue.h: doc: document fundamental types 2020-06-03 18:33:51 -0400 Thibault Saunier * docs/meson.build: doc: Require hotdoc >= 0.11.0 2020-06-02 22:25:24 +0300 Sebastian Dröge * docs/gst-hotdoc-plugins-scanner.c: docs: Don't include GObject and GstPipeline signals They're already documented from elsewhere. 2020-06-02 12:25:00 +0300 Sebastian Dröge * libs/gst/base/gstaggregator.c: * libs/gst/base/gstaggregator.h: aggregator: Export GstAggregatorStartTimeSelection in the header and document it It is used by one of the aggregator properties and was private in the source file before. 2020-05-25 16:21:12 +0300 Sebastian Dröge * docs/plugins/gst_plugins_cache.json: docs: Update gst_plugins_cache.json 2020-05-28 21:51:22 +0300 Sebastian Dröge * plugins/elements/gstcapsfilter.c: * plugins/elements/gstfakesink.c: * plugins/elements/gstfakesrc.c: * plugins/elements/gstfilesink.c: * plugins/elements/gstinputselector.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstoutputselector.c: * plugins/elements/gstqueue.c: * plugins/elements/gsttee.c: plugins: Use gst_type_mark_as_plugin_api() for all non-element plugin types 2020-05-28 23:40:09 +0300 Sebastian Dröge * docs/gst-hotdoc-plugins-scanner.c: docs: Store all non-element types in a separate other-types array And also make sure to not duplicate them. 2020-05-28 22:59:09 +0300 Sebastian Dröge * docs/gst-hotdoc-plugins-scanner.c: docs: Use gst_type_is_plugin_api() for deciding whether a type should be included in the docs 2020-05-28 20:56:14 +0300 Sebastian Dröge * gst/gstquark.c: * gst/gstquark.h: * gst/gstutils.c: * gst/gstutils.h: utils: Add helper function for marking types as plugin API This can be used to mark additional types exposed by plugins (i.e. enums, flags and GObjects) via properties, signals or pad templates as plugin API. They can then be picked up by the documentation for the plugin. Not all types exposed by plugins are documented automatically because they might come from an external library and should be documented from there instead. 2020-05-26 13:06:20 +0300 Sebastian Dröge * docs/gst-hotdoc-plugins-scanner.c: docs: Don't try to print pad templates of non-GstElement types 2020-05-21 17:33:36 +0300 Sebastian Dröge * docs/gst-hotdoc-plugins-scanner.c: * docs/meson.build: docs: Print object/flag/enum type information in a more structured way and in more places Custom types are printed now for signal parameters/return value and properties, and more consistently. Fixes https://gitlab.freedesktop.org/gstreamer/gst-docs/-/issues/59 2020-06-04 11:21:45 +0200 Edward Hervey * plugins/elements/gstqueue2.c: queue2: Avoid races when posting buffering messages When posting a buffering message succesfully: * Remember the *actual* percentage value that was posted * Make sure we only reset the percent_changed variable if the value we just posted is indeed different from the current value Part-of: 2020-05-28 14:56:26 -0400 Thibault Saunier * tests/validate/meson.build: tests:validate: Whitelist validate plugins This is required so we can use validateflow for example Part-of: 2020-05-28 12:39:08 -0400 Thibault Saunier * tests/validate/gst-tester.c: tester: Fix exit code on bailout/skipping Part-of: 2020-05-27 20:22:49 +1000 Matthew Waters * gst/gstpromise.c: promise: update documentation and annotations for NULL replies The implementation and tests already handle NULL replies. Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1300 Part-of: 2020-05-27 12:26:01 +0100 Tim-Philipp Müller * tests/check/elements/leaks.c: tests: leak tracer: disable stack traces for faster test execution This test takes 39 seconds on my machine even though it just runs a couple of fakesrc num-buffers=2 ! fakesink pipelines. Most of the cpu seems to be spent in libz, related to stack trace management. Use stack-traces-flags=none instead of stack-traces-flags=full until a better solution can be found. Might warrant more investigation in any case.. Part-of: 2020-05-20 17:32:48 +0200 Mathieu Duponchelle * plugins/elements/gstqueue2.c: * tests/check/elements/queue2.c: queue2: don't post unnecessary buffering message, refine locking This is a follow up to review comments in !297 + The posting of the buffering message in READY_TO_PAUSED isn't needed, removing it made the test fail, but the correct fix was simply to link elements together + Move code to relock the queue and set last_posted_buffering_percent and percent_changed inside the buffering_post_lock in create_write(). This makes locking consistent with post_buffering() Part-of: 2019-10-04 16:57:29 +0200 Carlos Rafael Giani * plugins/elements/gstqueue2.c: * tests/check/elements/queue2.c: queue2: Fix missing/dropped buffering messages at startup This fixes a bug that occurs when an attempt is made to post a buffering message before the queue2 was assigned a bus. One common situation where this happens is when the use-buffering property is set to TRUE before the queue2 was added to a bin. If the result of gst_element_post_message() is not checked, and the aforementioned situation occurs, then last_posted_buffering_percent and percent_changed will still be updated, as if posting the message succeeded. Later attempts to post again will not do anything because the code then assumes that a message with the same percentage was previously posted successfully and posting again is redundant. Updating these variables only if posting succeed and explicitely posting a buffering message in the READY->PAUSED state change ensure that a buffering message is posted as early as possible. Part-of: 2020-05-25 14:56:10 +0300 Sebastian Dröge * gst/gstsystemclock.c: systemclock: Only try initializing entries if they were not initialized before And add assertions accordingly. Part-of: 2020-05-25 12:51:19 +0300 Sebastian Dröge * gst/gstsystemclock.c: systemclock: Clarify comment that described a previous version of the code Nowadays we are only waking up the head entry waiting if either the head entry is unscheduled (which is handled some lines above already), or when the head entry specifically is woken up because a new entry became the new head entry. We're not waking up *all* entries anymore whenever any entry in the last was unscheduled. Part-of: 2020-05-22 19:28:54 +0300 Sebastian Dröge * gst/gstsystemclock.c: systemclock: Get rid of atomic access to clock entry status and use the mutex instead We already have a mutex in each clock entry anyway and need to make use of that mutex in most cases when the status changes. Removal of the atomic operations and usage of the mutex instead simplifies the code considerably. The only downside is that unscheduling a clock entry might block for the time it needs for the waiting thread to go from checking the status of the entry to actually waiting, which is not a lot of code. Part-of: 2020-05-22 18:12:55 +0300 Sebastian Dröge * gst/gstsystemclock.c: systemclock: Don't start waiting for a clock id if it was signalled before Otherwise it can happen that unscheduling a clock id never takes place and instead it is waiting until the normal timeout. This can happen if the wait thread checks the status and sets it to busy, then the unschedule thread sets it to unscheduled and signals the condition variable, and then the waiting thread starts waiting. As condition variables don't have a state (unlike Windows event objects), we have to remember ourselves in a new boolean flag protected by the entry mutex whether it is currently signalled, and reset this after waiting. Previously this was not a problem because a file descriptor was written to for waking up, and the token was left on the file descriptor until the read from it for waiting. Part-of: 2020-02-15 22:20:18 +0530 dhilshad * plugins/elements/gstsparsefile.c: sparsefile: fix possible crash when seeking In gst_sparse_file_clear function we were closing a file and reopening it using closed file descriptor. Fix: Removed closing and reopening of file. Fixes #512 Part-of: 2017-11-04 13:28:03 +0100 Edward Hervey * gst/gstvalue.c: * tests/check/gst/gstvalue.c: value: Fix comparison of int/int64 ranges ranges are only equal if: * Their bounds are equal * And their step value are equal *IF* they contain more than one value https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/253 2020-05-12 02:05:25 +0200 Mathieu Duponchelle * plugins/elements/gstfdsink.c: fdsink: do not supress legitimate errors when unlocking Instead, only wait_preroll when writev_* returns FLUSHING Part-of: 2020-05-12 00:57:36 +0200 Mathieu Duponchelle * plugins/elements/gstfdsink.c: * plugins/elements/gstfdsink.h: fdsink: remove unused struct member `bytes_written` Part-of: 2020-05-12 00:54:56 +0200 Mathieu Duponchelle * plugins/elements/gstfilesink.c: filesink: port over unlock code from fdsink See also: 5216322d39448ed61c86bb1b3dd9c8c5e6feccf3 The previous code was causing "random" flushing returns in scenarios with intensive state changes such as within a buffering pipeline. Part-of: 2020-05-19 22:24:39 +0300 Sebastian Dröge * docs/gst-hotdoc-plugins-scanner.c: docs: Add boolean field for readability of properties Some properties are write-only. Part-of: 2020-05-19 10:34:01 +0200 Thor Andreassen * tools/gst-inspect-1.0.1: tools: option '-u' occurs twice in gst-inspect-1.0.1 I have removed the erroneous one according to the source file. Part-of: 2020-05-19 14:16:49 -0400 Thibault Saunier * tests/validate/gst-tester.c: tester: Stop using g_file_new_build_filename It was introduced in GLib 2.56 only Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/560 Part-of: 2020-05-04 17:05:07 -0400 Thibault Saunier * tests/meson.build: * tests/validate/gst-tester.c: * tests/validate/meson.build: * tests/validate/simplest.validatetest: * tests/validate/simplest/flow-expectations/log-sink-sink-expected: tests: Add a gst-tester utility gst-tester is a tool to launch `.validatetest` files with TAP[0] compatible output and supporting missing `gst-validate` application which means that it can be cleanly integrated with meson test harness. It allows us to use `gst-validate` to write integration tests in any GStreamer repository keeping them as close as possible to the code. It can simplify a lot test writing and reading and not having to go into another repository to implement or run tests makes it more convenient to use. This also implements a stupid simple test to show how that works [0] https://testanything.org/ Part-of: 2020-05-19 09:30:50 +0000 Stéphane Cerveau * docs/random/moving-plugins: docs: update moving-plugins to use gitlab and meson Part-of: 2020-05-18 10:46:04 +0200 Edward Hervey * gst/gstbin.c: gstbin: Remove mentions of duration caching This was effectively disabled in 1.0 with the intent of maybe re-enabling it. The problem is that caching duration at a bin level doesn't make much sense since there might be queueing/buffering taking place internally and therefore the duration reported might have no correlation to what is actually being outputted. Remove commented code and fixmes, and update documentation Fixes #4 Part-of: 2020-05-15 11:48:07 +0000 Thibault Saunier * plugins/elements/gstinputselector.c: input-selector: Ensure events are forwarded only once per pad The code was prepared to do it but was missing to fill the pushed_pads list. Part-of: 2020-05-14 17:13:05 -0400 Thibault Saunier * plugins/elements/gstinputselector.c: inputselector: Ensure that events are pushed first on active pad Making it less random and fixing a race in a GES test where we have as pipeline: ``` videotestsrc ! output-selector name=s ! input-selector name=i s. ! timecodestamper ! i. ``` which we seek, leading to the seek reaching the video testsrc without going through the timecodestamper and generating a buffer even before timecodestamper gets the seek which means that its internal state is wrong compared to the datastream it gets and attaches wrong timecode metas. Part-of: 2020-05-15 10:38:30 +0300 Sebastian Dröge * docs/gst-hotdoc-plugins-scanner.c: docs: Add list of interfaces implemented by elements to the docs Part-of: 2020-05-13 17:35:01 -0400 Thibault Saunier * libs/gst/helpers/gst_gdb.py: gdb: Print event seqnums, object pointers and structures Part-of: 2020-05-13 17:34:12 -0400 Thibault Saunier * libs/gst/helpers/gst_gdb.py: gdb: Add support for queries and buffers Part-of: 2020-05-13 17:07:43 -0400 Thibault Saunier * plugins/elements/gstinputselector.c: * plugins/elements/gstinputselector.h: inputselector: Never reset active pad set from the user This was leading to interesting races in a GES test. Related to: https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/issues/108 Part-of: 2020-05-14 12:13:07 +0200 Edward Hervey * libs/gst/base/gstbasetransform.c: basetransform: Minor refactoring Move checks related to peerfilter in one place. No impact except for logic. Part-of: 2020-05-14 11:32:39 +0200 Edward Hervey * gst/gstvalue.c: gstvalue: Minor list intersection optimization When matching against the 2nd list, increment the starting position of the inner list iteration. Part-of: 2020-05-07 21:06:18 +0800 Xu Guangxin * gst/gstbufferpool.c: bufferpool: unblock acquire thread when we discard buffer else the acquire thread will wait infinitely. The deadlock showed in prevous unit test commit. This will fix it Part-of: 2020-05-11 18:21:48 +0800 Xu Guangxin * tests/check/gst/gstbufferpool.c: tests: bufferpool: add dead lock test for buffer discard you will see a deadlock after you apply this patch, and run following commandline: GST_STATE_IGNORE_ELEMENTS=1 tests/check/gst_gstbufferpool Part-of: 2020-05-11 22:27:14 -0400 Thibault Saunier * plugins/elements/gstoutputselector.c: * plugins/elements/gstoutputselector.h: output-selector: Drop duplicated seek events When we get a seek event on several source pads, we should drop the duplicated ones as any element that has several srcpads (like demuxers). Part-of: 2020-05-12 05:58:38 +0530 Nirbheek Chauhan * tests/check/meson.build: meson: Pass native: false to add_languages() This is needed for cross-compiling without a build machine compiler available. The option was added in 0.54, but we only need this in Cerbero and it doesn't affect older versions so it should be ok. Will just cause a spurious warning. Part-of: 2020-05-12 16:42:42 -0400 Thibault Saunier * libs/gst/helpers/gst_gdb.py: gdb: Fix iterating GstStructure fields This broke with 1b568fa01fa16885c3a7368551034c206493a41a where we inlined the array Part-of: 2020-05-10 11:37:45 +0300 Sebastian Dröge * docs/plugins/gst_plugins_cache.json: docs: Update gst_plugins_cache.json Part-of: 2020-05-10 11:35:53 +0300 Sebastian Dröge * docs/gst-plugins-doc-cache-generator.py: docs: Output JSON files with UTF-8 encoding Otherwise non-ASCII characters are encoded as \uXXXX. Part-of: 2020-05-08 17:21:20 +0200 Edward Hervey * gst/gstvalue.c: gstvalue: Fix segment (de)serialization By using the proper quarks (stored in the indirection table) and not the *enums* of those entry in the quark table. Part-of: 2020-05-08 08:03:54 +0200 Edward Hervey * tests/check/gst/gsturi.c: check: uri: Check return value CID #1455381 Part-of: 2020-05-08 08:02:12 +0200 Edward Hervey * tests/check/gst/gstvalue.c: check: gstvalue: Check return value As is done everywhere else CID #1455540 Part-of: 2020-05-08 07:43:02 +0200 Edward Hervey * tests/check/libs/gsttestclock.c: check: testclock: Check return values As done everywhere else. CID #1455383 CID #1455524 Part-of: 2020-05-08 07:03:49 +0200 Edward Hervey * tests/check/gst/gstpromise.c: check: gst_promise_reply() takes ownership Copy the structure temporarily to check it further down. CID #1455392 Part-of: 2020-05-08 06:49:45 +0200 Edward Hervey * tests/check/gst/gstprintf.c: check: Don't leak test string Turns out the length returned by `__gst_vasprintf()` doesn't include the final `\0`. CID #1455430 Part-of: 2020-05-07 23:00:13 +0200 Matej Knopp * gst/gsttaglist.c: * tests/check/gst/gsttag.c: taglist: Fix crash when comparing two lists of the same length but with different items Fixes #549 Part-of: 2020-05-07 03:28:59 +1000 Jan Schmidt * tests/check/elements/selector.c: tests/input selector: Fix a shutdown crash Hold a ref to the pad we're planning on sending EOS too, so that it doesn't disappear if things shut down before the thread gets to actually send the EOS event. Part-of: 2020-04-28 22:21:13 -0400 Thibault Saunier * plugins/elements/gstidentity.c: * plugins/elements/gstidentity.h: identity: Handle seeking with single_segment=True Identity was ignoring seek and flush events even when using a single segment. In the end it means that we couldn't compute buffers running-time and stream time after seeks. This commits adds support for flushing seeks only as I have no idea what to do for non flushing ones. Part-of: 2020-04-28 13:28:32 -0400 Thibault Saunier * plugins/elements/gstclocksync.c: * plugins/elements/gstidentity.c: identity,clocksync: Fix timestamping inside single segment in reverse playback In reverse playback, buffers are played back from buffer.stop (buffer.pts + buffer.duration) to buffer.pts running times which mean that we need to use the buffer end running time as a buffer timestsamp, not the buffer pts when using a single segment in reverse playback. This is now being tested in `validate.test.identity.reverse_single_segment` Part-of: 2020-04-23 16:24:15 -0400 Thibault Saunier * libs/gst/base/gstbasesink.c: basesink: Fix clock synchronization running time in reverse playback In reverse playback, buffers have to be displayed at buffer.stop running time, otherwise a same set of buffer can't be displayed in the exact opposite order to forward playback. For example, seeking a video stream at 1fps with start=0, stop=5s, rate=1.0 will display the following buffers: b0.pts = 0s, b0.duration = 1s - at running time = 0s b1.pts = 1s, b1.duration = 1s - at running time = 1s b2.pts = 2s, b2.duration = 1s - at running time = 2s b3.pts = 3s, b3.duration = 1s - at running time = 3s b4.pts = 4s, b4.duration = 1s - at running time = 4s Now, playing that reverse with start=0, stop=5s, rate=1.0 has to display the following buffers: b0.pts = 4s, b0.duration = 1s - at running time = 0s b1.pts = 3s, b1.duration = 1s - at running time = 1s b2.pts = 2s, b2.duration = 1s - at running time = 2s b3.pts = 1s, b3.duration = 1s - at running time = 3s b4.pts = 0s, b4.duration = 1s - at running time = 4s With the previous code, it reproduced the following: b0.pts = 4s, b0.duration = 1s - at running time = 1s b1.pts = 3s, b1.duration = 1s - at running time = 2s b2.pts = 2s, b2.duration = 1s - at running time = 3s b3.pts = 1s, b3.duration = 1s - at running time = 4s b4.pts = 0s, b4.duration = 1s - at running time = 5s This is being tested with the `validate.launch_pipeline.sink.reverse_playback_clock_waits.*` set of tests Part-of: 2020-04-23 16:10:24 -0400 Thibault Saunier * libs/gst/base/gstbasesrc.c: basesrc: Fix the way position is computed in reverse playback In reverse playback, buffers are played back from buffer.stop (buffer.pts + buffer.duration) to buffer.pts, which means that the position after the buffer is consumed is buffer.pts, not buffer.pts - buffer.duration. Without that change, and when `automatic_eos` feature is on, we were dropping the last buffers as marking the stream EOS one buffer too soon. This is now being tested extensively by GstValidate in the `validate.test.clock_sync.*` set of tests. Part-of: 2020-05-02 12:01:49 +0100 Tim-Philipp Müller * pkgconfig/gstreamer-uninstalled.pc.in: * pkgconfig/gstreamer.pc.in: pkgconfig: add pluginscannerdir variable So we can get this in a unified way from installed and uninstalled GStreamer when using pkg-config to set up test environments in other modules. See https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/582 Part-of: 2020-05-06 11:59:15 +0200 Edward Hervey * gst/gsttaglist.c: taglist: Make equality check more uniform Previously this was iterating over taglists with ... string names. Instead use the same technique as `gst_structure_is_equal()` with the additional double check. Part-of: 2020-05-06 10:07:30 +0300 Sebastian Dröge * gst/gstregistrybinary.c: registrybinary: Also call fclose() if fflush()/fsync() failed Otherwise we would be leaking the file in error cases. Part-of: 2020-05-06 09:59:47 +0300 Sebastian Dröge * gst/gstregistrybinary.c: registrybinary: Don't call fclose() more than once We must not retry fclose() on EINTR as POSIX states: After the call to fclose(), any use of stream results in undefined behavior. We ensure above with fflush() and fsync() that everything is written out so chances of running into EINTR are very low. Nonetheless assume that the file can't be safely renamed, we'll just try again on the next opportunity. CID #1462697 Part-of: 2020-05-06 08:04:28 +0200 Edward Hervey * plugins/elements/gstqueue2.c: queue2: Use explicit limit checking When we know we'll only be checking the real limits, use a clearer/simpler macro. CID #1037148 Part-of: 2020-04-15 17:49:37 -0400 Thibault Saunier * gst/gstsegment.h: segment: Enhance the GstSegment structure documentation Part-of: 2020-05-05 13:20:10 -0400 Thibault Saunier * docs/gst-hotdoc-plugins-scanner.c: * docs/plugins/gst_plugins_cache.json: doc: Add signal flags information in the plugin cache Updating the plugin cache file Same behavior as g-ir as the signal flags don't have a GType associated. Part-of: 2020-05-03 18:50:26 +0200 Richard Kreckel * gst/gstregistrybinary.c: registrybinary: Use a FILE* in BinaryRegistryCache... ...instead of a file descriptor so buffered I/O is used when writing the binary cache. This boosts performance at startup, particularly on network filesystems where writes may be quite slow. Fixes gstreamer#545. Part-of: 2020-04-23 14:57:59 +0200 Edward Hervey * gst/gstquark.c: * gst/gstquark.h: * gst/gstvalue.c: gstvalue: Use quark-based structure usage for segment (de)serialization Instead of string-based one. Smaller and faster code Part-of: 2020-04-17 17:14:36 +0200 Edward Hervey * gst/gstvalue.c: value: Handle runtime checks as such The various `g_strdup_printf()` returns values are runtime checks which could be disabled if one wants and therefore should be handled as such with g_return_val_if_fail() Part-of: 2020-05-01 15:15:46 +0200 Edward Hervey * gst/gstvalue.c: gstvalue: Remove useless checks The calling function already checks that the values exists and it's a valid list Part-of: 2020-05-01 14:50:52 +0200 Edward Hervey * gst/gstvalue.c: gstvalue: Use previous assumption The types were already checked for equality just before, not need to check for that again Part-of: 2020-05-01 14:48:37 +0200 Edward Hervey * gst/gstvalue.c: gstvalue: Use comparision functions directly We know the types of values, just use the comparision function directly Part-of: 2020-05-01 14:45:28 +0200 Edward Hervey * gst/gstvalue.c: * gst/gstvalue.h: gstvalue: Minor optimization for checks For value types that aren't subclassable, just check the type directly. For flags, compare against the fundamental type directly instead of going through the more expensive recursive check of `G_TYPE_CHECK_VALUE_TYPE()` Part-of: 2020-03-23 17:03:51 +0100 Edward Hervey * gst/gstvalue.c: gstvalue: Optimize list subset some more Avoid going through the double subtract function when comparing anything to a list. Part-of: 2020-03-23 17:01:20 +0100 Edward Hervey * gst/gstvalue.c: gstvalue: Optimize gst_value_compare_list The compare function only needs to be retrieved once and used directly Part-of: 2020-03-21 13:05:33 +0100 Edward Hervey * gst/gstvalue.c: gstvalue: Avoid temporary allocation The problem is that: * g_value_init will end up allocating an internal list/array * g_value_copy *clears* the existing value by calling the free func and then the copy function (creating it again) To avoid that alloc/free/alloc cycle, directly call the appropriate function Part-of: 2020-03-23 08:20:58 +0100 Edward Hervey * gst/gstcaps.c: gstcaps: Move assignment outside loop s1 and f1 stay the same within the inner loop Part-of: 2020-03-23 08:10:53 +0100 Edward Hervey * gst/gststructure.c: gststructure: inline gst_structure_is_subset() Having direct access to the iteration allows tighter code and also being able to stop earlier. Part-of: 2020-03-23 08:06:26 +0100 Edward Hervey * gst/gststructure.c: gststructure: Inline gst_structure_intersect() Having direct access to the iteration allows tighter code and also being able to stop earlier. Part-of: 2020-05-05 10:47:07 +0200 Edward Hervey * gst/gst_private.h: * gst/gstregistry.c: * gst/gstregistrychunks.c: gstregistry: Directly get list of plugin features Previously this was: * iterating and referencing all plugin features in a GList * *then* filtering out the ones we want * Was doing that filtering by name (i.e. `strcmp`) instead of direct pointer comparision Instead, just create a private direct function to get the list of plugin features Uses 4 times less instructions ... Part-of: 2020-05-04 16:51:19 +0000 Rubén Gonzalez * gst/gstplugin.c: plugin: Fix typo with GStremaer version: ``` has incompatible version (plugin: 1.15, gst: 1,12) ``` Part-of: 2020-05-01 15:03:55 +0200 Edward Hervey * gst/gstvalue.c: gstvalue: No longer store same-type intersection functions in table The intersection function table is a legacy of 2005, when one could register random intersection functions. This is no longer the case. The only place where that table was used was: * `gst_value_can_intersect()`, where it was already only used for identical GType * `gst_value_intersect()`, where the table iteration was insanely expensive Instead this patch: * Only stored intersection functions for *different* types (of which there are only 4) * Make gst_value_intersect directly call the same-type intersection functions and only use the table if ever it doesn't match. Part-of: 2020-05-01 17:27:07 +0200 Edward Hervey * gst/gstpad.c: gstpad: Simplify task name creation This was going through a few locks and doing temporarily allocations for every single task creation.. just to get a name. We don't need to take locks since: * The parent exists (we have a reference to it) * The pad exists (the task belongs to it) * Changing names of pad/elements when activating is a big no-no Instead use the existing direct GST_DEBUG_PAD_NAME macro Part-of: 2020-05-01 17:30:20 +0200 Edward Hervey * gst/gstevent.c: * gst/gstevent.h: * gst/gstpad.c: gstevent: Add function for checking event name by GQuark Avoids doing string<=>quark conversions in the sticky event handling path. Part-of: 2020-04-17 17:12:10 +0200 Edward Hervey * gst/gstcaps.c: caps: Unify common checks for intersections Regardless of the intersect method chosen, migrate the same checks up into the calling function. Same result, just less code. Part-of: 2020-04-15 09:09:22 +0200 Edward Hervey * gst/gstregistry.c: gstregistry: Remove unneeded call _priv_gst_preload_plugins is only filled if option parsing is active. Part-of: 2020-05-01 10:19:08 +0200 Edward Hervey * libs/gst/base/gstbasesrc.c: basesrc: Don't get flow name if not needed Put it in the debug call so it's only called when/if needed Part-of: 2020-04-22 10:26:45 +0300 Sebastian Dröge * plugins/elements/gstclocksync.c: * plugins/elements/gstclocksync.h: * tests/check/elements/clocksync.c: clocksync: Remove handoff signals They're not really useful on this element and were just a leftover from identity. Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/540 Part-of: 2020-05-03 16:11:39 +0300 Sebastian Dröge * libs/gst/base/gstaggregator.c: * libs/gst/base/gstaggregator.h: aggregator: Mark segment parameter as const in gst_aggregator_update_segment() Part-of: 2020-02-24 11:24:16 +0000 Tim-Philipp Müller * tools/gst-stats.c: tools: gst-stats: parse thread-id in windows debug logs properly They don't seem to have the "0x" prefix. Part-of: 2020-05-01 10:07:09 +0300 Sebastian Dröge * gst/gstsystemclock.h: * libs/gst/check/gsttestclock.c: Add missing colons to Since markers in the docs Part-of: 2020-04-28 00:33:22 +0200 Mathieu Duponchelle * plugins/elements/gstmultiqueue.c: multiqueue: fix link-like syntax in doc 2020-04-24 12:47:52 +1000 Matthew Waters * libs/gst/check/gstharness.c: harness: also forward context queries between harnesses Fixes multiple OpenGL contexts being created with a setup like: h = gst_harness_new ("glcolorconvert"); gst_harness_add_src (h, "gltestsrc", FALSE); Part-of: 2020-04-22 12:58:35 -0400 Nicolas Dufresne * libs/gst/base/gstbaseparse.c: baseparse: Always clear drain flag before pulling In pull mode, each pull is unique. A following pull can be well inside the range even if the previous one wasn't. Fix this my moving the drain flag right before the pull. This avoids passing a bad drain flag to parsers, which may endup truncate buffers causing data corruption. Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1275 Part-of: 2020-04-23 15:46:48 +1000 Matthew Waters * pkgconfig/gstreamer-check-uninstalled.pc.in: * pkgconfig/gstreamer-check.pc.in: * pkgconfig/meson.build: build: libcheck may require linking against rt In static linking scenarios, this is required to avoid this error building tests: /work/prefix/lib/libgstcheck-1.0.a(check_run.c.o): In function `tcase_run_tfun_fork': /work/gstreamer/_builddir/../../../src/gstreamer/libs/gst/check/libcheck/check_run.c:476: undefined reference to `timer_create' /work/gstreamer/_builddir/../../../src/gstreamer/libs/gst/check/libcheck/check_run.c:483: undefined reference to `timer_settime' /work/gstreamer/_builddir/../../../src/gstreamer/libs/gst/check/libcheck/check_run.c:493: undefined reference to `timer_delete' /work/prefix/lib/libgstcheck-1.0.a(check.c.o): In function `check_get_clockid': /work/gstreamer/_builddir/../../../src/gstreamer/libs/gst/check/libcheck/check.c:628: undefined reference to `timer_create' /work/gstreamer/_builddir/../../../src/gstreamer/libs/gst/check/libcheck/check.c:629: undefined reference to `timer_delete' Part-of: 2020-04-22 18:59:54 +0200 Juan Navarro * gst/gstcaps.c: gstcaps: fix out of bounds checks These two checks could end up allowing out of bounds array access, when the index equals the array size. Part-of: 2020-04-21 19:33:08 +1000 Matthew Waters * gst/gstvalue.c: Revert "gstvalue: Avoid expensive fallback on intersection" This reverts commit cd751c2de39969ab6187eab12e4e8a85e0467cf7. Reverts https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/406 Fixes glviewconvert negotiation in e.g.: gltestsrc ! glviewconvert output-mode-override=side-by-side ! glstereosplit name=s s.left ! queue ! fakesink s.right ! queue ! glimagesink Problem here is that intersecting flagsets in gst_value_intersect will always find a value comparison function but may fail a direct type comparison due to flagsets supporting derived types. When flagset derived types are intersected, an intersection will therefore always fail. Part-of: 2020-04-22 20:19:23 +0900 Seungha Yang * gst/gstsystemclock.c: systemclock: Fix clock waiting on Windows Add missing parentheses in macro for the divide operation Part-of: 2020-04-21 18:14:00 +0100 Charlie Turner * gst/gstdebugutils.c: debugutils: Skip multiqueue stats in dot dump If this is not done, tools like xdot fail with "unexpected char b'\\'". This is a regression caused by commit 74938f07c2a9b3411716fa7595178942c80e20f4 (multiqueue: Add stats property). The deserialized value coming out of g_object_get_property looks like this, $24 = (gchar *) 0x7f560c0046a0 "application/x-gst-multi-queue-stats, queues=(structure)< \\\"queue_0\\\\,\\\\ buffers\\\\=\\\\(uint\\\\)39\\\\,\\\\ bytes\\\\=\\\\(uint\\\\)8 120251\\\\,\\\\ time\\\\=\\\\(guint64\\\\)1460000000\\\\;\\\", \\\"queue_1\\\\,\\\\ buffers\\\\=\\\\(uint\\\\)186\\\\,\\\\ bytes\\\\=\\\\(uint\\\\)838020\\\\,\\\\ time\\\\=\ \\\(guint64\\\\)1984000002\\\\;\\\" >;" That is immediately looking wrong. I don't know enough about GNOME serialization details to say with confidence what happened here. It gets worse after this is sent through g_strescape and then written to the dot file. Interestingly, dot -Tpng is fine to ignore them it seems. Since the stats are by definition verbose, I decided the best choice to omit them from the dot file, since such details are not of interest there. Part-of: 2020-04-20 16:21:10 +0300 Sebastian Dröge * docs/gst-hotdoc-plugins-scanner.c: * gst/gstbin.c: * gst/gstchildproxy.c: * gst/gstiterator.c: * gst/gstpad.c: * gst/gstpreset.c: * gst/gstregistrychunks.c: * gst/gstsystemclock.c: * gst/parse/grammar.y.in: * libs/gst/base/gstcollectpads.c: * tests/benchmarks/complexity.c: * tests/benchmarks/mass-elements.c: * tests/check/elements/tee.c: * tests/check/gst/gstelement.c: * tests/check/gst/gstelementfactory.c: * tests/check/gst/gstobject.c: * tests/check/gst/gstparamspecs.c: * tests/check/gst/gstsystemclock.c: * tests/check/gst/gsttagsetter.c: * tests/check/gst/gsttocsetter.c: * tests/check/gst/gsttracerrecord.c: * tests/check/pipelines/parse-launch.c: * tests/examples/helloworld/helloworld.c: * tests/examples/netclock/netclock-client.c: * tests/examples/streamiddemux/streamiddemux-stream.c: Use gst_object_unref() / gst_object_clear() instead of the GObject ones To allow the refcounting tracer to work better. In childproxy/iterator these might be plain GObjects but gst_object_unref() also works on them. In other places where it is never GstObject, g_object_unref() is kept. 2020-04-17 11:44:40 +0530 dhilshad * plugins/elements/gstdownloadbuffer.c: downloadbuffer:fix pushing buffer before stream start event downloadbuffer source pad pushes the first buffer before pushing Stream Start and Segment event, when working in Push mode. Fix:Pushing Stream Start and Segment after coming out of wait for data, and before pushing the buffer to next element. Fixes #534 2020-04-17 07:44:55 +0200 Edward Hervey * gst/gstregistrychunks.c: gstregistrychunks: Directly set name on features 2020-04-17 07:44:26 +0200 Edward Hervey * gst/gstobject.c: gstobject: Don't double-notify when setting names If the name is set via the gobject setters, the notificatio will already be emitted. 2020-04-16 11:40:49 +0200 Jan Tojnar * meson.build: build: Install bash-completion relative to datadir Since bash-completion 2.9, it was no longer possible to override the completionsdir through prefix. [1] In 2.10, the overridability was re-estabilished but this time through datadir variable. [2] This should not really matter except for developers installing the project into a custom prefix or distros using per-package prefixes like NixOS. [1]: https://github.com/scop/bash-completion/commit/81ba2c7e7dfbaefbafa1e8615727c9612e5fb314 [2]: https://github.com/scop/bash-completion/pull/344 2020-04-15 20:27:36 +1000 Matthew Waters * gst/gstsystemclock.c: systemclock: introduce a minimum wait time There is not point waiting if the time to wait is less than this platform specific value. The worst case here is GCond usage on windows where the granularity is 1ms. 2020-04-15 17:54:21 +1000 Matthew Waters * gst/gst_private.h: * gst/gstclock.c: * gst/gstsystemclock.c: * meson.build: gst/systemclock: wait on each entry individually Problem: multiple aggregator elements (audiomixer, compositor) in a live pipeline use a lot of CPU waiting each other up. This is because of the previously unused clock entry unscheduling during regular operation. Clock entry unscheduling has the potential to wake up every clock entry waiting using the system clock which may be a large number. Solution: Implement waiting per entry and only wakeup the unscheduled entry. While this may be possible using GCond, theoretically GCond only gives us microsecond accuracy and uses relative waits in a number of places. We can unfortunately do better poking at the platform specifics ourselves by using futexes on linux and pthread on other unix. Windows may have a possible implementation using Waitable timers but that is not implemented here and instead falls back to the GCond implementation. GCond waits on Windows is still as accurate as the previous GstPoll-based implementation. 2020-04-14 15:08:47 +1000 Matthew Waters * gst/gstsystemclock.c: systemclock: log the object name with all debug logs Simplifies correlating logs with clock instances 2020-04-14 14:48:20 +1000 Matthew Waters * gst/gstsystemclock.c: systemclock: move to GCond waiting 2020-04-12 20:33:43 -0400 Thibault Saunier * gst/gstvalue.c: * tests/check/gst/gstvalue.c: value: Fix segfault comparing empty GValueArrays Adding a test 2020-04-08 22:22:48 +0200 Mathieu Duponchelle * gst/gstpipeline.c: pipeline: fix base_time selection when flush seeking live When a live pipeline goes to PLAYING, its change_state method is called twice for PAUSED_TO_PLAYING: the first time is from GstElement, when NO_PREROLL is returned, the second is from GstBin, after all async_done messages have been collected. base_time selection is done only the first time, through comparisons with start_time. On the other hand, when this live pipeline gets flush seeked, even though start_time is reset by the sink upon reception of flush_stop(reset_time=TRUE), PAUSED_TO_PLAYING only occurs once, from GstBin, after all async_done messages have been collected. This causes the base_time to be off by . This commit addresses this by mimicing the behaviour of GstElement on NO_PREROLL, and calling the change_state method manually when the following conditions are met: * The pipeline is live * The target state is PLAYING 2020-04-09 16:38:23 +0300 Vivia Nikolaidou * plugins/elements/gstmultiqueue.c: multiqueue: Add current-level-{buffers, bytes, time} pad properties To get the current buffers/bytes/time levels of the corresponding internal queue 2020-04-09 13:12:22 +0300 Vivia Nikolaidou * plugins/elements/gstmultiqueue.c: multiqueue: Add stats property The returned "stats" structure contains, for now, one array called "queues" with one GstStructure per internal queue, containing said queue's current level of bytes, buffers, and time. 2020-04-08 12:09:10 -0400 Xavier Claessens * meson.build: * meson_options.txt: Meson: Change extra-checks to feature option and make it yielding 2020-04-08 17:53:17 +1000 Jan Schmidt * libs/gst/base/gstbaseparse.c: * tests/check/libs/baseparse.c: baseparse: Don't return more data than asked for in pull_range() Even when pulling a new 64KB buffer from upstream, don't return more data than was asked for in the pull_range() method and then return less later, as that confused subclasses like h264parse. Add a unit test that when a subclass asks for more data, it always receives a larger buffer on the next iteration, never less. Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/530 2020-04-06 18:14:12 +0300 Vivia Nikolaidou * plugins/elements/gstdownloadbuffer.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstqueue2.c: downloadbuffer, multiqueue, queue2: Fix watermark docs It is not explicitly specified anywhere in the docs that 0% buffering is at low-watermark and 100% buffering is at high-watermark. It was specified only in the sources. 2020-04-02 13:45:48 +0300 Sebastian Dröge * gst/gstpad.c: pad: Add a guard against getrange functions not filling a caller-provided buffer It's a programming error to not do so and would cause all kinds of problems in the caller that assumed its own buffer to have been filled. 2020-01-31 11:32:10 -0500 Nicolas Dufresne * gst/gsttask.c: * gst/gsttask.h: * tests/check/gst/gsttask.c: task: Introduce gst_task_resume() API This new API allow resuming a task if it was paused, while leaving it to stopped stated if it was stopped or not started yet. This new API can be useful for callback driver workflow, where you basically want to pause and resume the task when buffers are notified while avoiding the race with a gst_task_stop() coming from another thread. 2020-04-01 15:41:49 +0200 Mathieu Duponchelle * tools/gst-launch.c: gst-launch: go back down to GST_STATE_NULL in one step. Going through each state on the way back down to GST_STATE_NULL can cause deadlocks, for example: gst-launch-1.0 audiotestsrc ! valve drop=true ! autoaudiosink ctrl + C Hangs forever when going to PAUSED, because the "final" state is ASYNC, and the sink blocks waiting for a preroll buffer. Going straight to NULL addresses this issue, and also helps making teardown faster when piping sparse streams to a sync sink. 2020-04-01 02:36:40 +1100 Jan Schmidt * libs/gst/base/gstbaseparse.c: * tests/check/libs/baseparse.c: baseparse: Fix upstream read caching When running in pull mode (for e.g. mp3 reading), baseparse currently reads 64KB from upstream, then mp3parse consumes typically around 417/418 bytes of it. Then on the next loop, it will read a full fresh 64KB again, which is a big waste. Fix the read loop to use the available cache buffer first before going for more data, until the cache drops to < 1KB. Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/518 2020-04-01 02:46:52 +1100 Jan Schmidt * libs/gst/base/gstbaseparse.c: baseparse: Fix typo 2020-03-31 19:05:30 +0900 Seungha Yang * plugins/elements/gstelements_private.c: filesink: Fix for updating the index of memory to write in the next iteration current_buf_mem_idx stands for the index of memory of the corresponding buffer which is scheduled to be written in the next iteration. If all memory objects were scheduled to be written in the current iteration, reset the index to zero so that starting from the first memory object of the next buffer. 2020-03-28 16:20:51 +0900 Seungha Yang * plugins/elements/gstelements_private.c: filesink: Fix crash caused by zero-size memory allocation If size of vector is greater than one, we are allocating zero-size memory and trying invalid memcpy operation 2019-11-22 23:55:56 +1100 Jan Schmidt * gst/gstsegment.c: gstsegment: Refuse instant-rate seeks in gst_segment_do_seek() Elements that pass a seek with INSTANT_RATE flag to gst_segment_do_seek() haven't been updated and we should refuse the seek. 2019-11-22 23:53:59 +1100 Jan Schmidt * libs/gst/base/gstbasesrc.c: basesrc: Check the return value of gst_segment_do_seek() Don't assume that a given seek succeeds - check the return result. 2020-03-20 19:28:37 +0200 Sebastian Dröge * plugins/elements/gstfilesink.c: * plugins/elements/gstfilesink.h: filesink: Add a new full buffer mode to filesink Previously the default and full modes were the same. Now the default mode is like before: it accumulates all buffers in a buffer list until the threshold is reached and then writes them all out, potentially in multiple writes. The new full mode works by always copying memory to a single memory area and writing everything out with a single write once the threshold is reached. 2020-03-20 18:48:52 +0200 Sebastian Dröge * plugins/elements/gstelements_private.c: * plugins/elements/gstelements_private.h: filesink/fdsink: Write 1 iovec directly without copying if there's no writev() support 2020-03-20 18:43:30 +0200 Sebastian Dröge * plugins/elements/gstelements_private.c: * plugins/elements/gstelements_private.h: * plugins/elements/gstfdsink.c: * plugins/elements/gstfilesink.c: fdsink/filesink: Refactor writev() code to prevent stack overflows If buffer lists with too many buffers would be written before, a stack overflow would happen because of memory linear with the number of GstMemory would be allocated on the stack. This could happen for example when filesink is configured with a very big buffer size. Instead now move the buffer and buffer list writing into the helper functions and at most write IOV_MAX memories at once. Anything bigger than that wouldn't be passed to writev() anyway and written differently in the previous code, so this also potentially speeds up writing for these cases. For example the following pipeline would crash with a stackoverflow: gst-launch-1.0 audiotestsrc ! filesink buffer-size=1073741824 location=/dev/null 2020-03-25 20:23:17 +1100 Matthew Waters * libs/gst/base/gstflowcombiner.c: * tests/check/libs/flowcombiner.c: flowcombiner: passthrough the flow return if there are no pads What may happen is that during the course of processing a buffer, all of the pads in a flow combiner may disappear. In this case, we would return NOT_LINKED. Instead return whatever the input flow return was. 2018-04-10 18:09:18 +0200 Jose Antonio Santos Cadenas * gst/gstinfo.h: gstinfo: Check threshold for category from macro This way we can avoid to process parameters if log is not going to be printed. 2020-03-24 15:00:03 +1100 Matthew Waters * docs/gst/running.md: docs/running: be consistent with ordering of full-stops inside `` Everywhere else places the period outside. 2020-03-23 12:28:12 +0100 Jan Alexander Steffens (heftig) * gst/gststructure.c: gststructure: Fix gst_structure_take ownership handling The old code would leave a dangling pointer in oldstr_ptr if two threads attempted to take the same structure into the same location at the same time: 1. First "oldstr == newstr" check (before the loop) fails. 2. Compare-and-exchange fails, due to a second thread completing the same gst_structure_take. 3. Second "oldstr == newstr" check (in the loop) succeeds, loop breaks. 4. "oldstr" check succeeds, old structure gets freed. 5. oldstr_ptr now contains a dangling pointer. This shouldn't happen in code that handles ownership sanely, so check that we don't try to do this and complain loudly. Also simplify the function by using a do-while loop, like gst_mini_object_take. https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/413 2020-03-23 12:36:01 +0100 Jan Alexander Steffens (heftig) * gst/gst_private.h: gstdeviceproviderfactory: Remove volatile from provider storage Avoids a few compiler warnings: ../subprojects/gstreamer/gst/gstdeviceproviderfactory.c: In function ‘gst_device_provider_factory_finalize’: ../subprojects/gstreamer/gst/gstdeviceproviderfactory.c:96:12: warning: assignment discards ‘volatile’ qualifier from pointer target type [-Wdiscarded-qualifiers] 96 | provider = g_atomic_pointer_get (&factory->provider); | ^ ../subprojects/gstreamer/gst/gstdeviceproviderfactory.c: In function ‘gst_device_provider_factory_get’: ../subprojects/gstreamer/gst/gstdeviceproviderfactory.c:276:19: warning: assignment discards ‘volatile’ qualifier from pointer target type [-Wdiscarded-qualifiers] 276 | device_provider = g_atomic_pointer_get (&newfactory->provider); | ^ ../subprojects/gstreamer/gst/gstdeviceproviderfactory.c:309:21: warning: assignment discards ‘volatile’ qualifier from pointer target type [-Wdiscarded-qualifiers] 309 | device_provider = g_atomic_pointer_get (&newfactory->provider); | https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/414 2020-03-22 09:47:35 +0100 Ondřej Hruška * gst/gstdatetime.c: * tests/check/gst/gstdatetime.c: gstdatetime: Add missing NULL check to gst_date_time_new_local_time Also add a unit test for this. Fixes #524 2020-03-20 09:11:02 +0100 Edward Hervey * gst/gstregistrychunks.c: * meson.build: registrychunks: Use strnlen if available When this `_strnlen` internal method was added, strnlen (in glibc) was not available yet (appeared in 2.10 it was released that same year). If available, use the much more optimized strnlen 2020-03-20 16:32:07 +0200 Sebastian Dröge * meson.build: filesink: Check for sys/uio.h so we can actually use writev() 2020-03-19 11:20:14 +0100 Edward Hervey * gst/gstvalue.c: gstvalue: Avoid expensive fallback on intersection The type checks at the end of `gst_value_intersect` to call the flagset intersection are relatively expensive. If we already know that: * There was a compare function but it didn't return GST_VALUE_EQUAL * AND none of the registered intersect functions failed Then we know they can't intersect and can return early. Trims ~20% of the instruction calls 2020-03-18 09:43:27 +0100 Edward Hervey * gst/gstvalue.c: gstvalue: Optimize some list<=>list functions For subtracting a list from another, the previous implementation would do a double subtraction of one from another (which would create temporary arrays/values which would then be discarded). Instead iterate and do the comparision directly. For intersecting a list with another, we can directly iterate both at once and therefore avoid doing a *full* check of all values of the list against all other values of the list. 2020-03-18 09:39:35 +0100 Edward Hervey * gst/gststructure.c: * gst/gstvalue.c: * gst/gstvalue.h: gstvalue: Inline GstValueList/GstValueArray This tries to inline as much as possible array/list and its contents in order to avoid double allocation/freeing. This also improves the locality of data. The internal value is still API/ABI compatible with the *public* GArray structure. This allows READ-ONLY backwards compatibility with any external users that assume that the content of a list/array value is backed by a GArray. 2020-03-03 15:36:26 +0100 Miguel Paris * gst/gstbufferlist.c: * tests/check/gst/gstbufferlist.c: bufferlist: foreach: always remove as parent if buffer is changed In case the buffer is not writable, the parent (the BufferList) is not removed before calling func. So if it is changed, the parent (the BufferList) of the previous buffer should be removed after calling func. 2020-03-18 11:10:13 +0100 Edward Hervey * gst/gstbufferlist.c: bufferlist: Add check for overflow 2020-03-10 18:14:57 +0100 Edward Hervey * gst/gststructure.c: gststructure: Optimize pre-allocation of structures For all the structure creation using valist/varargs we calculate the number of fields we will need to store. This ensures all callers will end up with a single allocation. 2020-03-10 18:13:09 +0100 Edward Hervey * gst/gststructure.c: gststructure: Inline array and contents Instead of having 3 allocations: * One for GstStructure * One for GArray * One for the array *within* GArray We try to limit this to a single allocation, inlining everything. This reduces the number of micro-allocations and improves locality of data access. 2020-03-13 16:41:52 -0300 Thibault Saunier * gst/gstvalue.c: * tests/check/gst/gstvalue.c: value: Handle NULL caps for comparisons Having a NULL caps in a GValue is legal and we should handle it properly for comparisons. 2020-03-13 12:14:08 +0100 Stéphane Cerveau * plugins/elements/gstidentity.c: identity: Fix a minor leak using meta_str 2020-03-11 15:19:45 -0300 Thibault Saunier * gst/gstvalue.c: * tests/check/gst/gstvalue.c: value: Refactor parsing lists to allow trailing comas Before that commit `{test, }` wouldn't be accepted as an array because of the trailing coma, the commit fixes that. At the same time, the code has been refactored to avoid special casing the first element of the list, making `{,}` or `<,>` valid lists. 2020-02-10 18:29:41 +0530 Guillaume Desmottes * gst/gstclock.h: clock: remove documentation link on GTimeVal Looks like it's been removed from glib.devhelp2 on Fedora 31. Fix #508 2020-03-11 22:39:35 +1100 Matthew Waters * libs/gst/base/gstbasetransform.c: basetransform: allow not passthrough if generate_output is implemented This allows an element to not require implementing transform or transform_ip. 2020-03-09 21:32:28 +0200 Sebastian Dröge * plugins/elements/gstclocksync.c: clocksync: Use g_cond_signal() instead of g_cond_broadcast() There can only be a single waiter: on the streaming thread. 2020-03-09 21:31:48 +0200 Sebastian Dröge * plugins/elements/gstidentity.c: identity: Use g_cond_signal() instead of g_cond_broadcast() There can only be a single waiter: on the streaming thread. 2020-03-09 20:27:58 +0200 Sebastian Dröge * plugins/elements/gstidentity.c: identity: Unblock condition variable on FLUSH_START ... and immediately return FLUSHING from the streaming thread instead of waiting potentially forever. Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/516 2020-03-09 15:17:08 +0200 Sebastian Dröge * gst/gstsystemclock.c: systemclock: Don't start the system clock at 0 on Windows We kept the start time around and subtracted it everywhere for "easy of debugging", but we don't do anything like this anywhere else and it only complicates the code unnecessarily. 2020-03-09 15:16:00 +0200 Sebastian Dröge * gst/gstsystemclock.c: systemclock: Don't divide by zero on Windows if high performance timers are not available 2020-03-07 11:09:05 +0200 Sebastian Dröge * gst/gstcaps.c: * tests/check/gst/gstcaps.c: caps: Don't assert in fixate() on EMPTY/ANY caps and document EMPTY/ANY behaviour on more functions fixate() will return empty caps if it gets empty caps passed and assert early if any caps are provided as there's no meaningful way of fixating any caps. truncate() and simplify() will return the input caps in case of any/empty caps as before, but slightly optimized and as documented behaviour. Also add tests for this and a few other operations behaviour on empty/any caps. 2020-03-04 22:13:12 +0100 Mathieu Duponchelle * libs/gst/base/gstaggregator.c: * libs/gst/base/gstaggregator.h: gstaggregator: fix the prototype of sink_event_pre_queue This is not an API breakage, as implementors are already expected to return a GstFlowReturn 2020-03-03 18:49:36 +0900 Seungha Yang * tools/gst-launch.c: gst-launch: Follow up to missing s/g_print/gst_print/g Required to avoid broken log string on Windows but missed in the commit of 493a3261a9757b5ade7aec289eb07221966f9eed 2020-02-29 19:00:44 +0900 Seungha Yang * tests/check/gst/gstinfo.c: tests: info: Fix thread-id pattern matching on Windows The format modifier for thread-id prints hex value without "0x" prefix on Windows. 2020-01-26 00:56:44 +0000 Tim-Philipp Müller * plugins/tracers/gstrusage.c: * plugins/tracers/gstrusage.h: tracers: rusage: use thread-local storage for per-thread stats .. instead of looking things up by thread id from a GHashTable, which also happens to have no locking around insertion/lookup. 2020-01-26 00:32:18 +0000 Tim-Philipp Müller * plugins/tracers/gstrusage.c: tracers: rusage: fix minor string leak in constructor 2019-11-02 11:49:25 +0100 Johan Bjäreholt * tools/gst-stats.c: gst-stats: Fix missing NULL checks gst-inspect-1.0 segfaults on tracing logs where it fails to find element stats. So on the pipelines where we get the following WARNING during execution will afterwards crash with a segfault as the g_ptr_array has a index for it but it is just a NULL pointer. WARN default gst-stats.c:444:do_message_stats: no element stats found for ix=X An example of an pipeline which can reproducibly create a trace log where this occurs would be this GST_DEBUG="GST_TRACER:7" GST_TRACERS="stats;rusage;latency" gst-launch-1.0 videotestsrc num-buffers=120 ! autovideosink &> trace.log gst-stats-1.0 trace.log 2020-02-24 15:24:44 -0500 Olivier Crête * libs/gst/base/gstbasesink.c: basesink: Improve clarity of latency query maths debug message Add the equation to the debug message to make it easier for non-GStreamer experts to understand why their pipeline has latency. 2020-02-26 17:20:04 +0530 Nirbheek Chauhan * tests/misc/netclock-replay.c: tests: Maintain compatibility with GLib 2.48 That's the minimum version of GLib we require right now. Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/514 2020-02-25 04:47:35 +1100 Jan Schmidt * docs/plugins/gst_plugins_cache.json: * plugins/elements/gstclocksync.c: * plugins/elements/gstclocksync.h: * plugins/elements/gstelements.c: * plugins/elements/meson.build: * tests/check/elements/clocksync.c: * tests/check/meson.build: clocksync: Add new clocksync element The clocksync element is a generic element that can be placed in a pipeline to synchronise passing buffers to the clock at that point. This is similar to 'identity sync=true', but because it isn't GstBaseTransform-based, it can process GstBufferLists without breaking them into separate GstBuffers 2020-02-26 22:29:43 +0900 Seungha Yang * tools/gst-inspect.c: gst-inspect: Add define guard for g_log_writer_supports_color() g_log_writer_supports_color() was introduced since GLib 2.50.0 which is slightly higher version than our minimum required GLib version. 2020-02-25 19:13:59 +0530 Nirbheek Chauhan * tests/misc/netclock-replay.c: * tools/gst-stats.c: Don't use glib format modifiers with sscanf or printf We do not have a way to know the format modifiers to use with string functions provided by the system. `G_GUINT64_FORMAT` and other string modifiers only work for glib string formatting functions. We cannot use them for string functions provided by the stdlib. See: https://developer.gnome.org/glib/stable/glib-Basic-Types.html#glib-Basic-Types.description F.ex.: ``` ../tools/gst-stats.c:921:11: error: too many arguments for format [-Werror=format-extra-args] printf ("Number of Buffers passed: %" G_GUINT64_FORMAT "\n", num_buffers); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../tools/gst-stats.c:922:11: error: unknown conversion type character 'l' in format [-Werror=format=] printf ("Number of Events sent: %" G_GUINT64_FORMAT "\n", num_events); ^~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86_64/include/glib-2.0/glib/gtypes.h:32, from /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86_64/include/glib-2.0/glib/galloca.h:32, from /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86_64/include/glib-2.0/glib.h:30, from ../gst/gst.h:27, from ../tools/tools.h:28, from ../tools/gst-stats.c:30: /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86_64/lib/glib-2.0/include/glibconfig.h:69:28: note: format string is defined here #define G_GUINT64_FORMAT "llu" ^ ``` and ``` ../tests/misc/netclock-replay.c: In function 'main': ../tests/misc/netclock-replay.c:98:23: error: unknown conversion type character 'l' in format [-Werror=format=] if (sscanf (line, "%" G_GUINT64_FORMAT " %" G_GUINT64_FORMAT " %" ^~~ In file included from /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86/include/glib-2.0/glib/gtypes.h:32, from /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86/include/glib-2.0/glib/galloca.h:32, from /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86/include/glib-2.0/glib.h:30, from ../tests/misc/../../libs/gst/net/gstntppacket.c:38, from ../tests/misc/netclock-replay.c:31: /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86/lib/glib-2.0/include/glibconfig.h:69:28: note: format string is defined here #define G_GUINT64_FORMAT "llu" ^ ``` This is needed for upgrading glib inside Cerbero which builds with `-Werror` on Windows: https://gitlab.freedesktop.org/gstreamer/cerbero/merge_requests/419 2020-02-19 18:49:07 +0000 Tim-Philipp Müller * gst/gstdebugutils.c: debugutils: skip "parent" property for elements when dumping pipeline graph Seems unnecessary to print the parent name for every element in the pipeline graph, it's clear from the graph what the parent element is and it's hard to imagine a case where this is useful info rather than just distracting spam. So far this was only done for pads, but we should just do it for everything. 2019-12-19 11:28:13 +0100 Matus Gajdos * libs/gst/base/gstbaseparse.c: baseparse: fix memory leak A buffer to be skipped wasn't unref'd in gst_base_parse_chain(). Fixes #406 2020-01-27 14:46:18 -0500 Olivier Crête * plugins/tracers/gstleaks.c: leak tracer: Initialize GValue 2020-02-13 17:53:29 -0300 Thibault Saunier * plugins/tracers/gstleaks.c: leaks: Do not trace refs for object we do not follow When the user sets filters, we should not trace ref counts of object that are not traced. This optimizes the tracer by potentially avoiding generating useless backtraces. 2020-02-10 16:35:06 -0600 Zebediah Figura * libs/gst/base/gstbaseparse.c: baseparse: Set the private duration before posting a duration-changed message Otherwise an application cannot rely on a subsequent call to e.g. gst_pad_query_duration() succeeding. 2020-02-12 12:32:05 +0200 Sebastian Dröge * gst/gstbus.c: bus: Make setting/replacing/clearing the sync handler thread-safe Previously we would use the object lock only for storing the sync handler and its user_data in a local variable, then unlock it and only then call the sync handler. Between unlocking and calling the sync handler it might be unset and the user_data be freed, causing it to be called with a freed pointer. To prevent this add a refcounting wrapper struct around the sync handler, hold the object lock while retrieving it and increasing the reference count and only actually free it once the reference count reaches zero. As a side-effect we can now also allow to actually replace the sync handler. Previously it was only allowed to clear it after initially setting it according to the docs, but the code still allowed to clear it and then set a different one. Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/506 2020-02-13 15:38:15 +0900 Seungha Yang * docs/gst/running.md: docs: Fix bold markdown syntax for GST_DEBUG_NO_COLOR Fixing markdown syntax 2020-01-27 11:58:57 +0000 Henry Wilkes * gst/gstcaps.c: * tests/check/gst/gstcaps.c: caps: keep ANY caps empty internally Keep the ANY caps empty internally when appending and merging caps/structures. Previously, an ANY caps could end up containing internal structures, which could be fetched by the user, and gave the caps a non-zero length. Also, made sure that `gst_caps_set_features_simple` frees the features if caps is empty. 2020-01-21 19:02:48 +0000 Henry Wilkes * gst/gstcaps.c: * tests/check/gst/gstcaps.c: caps: fix is_strictly_equal Fixed gst_caps_is_strictly_equal() to take into account whether either of the caps are ANY caps. Previously, two ANY caps could be considered not strictly equal if one of them still contained some remnant *internal* structure (this can happen if an ANY caps has emerged from an append or merge operation). Also, an ANY caps with no remnant internal structures was considered strictly equal to an EMPTY caps. Similarly, a non-ANY caps was considered strictly equal to an ANY caps if its remnant internal structures happened to match. Also changed gst_caps_is_fixed to take into account that an ANY caps should not be considered fixed even if it contains a single remnant internal fixed structure. This affects gst_caps_is_equal(), which uses a separate method if both caps are fixed. Previously, this meant that a non-ANY fixed caps was considered equal to an ANY caps if it contained a single matching remnant internal structure. Added some tests for these two equality methods, which covers the above examples, as well as asserts existing behaviour. Fixes #496 2020-02-10 12:58:47 +0200 Sebastian Dröge * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstbasetransform.h: basetransform: Make gst_base_transform_reconfigure() public This has the same function as the negotiate() functions in various other base classes and is required to be able to completely re-implement submit_input_buffer() in subclasses. 2020-01-07 17:12:54 -0300 Thibault Saunier * libs/gst/base/gstbaseparse.c: baseparse: Don't set meaningless buffer dts from segment->start When we do not have any information about DTSs we shouldn't try to make them up, moreover after seeking `segment->start` has nothing to do with the next buffer timing (and is probably after the actual buffer timestamp) and since, since https://gitlab.freedesktop.org/gstreamer/gstreamer/commit/fa8312472f08d468677d188d5cf1ad52c5b5b0a0 we do: ``` if (buffer->dts > buffer->dts) buffer->pts = buffer->dts ``` we end up setting `buffer->pts = segment->start` which is plain broken and leads to downstream decoder accept the first buffer as it will be inside the segment (its pts==segment->start) which basically means accurate seeking behaves mostly the same way as keyframe seeks. Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/492 2019-12-27 12:36:10 -0500 Olivier Crête * gst/gstsystemclock.c: * meson.build: systemclock: No need to check for CLOCK_TAI in the meson POSIX defines CLOCK_MONOTONIC to always be a macro, so I think it's safe to assume that CLOCK_TAI will also be. 2019-12-13 11:07:40 -0800 Ederson de Souza * gst/gstsystemclock.c: * gst/gstsystemclock.h: * meson.build: GstSystemClock: Add GST_CLOCK_TYPE_TAI GST_CLOCK_TYPE_TAI is GStreamer abstraction for CLOCK_TAI. Main motivation for this patch is support for transmission offloading features - when network packets are timestamped with the time they are deemed to be actually transmitted. Linux API for that requires that time to be in CLOCK_TAI coordinate. With GST_CLOCK_TYPE_TAI, applications can use CLOCK_TAI directly on their pipelines, avoiding the need to cross timestamp packet times. By leveraging system's CLOCK_TAI, applications also don't need to keep track of leap seconds - less burden for them. Just keep system's CLOCK_TAI accurate and use it. 2020-01-24 23:56:32 +0200 Sebastian Dröge * gst/gstbin.c: bin: Don't consider having a group-id or being STREAM_START if we have not a single STREAM_START message This would cause us to set GST_GROUP_ID_INVALID as group-id in the aggregated STREAM_START message if there are no sinks at all or none of them have a STREAM_START message, which is simply wrong. If we have not a single STREAM_START message then the bin should not be considered STREAM_START. 2020-01-24 17:52:49 +0200 Sebastian Dröge * gst/gstevent.c: * gst/gstmessage.c: event/message: Don't allow setting invalid group ids They are optional on STREAM_START messages/events but if available should have at least a valid value. For STREAM_GROUP_DONE events don't allow creating it with an invalid group id as this does not make any sense. 2020-01-23 19:27:14 +0200 Sebastian Dröge * libs/gst/base/gstaggregator.c: aggregator: Initialize source pad segment position to -1 when resetting This allows start-time selection in gst_aggregator_pad_chain_internal() to actually work as that code assumes it to be -1 for actually overriding the value. Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/500 2020-01-09 20:07:06 +0100 Jan Alexander Steffens (heftig) * gst/gstbin.c: bin: Fix deep-element-removed log message child and bin were switched. https://gitlab.freedesktop.org/gstreamer/gstreamer/merge_requests/354 2019-09-03 17:14:49 -0400 Thibault Saunier * gst/gstmessage.h: docs: Document the new 'redirect-location' error message detail field 2014-12-30 11:48:26 +0100 Stefan Sauer * gst/parse/grammar.y.in: * gst/parse/parse.l: * tests/check/pipelines/parse-launch.c: * tools/gst-launch-1.0.1: parse: add support for presets Add new parse syntax: @preset="" to load presets. Fixes #86 2019-12-26 15:08:09 +0100 Mathieu Duponchelle * tools/gst-launch.c: gst-launch: handle ERROR messages in the sync handler Errors causing the pipeline to fail going from NULL to PAUSED were not displayed, and the pipeline was not dumped either in those cases. In addition, dumping the pipeline from the sync handler means the dump matches exactly the state of the pipeline at the moment the error was posted. 2019-12-22 21:13:00 +0900 Seungha Yang * tools/gst-inspect.c: gst-inspect: Increase array size for printing rank name Now the rank value can be MAX_INT (2147483647) 2019-08-15 20:56:40 +0900 Seungha Yang * docs/gst/running.md: * gst/gst.c: * gst/gst_private.h: * gst/gstpluginfeature.c: pluginfeature: Allow updating initial rank of plugin feature Introducing "GST_PLUGIN_FEATURE_RANK" environment variable in order for users to adjust rank of plugin(s) via environment. A "feature" and "rank" key-value pair should be separable by ":", and each key-value pair is recognized per "," delimiters. The rank can be a numerical value or one of pre-defined rank values such as "NONE", "MARGINAL", "SECONDARY", and "PRIMARY" in case-insensitive manner. In addition to pre-defined { NONE, MARGINAL, SECONDARY, PRIMARY }, "MAX" can be passed to key value used to ensure having a higher rank than other plugin features. Example) - GST_PLUGIN_FEATURE_RANK=qtdemux:256,h264parse:NONE Set rank of qtdemux plugin to 256 (primary) and 0 (none) for h264parse. 2019-08-30 00:23:09 +0530 Nirbheek Chauhan * gst/gstinfo.c: * gst/gstinfo.h: * tests/check/gst/gstinfo.c: gstinfo: Add new API for getting debug log lines If you're using a custom log handler, you had to reverse-engineer the debug log format and create your own format function. Now, you can call `gst_debug_log_get_line()` and it will return a string (without ANSI escape color codes) representation instead. This is useful in situations when you need to log the ordinary gst_debug log to a resource that can't be opened as a `FILE` handle. Also includes a test. 2019-12-20 14:01:02 +0100 Mathieu Duponchelle * tests/check/gst/gstsystemclock.c: tests: remove system-dependent tests We now have GstTestClock-based tests that validate the same logic, without inducing spurious timing failures / overly relying on sleeps. Fixes: #346 Fixes: #347 Fixes: #348 Co-authored by: Thibault Saunier 2019-12-20 10:53:21 -0300 Thibault Saunier * tests/check/libs/gsttestclock.c: tests-clock: Fix race in test_late_crank There was a case where we started waiting on the clock before setting the clock time, leading to the wait succeeding instead of being late: gsttestclock.c:1073:F:testclock:test_late_crank:0: '1 * GST_SECOND' (1000000000) is not equal to 'context.jitter' (-4000000000) Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/426 Co-authored by: Mathieu Duponchelle 2019-11-15 15:49:32 +0100 Niels De Graef * gst/gstbin.c: * gst/gstbin.h: * tests/check/gst/gstbin.c: bin: Add method to find elements by factory name A common use case of a dynamically built pipeline is that you want to (conditionally) find a certain element, e.g. the `rtpbin`s in a `uridecodebin`. If that element has a fixed name inside its parent bin (and only has a single instance) this can be easily done by `gst_bin_get_by_name()`. If there are multiple instances of the element however, you can only use `gst_bin_iterate_all_by_interface()`, but this doesn't work if you don't have the specific `GType` (which is often the case, due to plugins being dynamically loaded). As such, another fallback could be to use the well-known name of the element's factory (in case of our example, this is of course `"rtpbin"`). 2019-12-18 15:57:35 +0100 Stéphane Cerveau * gst/gstevent.c: * libs/gst/net/gstnettimeprovider.c: gstreamer: use of g_value_dup_string Use helper method to get string from GValue. 2019-12-13 18:21:32 +0100 Mathieu Duponchelle * tests/check/pipelines/parse-launch.c: tests: fix pipelines_parse_launch.delayed_link flakiness Fixes #345 There were two causes for the flakiness, one much rarer than the other. The test sets up a source with a sometimes pad added during the transition of a wrapper bin from READY to PAUSED. It runs 4 iterations, the last of which makes it so the negotiation fails. In that case, the intention as correctly presented by the following comment: /* [..] ie, the pipeline should create ok but fail to change state */ However the implementation of run_delayed_test was neither calling get_state on the pipeline (it called it on the wrapper bin), nor checking that the return of get_state was FAILURE (it actually checked that it was not). This led to an obvious race condition, and was fixed by calling get_state on the pipeline, then checking that in this specific case (expect_link == FALSE), the state change has actually failed. The second, rarer race condition is at set_state time. When we don't expect the link to succeed, the return of set_state may either be FAILURE or ASYNC, depending on timing. This was fixed by taking expect_link into account when checking the return value of set_state. Co-authored by: Thibault Saunier 2019-12-12 11:39:56 +0100 Peter Seiderer * gst/gstpluginloader.c: pluginloader: handle fsync interrupted by signal (EINTR) According to [1] EINTR is a possible errno for fsync(), so handle it as all other EINTR (do/while(errno == EINTR)). Signed-off-by: Peter Seiderer 2019-12-12 11:37:56 +0100 Peter Seiderer * gst/gstregistrybinary.c: registry: handle fsync interrupted by signal (EINTR) According to [1] EINTR is a possible errno for fsync(), so handle it as all other EINTR (do/while(errno == EINTR)). Signed-off-by: Peter Seiderer 2019-12-12 11:07:07 +0100 Peter Seiderer * plugins/elements/gstfilesink.c: filesink: handle fsync interrupted by signal (EINTR) According to [1] EINTR is a possible errno for fsync() and it happens in reality on linux (video writing via splitmuxsink with robust muxing enabled on a cifs mounted network share), so handle it as all other EINTR (do/while(errno == EINTR)). Fixes: GError.message: Error while writing to file "vidoe_001.mp4". GError.domain: 2372 GError.code: 10 from: FileSink debug: gstfilesink.c(849): gst_file_sink_render (): /GstPipeline:Pipeline/GstSplitMuxSink:SplitMuxSink/GstBin:QueueBin/GstFileSink:FileSink: Interrupted system call Signed-off-by: Peter Seiderer 2019-12-10 17:06:02 -0500 Olivier Crête * gst/gstsystemclock.c: * libs/gst/base/gstcollectpads.c: * tests/check/elements/tee.c: Remove deprecated GTimeVal GTimeVal won't work past 2038 2019-12-10 13:31:50 +0100 Mathieu Duponchelle * gst/gstdevice.c: * gst/gstelementfactory.c: device, elementfactory: relax floating requirement Using g_assert() is a bit too extreme, as it will abort the whole program unless G_DISABLE_ASSERTS is true. Switch to g_critical() 2019-12-10 09:42:37 +0100 Mathieu Duponchelle * libs/gst/check/gstcheck.c: gstcheck: remove bogus refcount asserts As soon as gstcheck potentially calls out to code it does not control, such as gst_element_request_pad, all assertions about pad refcounts go out the window. 2019-12-06 11:40:44 +0100 Mathieu Duponchelle * libs/gst/base/gstaggregator.c: aggregator: fix logging in new update_segment API 2019-12-05 13:44:33 +0100 Mathieu Duponchelle * libs/gst/base/gstaggregator.c: * libs/gst/base/gstaggregator.h: aggregator: add method to update srcpad segment 2019-12-05 09:54:32 +0200 Sebastian Dröge * gst/gstbus.c: bus: Clean up #ifdefs to compile with debugging enabled in all combinations Thanks to Roland Jon for finding this. 2019-12-04 20:12:02 +0100 Mathieu Duponchelle * gst/gstdevice.c: * gst/gstelementfactory.c: device, elementfactory: don't enforce floating status The reference we receive when calling g_object_new should be floating, but we can't force it at our level. Switch from g_object_force_floating() to a simple assertion. See https://gitlab.freedesktop.org/gstreamer/gst-python/issues/27 2019-06-19 13:45:54 +0200 Tulio Beloqui * libs/gst/check/gsttestclock.c: * libs/gst/check/gsttestclock.h: testclock: added single clock id process function Co-authored-by: Havard Graff 2019-10-21 17:56:14 +0300 Sebastian Dröge * gst/gstbus.c: bus: Use new GSource dispose function Without this it is possible that we have a GSource with reference count 0 stored in the GstBus that is currently in the process of being destroyed. gst_bus_remove_watch() might then access it, increase its reference count to 1 again, call GSource API on it and then unref it, which will then finalize it a second time. The dispose function allows the GSource to be resurrected until it returned so the above would be safe now. This caused some spurious crashes during shutdown in various applications. 2019-12-03 15:40:59 -0500 Xavier Claessens * meson_options.txt: * plugins/meson.build: * plugins/tracers/meson.build: Meson: Add 'coretracers' feature option This was the only plugin still built when using -Dauto_features=disabled, besides coreelements. 2019-12-03 11:23:01 +0000 Håvard Graff * libs/gst/check/gstharness.c: gstharness: don't push the event to the queue before processing The application might pull and unref it by the time the code gets around to check it for EOS. 2019-11-28 13:09:45 +0200 Vivia Nikolaidou * libs/gst/base/gstbaseparse.c: baseparse: Don't copy invalid DTS to the PTS We were checking to make sure the buffer's DTS wouldn't be after its PTS. However, the check would also trigger when DTS is NONE, which is e.g. in the case of some broken cameras. Fixes #470 2019-11-27 15:47:32 +0100 Edward Hervey * plugins/tracers/gstlatency.c: tracers: Don't leak temporary GstStructure CID: 1455462 2018-11-21 16:14:58 +0100 Edward Hervey * gst/gstbuffer.c: GstBuffer: size-related optimization Avoid calling generic function when it's possible to directly return/get sizes 2018-11-21 16:13:48 +0100 Edward Hervey * gst/gstbuffer.c: GstBuffer: Inline fast-path for merged memory 2019-11-27 09:41:36 +0000 Tim-Philipp Müller * gst/gstparse.c: docs: mention gst_parse_bin_from_description() in gst_parse_launch() docs 2019-11-22 16:04:20 +0100 Linus Svensson * gst/gstdatetime.c: * gst/gstdatetime.h: * tests/check/gst/gstdatetime.c: datetime: Add constructor for timestamps in microseconds 2019-10-11 17:33:42 +0300 Vivia Nikolaidou * libs/gst/base/gstbaseparse.c: baseparse: Make sure PTS >= DTS If, for example, we are accumulating rounding errors from the buffer duration when calculating the PTS/DTS, it can happen that the buffer thinks it should be presented before it's decoded. In that case we just clamp the DTS. 2019-11-18 00:15:31 +0000 Stéphane Cerveau * gst/gstbuffer.h: gstbuffer: update documentation remove unclear documentation about GST_BUFFER_FLAG_MARKER 2019-11-12 11:24:45 +0900 Seungha Yang * tools/gst-launch-1.0.1: * tools/gst-launch.c: gst-launch: Disable printing current position by default when stdout is not a tty ... and add new option to force-enable printing position even if stdout is not a tty. 2019-11-03 12:55:13 +0100 Havard Graff * gst/gststructure.c: * gst/gststructure.h: structure: add gst_structure_take (╯°□°)╯︵ ┻━┻ 2019-08-20 13:57:09 +0200 Tulio Beloqui * libs/gst/check/gstharness.c: * tests/check/libs/gstharness.c: harness: fixed race condition on forward pad while forwarding sticky events to sink harness Co-authored-by: Camilo Celis Co-authored-by: Havard Graff 2019-11-12 19:15:34 -0300 Thibault Saunier * docs/gst-hotdoc-plugins-scanner.c: hotdoc: Add missing json escaping Fixes https://gitlab.freedesktop.org/gstreamer/gst-docs/issues/50 2019-11-12 15:19:28 +0900 Wonchul Lee * gst/gstevent.h: event: Fix gir warning It fixes below gir warnings. ../subprojects/gstreamer/gst/gstevent.c:2246: Warning: Gst: gst_event_new_instant_rate_sync_time: unknown parameter 'rate_multiplier' in documentation comment, should be 'rate' ../subprojects/gstreamer/gst/gstevent.c:2296: Warning: Gst: gst_event_parse_instant_rate_sync_time: unknown parameter 'rate_multiplier' in documentation comment, should be 'rate' 2019-08-26 12:48:28 +0200 Víctor Manuel Jáquez Leal * gst/parse/grammar.y.in: * gst/parse/meson.build: gst/parse: define pure-parser depending on bison version After release bison 2.5 the declaration %pure-parser was deprecated in favor of %define api.pure Nonetheless, until bison 3.4, the declaration was treated as backward compatibility, but now bison shows a warning: warning: deprecated directive, use ‘%define api.pure’ The patch's approach is to handle both directives according with the used bison's version, by string replacement at source configuration stage. 2019-02-21 13:29:31 +0100 Nayana Topolsky * gst/gstpad.c: pad: clear sticky event tag upon stream-start When playing gapless there were situations when some sticky events like tags were stuck at some pad and then revived much later. Therefore it is better to clear them upon stream-start. Fixes #360 2019-05-30 22:29:23 +0900 Seungha Yang * gst/gsttaglist.h: taglist: Fix broken empty set character in code Previous one was not a valid ASCII empty set character. 'tig' and 'git log -p' couldn't represent it as expected. 2019-05-30 20:53:34 +0900 Seungha Yang * tools/gst-launch-1.0.1: * tools/gst-launch.c: gst-launch: Add support printing current position of pipeline By default, gst-launch will print the current position of pipeline (with duration if available). To disable it, use "--no-position" option. 2019-05-29 20:22:54 +0900 Seungha Yang * tools/gst-launch.c: gst-launch: Port to the direct use of GMainLoop ... instead of custom event loop. This can make it easy to use GMainLoop related APIs in code. 2019-05-29 20:24:06 +0900 Seungha Yang * tools/gst-launch.c: gst-launch: Remove meaningless global variable 2019-02-07 23:59:51 +1100 Jan Schmidt * gst/gstpipeline.c: pipeline: Instant rate change handling Implement aggregation of INSTANT_RATE_REQUEST messages and sending of INSTANT_RATE_SYNC_TIME events. 2018-05-15 18:42:25 +0300 Sebastian Dröge * libs/gst/base/gstbasesink.c: basesink: Add support for instant-rate-change events Post instant-rate-request message when receiving an instant-rate-change event, and handle the incoming instant-rate-sync-time events from the pipeline. 2018-05-14 23:14:24 +0300 Sebastian Dröge * gst/gstevent.c: * gst/gstevent.h: * gst/gstmessage.c: * gst/gstmessage.h: * gst/gstquark.c: * gst/gstquark.h: event/message: Add new instant-rate-sync-time event and instant-rate-request message 2018-05-09 15:28:13 +0300 Sebastian Dröge * gst/gstevent.c: * gst/gstevent.h: * gst/gstquark.c: * gst/gstquark.h: * gst/gstsegment.h: event: Add new GST_EVENT_INSTANT_RATE_CHANGE and GST_SEEK_FLAGS_INSTANT_RATE_CHANGE A seek with that flag set must be non-flushing, not change the playback direction and start/stop position. A seek handler will then send the new GST_EVENT_INSTANT_RATE_CHANGE event downstream for downstream elements to immediately apply the new playback rate before the new in-band segment event arrives. 2019-11-02 15:06:28 +0100 Víctor Manuel Jáquez Leal * gst/gstelementfactory.c: * gst/gstelementfactory.h: elementfactory: add GST_ELEMENT_FACTORY_TYPE_HARDWARE This new symbol matches with the elements within "Hardware" class. 2019-10-31 11:06:48 +0100 Niels De Graef * plugins/elements/gstqueue2.c: queue2: Use g_object_notify_by_pspec `g_object_notify()` actually takes a global lock to look up the `GParamSpec` that corresponds to the given property name. It's not a huge performance hit, but it's easily avoidable by using the `_by_pspec()` variant. 2019-10-25 01:41:27 +0300 Sebastian Dröge * plugins/elements/gsttee.c: tee: First deactivate the pad and then remove it when releasing pads This reverts a96002bb28c21b30fb9338a4620ad20504c70aa5, which is not necessary anymore. If we release the pad after removing it then none of the deactivation code will actually be called because the pad has no parent anymore, and we require a parent on the pad for deactivation to happen. This can then, among other things, cause a streaming thread to be still stuck in a pad probe because the pad was never flushed, and waiting there forever because now the pad will actually never be flushed anymore. 2019-10-25 01:39:50 +0300 Sebastian Dröge * plugins/elements/gsttee.c: tee: Check for the removed pad flag also in the slow pushing path If a pad is currently being released we don't want to forward the FLUSHING flow return but instead consider it as NOT_LINKED. FLUSHING would also cause upstream to be FLUSHING. This part was missed in a3c4a3201a705eb1934ceeea34d1ca42d4571c07 and resulted in a different (and wrong) workaround in a96002bb28c21b30fb9338a4620ad20504c70aa5. 2019-10-25 01:39:05 +0300 Sebastian Dröge * plugins/elements/gsttee.c: tee: Lock mutex before reading the removed flag of the pads Otherwise we're not guaranteed to read the very latest value that another thread might've written in there when the pad was released, and could instead work with an old value. 2019-09-30 11:34:51 +0300 Sebastian Dröge * gst/gstbin.c: bin: Drop need-context messages without source instead of crashing 2019-10-17 12:13:35 +0100 Tim-Philipp Müller * meson.build: meson: build gir even when cross-compiling if introspection was enabled explicitly This can be made to work in certain circumstances when cross-compiling, so default to not building g-i stuff when cross-compiling, but allow it if introspection was enabled explicitly via -Dintrospection=enabled. Fixes #454 and #381. 2019-06-09 01:34:04 +0100 Tim-Philipp Müller * .gitignore: * .gitmodules: * Makefile.am: * README: * TODO: * autogen.sh: * common: * configure.ac: * data/Makefile.am: * data/bash-completion/helpers/.gitignore: * docs/.gitignore: * docs/plugins/.gitignore: * docs/random/.gitignore: * docs/random/autotools: * docs/random/omega/testing/.gitignore: * gst/.gitignore: * gst/Makefile.am: * gst/parse/.gitignore: * gst/parse/Makefile.am: * gst/printf/Makefile.am: * libs/Makefile.am: * libs/gst/Makefile.am: * libs/gst/base/.gitignore: * libs/gst/base/Makefile.am: * libs/gst/check/.gitignore: * libs/gst/check/Makefile.am: * libs/gst/check/libcheck/Makefile.am: * libs/gst/controller/.gitignore: * libs/gst/controller/Makefile.am: * libs/gst/helpers/.gitignore: * libs/gst/helpers/Makefile.am: * libs/gst/net/.gitignore: * libs/gst/net/Makefile.am: * m4/.gitignore: * m4/Makefile.am: * m4/check-checks.m4: * pkgconfig/.gitignore: * pkgconfig/Makefile.am: * plugins/Makefile.am: * plugins/elements/.gitignore: * plugins/elements/Makefile.am: * plugins/tracers/.gitignore: * plugins/tracers/Makefile.am: * po/.gitignore: * po/Makevars: * po/POTFILES: * po/README: * po/remove-potcdate.sin: * scripts/create-uninstalled-setup.sh: * scripts/five-bugs-a-day.pl: * scripts/git-update.sh: * scripts/gst-uninstalled: * stamp.h.in: * tests/.gitignore: * tests/Makefile.am: * tests/benchmarks/.gitignore: * tests/benchmarks/Makefile.am: * tests/check/.gitignore: * tests/check/Makefile.am: * tests/check/elements/.gitignore: * tests/check/generic/.gitignore: * tests/check/gst/.gitignore: * tests/check/libs/.gitignore: * tests/check/pipelines/.gitignore: * tests/examples/Makefile.am: * tests/examples/adapter/.gitignore: * tests/examples/adapter/Makefile.am: * tests/examples/controller/.gitignore: * tests/examples/controller/Makefile.am: * tests/examples/helloworld/.gitignore: * tests/examples/helloworld/Makefile.am: * tests/examples/memory/.gitignore: * tests/examples/memory/Makefile.am: * tests/examples/netclock/.gitignore: * tests/examples/netclock/Makefile.am: * tests/examples/ptp/.gitignore: * tests/examples/ptp/Makefile.am: * tests/examples/stepping/.gitignore: * tests/examples/stepping/Makefile.am: * tests/examples/streamiddemux/Makefile.am: * tests/examples/streams/.gitignore: * tests/examples/streams/Makefile.am: * tests/misc/Makefile.am: * tools/.gitignore: * tools/Makefile.am: Remove autotools build system 2019-10-10 15:53:16 +0200 Edward Hervey * gst/gstbus.c: * tests/check/gst/gstdatetime.c: * tests/check/gst/gstevent.c: core: Avoid usage of deprecated API GTimeval and related functions are now deprecated in glib. Replacement APIs have been present since 2.26 2019-09-23 11:19:07 -0400 Xavier Claessens * libs/gst/check/gstcheck.c: Check buffer size before checking buffer data If the expected size is bigger than the actual buffer size, it would memcmp random memory which could lead to crashes instead of proper error reporting. 2019-09-24 10:09:08 -0400 Xavier Claessens * plugins/elements/gstdataurisrc.c: * tests/check/elements/dataurisrc.c: dataurisrc: Do not include trailing `\0` into buffer 2019-09-24 10:06:51 -0400 Xavier Claessens * libs/gst/check/gstharness.c: * libs/gst/check/gstharness.h: harness: Add gst_harness_pull_until_eos() 2019-10-06 11:12:11 -0400 Aaron Boxer * NEWS: * docs/README: * docs/random/TODO-pre-0.9: * docs/random/ensonic/dynlink.txt: * docs/random/ensonic/interfaces.txt: * docs/random/eos: * docs/random/interfaces: * docs/random/phonon-gst: * docs/random/rtp: * docs/random/status-0.11-14-jun-2011.txt: * docs/random/types3: * docs/random/wtay/autoplug2: * docs/random/wtay/eos-19012001: * docs/random/wtay/eos2: * docs/random/wtay/eos4: * docs/random/wtay/negotiation3: * docs/random/wtay/network-transp: * docs/random/wtay/pipelineinfo: * docs/random/wtay/porting-list-0.11.txt: * docs/random/wtay/scheduling_ideas: * gst/gstcontrolbinding.c: * gst/gstdatetime.c: * gst/gstdevicemonitor.c: * gst/gstdeviceprovider.c: * libs/gst/base/gstbitwriter.c: * libs/gst/base/gstindex.c: * libs/gst/check/gstcheck.c: * libs/gst/check/libcheck/check_pack.c: * libs/gst/helpers/gst_gdb.py: * plugins/elements/gstmultiqueue.c: * tests/check/elements/queue.c: * tests/check/gst/gstcontroller.c: * tests/check/gst/gstghostpad.c: * tests/check/libs/collectpads.c: * tests/check/pipelines/parse-launch.c: documentation: fix a number of typos 2019-10-04 20:01:46 +0300 Jordan Petridis * libs/gst/controller/gstdirectcontrolbinding.c: gstdirectcontrolbinding: Fix integer comparison i is declared as gint but then compared against `n_values` guint in the for loop below. 2019-09-30 11:49:35 +0300 Sebastian Dröge * gst/gstbuffer.c: * gst/gstcaps.c: gst: Don't pass miniobjects to GST_DEBUG_OBJECT() and similar macros The argument must be at least a GObject according to the GstLogFunction definition, and while the default C log function handles miniobjects just fine this is crashing bindings and user-supplied log functions that (rightfully) don't expect anything but GObjects. 2019-09-07 04:36:18 +0200 Mathieu Duponchelle * gst/gstvalue.c: * tests/check/gst/gstvalue.c: gstvalue: use value_nick for serialization not value_name . This was causing incorrect launch lines to be displayed by gst-device-monitor, and the deserialization code below works with nicks. 2019-09-10 00:28:45 +0200 Mathieu Duponchelle * gst/gstdeviceprovider.c: deviceprovider: set the bus to non-flushing before calling klass->start Not posting DEVICE_ADDED messages while a device provider is being started makes things awkward for applications, as they have to call get_devices() after starting the monitor. This requires redundant code on the application side, and as far as I understand also could cause race conditions, when a device gets added between the calls to gst_device_monitor_start() and gst_device_monitor_get_devices(), causing the application to "see" the same device twice. 2019-09-12 10:09:18 +0300 Sebastian Dröge * gst/gstelementfactory.c: element: Enforce that elements created by gst_element_factory_create/make() are floating Bindings might have a hard time making sure that the reference is indeed still floating after returning here. See https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/444 2019-09-12 10:08:39 +0300 Sebastian Dröge * gst/gstdevice.c: device: Enforce that elements created by gst_device_create_element() are floating Bindings might have a hard time making sure that the reference is indeed still floating after returning here. See https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/444 2019-09-12 10:03:08 +0300 Sebastian Dröge * gst/gstdevice.c: device: gst_device_create_element() is `transfer floating`, not `transfer full` Fixing the annotation fixes leaking of the created element in all bindings using GObject-Introspection. Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/444 2019-09-10 12:31:40 +0200 Sebastiano Barrera * libs/gst/base/gstbasesink.h: * libs/gst/base/gstbasesrc.h: base: GstBaseSrc/GstBaseSink::get_caps: add (nullable) to `filter` The virtual method named `get_caps` in both `GstBaseSrc` and `GstBaseSink` has a `filter` parameter which can be `NULL` (the default implementation in GstBaseSrc already considers the case). Before this commit, there was no gtk-doc annotation representing this fact, which caused the corresponding entry in the GIR file to also miss this fact. This caused bugs in other places, such inducing the Vala compiler to introduce a wrongly assert on `(filter != NULL)` in every implementation of the `get_caps` method implemented in Vala. 2019-08-26 07:34:30 +0200 Niels De Graef * gst/gstbin.c: * gst/gstbus.c: * gst/gstchildproxy.c: * gst/gstclock.c: * gst/gstdeviceprovider.c: * gst/gstelement.c: * gst/gstobject.c: * gst/gstpad.c: * gst/gstpadtemplate.c: * gst/gstregistry.c: * gst/gststreamcollection.c: * libs/gst/base/gstaggregator.c: * libs/gst/base/gstdataqueue.c: * libs/gst/base/gstindex.c: * libs/gst/controller/gsttimedvaluecontrolsource.c: * plugins/elements/gstfakesink.c: * plugins/elements/gstfakesrc.c: * plugins/elements/gstidentity.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstqueue.c: * plugins/elements/gsttypefindelement.c: Don't pass default GLib marshallers for signals By passing NULL to `g_signal_new` instead of a marshaller, GLib will actually internally optimize the signal (if the marshaller is available in GLib itself) by also setting the valist marshaller. This makes the signal emission a bit more performant than the regular marshalling, which still needs to box into `GValue` and call libffi in case of a generic marshaller. Note that for custom marshallers, one would use `g_signal_set_va_marshaller()` with the valist marshaller instead. 2019-09-07 12:32:40 +0100 Jim Mason * plugins/elements/gstelements_private.c: consolidated IOV_MAX/UIO_MAXIOV handling per GLib + legacy behaviour for osx/ios 2019-09-06 19:23:01 +0100 Jim Mason * plugins/elements/gstelements_private.c: gst_writev: respect IOV_MAX for the writev iovec array #439 2019-09-04 16:59:58 +0300 Vivia Nikolaidou * gst/gstpad.c: * gst/gstpad.h: pad: Added gst_pad_get_single_internal_link gst_pad_iterate_internal_links is usually used to find a single internal link that a pad has, e.g. to find the corresponding pad of a multiqueue. Added a helper function that will return either a single internal link, if there's no other, or NULL. 2019-09-03 10:38:13 +0200 David Svensson Fors * gst/gstminiobject.c: miniobject: free qdata array when the last qdata is removed In cases with many long-lived buffers that have qdata only very briefly, the memory overhead of keeping an array of 16 GstQData structs for each buffer can be significant. We free the array when the last qdata is removed, like it was done in 1.14. Fixes #436 2019-09-03 13:44:24 -0400 Nicolas Dufresne * gst/gstbin.c: bin: Fix minor race when adding to a bin This patch simply add a null check around a case where a child may have been unparented concurrently to the deep_add_remove operation. This was found by accident in the form of an "IS_GST_OBJECT" assertion, but had no other known side effect in that test. 2019-08-30 12:04:40 +1000 Matthew Waters * libs/gst/check/libcheck/meson.build: libcheck: fix macos werror build ../libs/gst/check/libcheck/check.c:617:15: error: result of comparison of constant 4294967295 with expression of type 'clockid_t' is always false [-Werror,-Wtautological-constant-out-of-range-compare] if (clockid == -1) { ~~~~~~~ ^ ~~ 2019-08-28 15:19:54 +1000 Matthew Waters * plugins/elements/gstfdsink.c: * plugins/elements/gstfdsrc.c: * plugins/elements/gstfilesrc.c: file/fdsrc: use struct stat64 on android to match stat64() Fixes android werror failures: ../plugins/elements/gstfdsrc.c:244:25: error: incompatible pointer types passing 'struct stat *' to parameter of type 'struct stat64 *' [-Werror,-Wincompatible-pointer-types] if (fstat (src->fd, &stat_results) < 0) ^~~~~~~~~~~~~ /home/matt/Projects/cerbero/build/android-ndk-18/sysroot/usr/include/sys/stat.h:159:38: note: passing argument to parameter '__buf' here int fstat64(int __fd, struct stat64* __buf) __RENAME_STAT64(fstat, 3, 21); ^ ../plugins/elements/gstfdsrc.c:560:23: error: incompatible pointer types passing 'struct stat *' to parameter of type 'struct stat64 *' [-Werror,-Wincompatible-pointer-types] if (fstat (src->fd, &stat_results) < 0) ^~~~~~~~~~~~~ /home/matt/Projects/cerbero/build/android-ndk-18/sysroot/usr/include/sys/stat.h:159:38: note: passing argument to parameter '__buf' here int fstat64(int __fd, struct stat64* __buf) __RENAME_STAT64(fstat, 3, 21); ^ if (fstat (fd, &stat_results) < 0) ^~~~~~~~~~~~~ /home/matt/Projects/cerbero/build/android-ndk-18/sysroot/usr/include/sys/stat.h:159:38: note: passing argument to parameter '__buf' here int fstat64(int __fd, struct stat64* __buf) __RENAME_STAT64(fstat, 3, 21); ^ if (fstat (src->fd, &stat_results) < 0) ^~~~~~~~~~~~~ ../../../../../android-ndk-18/sysroot/usr/include/sys/stat.h:159:38: note: passing argument to parameter '__buf' here int fstat64(int __fd, struct stat64* __buf) __RENAME_STAT64(fstat, 3, 21); ^ ../plugins/elements/gstfilesrc.c:477:23: error: incompatible pointer types passing 'struct stat *' to parameter of type 'struct stat64 *' [-Werror,-Wincompatible-pointer-types] if (fstat (src->fd, &stat_results) < 0) ^~~~~~~~~~~~~ ../../../../../android-ndk-18/sysroot/usr/include/sys/stat.h:159:38: note: passing argument to parameter '__buf' here int fstat64(int __fd, struct stat64* __buf) __RENAME_STAT64(fstat, 3, 21); ^ 2019-08-26 22:36:25 +1000 Matthew Waters * libs/gst/check/libcheck/meson.build: check: fix werror build with clang Silence -Wformat-nonliteral warnings from the internal copy of libcheck ../subprojects/gstreamer/libs/gst/check/libcheck/check.c:379:29: warning: format string is not a string literal [-Wformat-nonliteral] vsnprintf (buf, BUFSIZ, msg, ap); ^~~ ../subprojects/gstreamer/libs/gst/check/libcheck/check_error.c:48:21: warning: format string is not a string literal [-Wformat-nonliteral] vfprintf (stderr, fmt, args); ^~~ ../subprojects/gstreamer/libs/gst/check/libcheck/check_str.c:92:29: warning: format string is not a string literal [-Wformat-nonliteral] n = vsnprintf (p, size, fmt, ap); ^~~ 2019-08-25 19:37:30 +0200 Niels De Graef * gst/gstobject.c: object: Use g_object_notify_by_pspec() `g_object_notify()` actually takes a global lock to look up the `GParamSpec` that corresponds to the given property name. It's not a huge performance hit, but it's easily avoidable by using the `_by_pspec()` variant. 2019-08-20 01:02:48 +0900 Seungha Yang * tools/gst-launch.c: gst-launch: Use gst_print* instead of g_print* to fix broken stdout on Windows Concurrent Windows' colored debug message and g_print will print string hard to read. Instead, use gst_print* which serialize debug output and the APIs call. 2019-08-20 00:59:15 +0900 Seungha Yang * gst/gstinfo.c: info: Take lock around all prinf on Windows On Windows, concurrent colored gstreamr debug output and usual stdout/stderr string will cause broken output on terminal. Since it's OS specific behavior, that's hard to completely avoid it but we can protect it at least among our printing interfaces side. 2019-08-23 18:17:41 +0200 Mathieu Duponchelle * gst/gstpromise.c: * gst/gsttaglist.h: docstrings: port ulinks to markdown links 2019-08-20 17:18:31 +0200 Johan Sternerup * gst/gstutils.c: utils: Avoid memory merge in gst_util_dump_buffer() For buffers with multiple memory chunks, gst_buffer_map() has the side effect of merging the memory chunks into one contiguous chunk. Since gst_util_dump_mem() used gst_buffer_map() the internals of the buffer could actually change as a result of printing it. For the case of a buffer containing several memory chunks, gst_memory_map() is now used to obtain the memory address and each memory chunk is dumped separately preceded by a header line. The behaviour for a buffer containing a single memory chunk is left unchanged. 2019-08-19 18:19:50 +0300 Sebastian Dröge * libs/gst/base/gstaggregator.c: aggregator: Always handle serialized events/queries directly before waiting Otherwise it can happen that we start waiting for another pad, while one pad already has events that can be handled and potentially also a buffer that can be handled. That buffer would then however not be accessible by the subclass from GstAggregator::get_next_time() as there would be the events in front of it, which doesn't allow the subclass then to calculate the next time based on already available buffers. As a side-effect this also allows removing the duplicated event handling code in the aggregate function as we'll always report pads as not ready when there is a serialized event or query at the top of at least one pad's queue. Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/428 2019-08-15 12:56:06 +0100 Tim-Philipp Müller * libs/gst/check/meson.build: meson: fix warning about configure_file() install kwarg The install kwarg on configure_file() was only added in Meson 0.50 but we're targetting older versions as well, which caused a warning. The install kwarg is not needed here as we specify install_dir, so we can just drop it. Fixes #379 2019-08-14 14:25:48 +0300 Sebastian Dröge * libs/gst/base/gstaggregator.c: * libs/gst/base/gstaggregator.h: aggregator: Add sink_event_pre_queue() and sink_query_pre_queue() vfuncs These allow subclasses catching serialized events/queries before they're queued up. 2019-08-14 10:05:53 +0300 Sebastian Dröge * libs/gst/base/gstaggregator.c: * libs/gst/base/gstaggregator.h: aggregator: Add GstAggregator::negotiate() For consistency with other base classes and for allowing to completely override the negotiation behaviour. 2019-08-14 09:51:55 +0300 Sebastian Dröge * libs/gst/base/gstaggregator.c: aggregator: Actually handle NEED_DATA return from update_src_caps() The documentation says that this allows the subclass to signal that it needs more data before it can decide on caps, so let's actually implement it that way. 2019-08-13 19:57:08 +0300 Sebastian Dröge * libs/gst/base/gstaggregator.c: aggregator: Assert if the sink/src pad type that is to be used is not a GstAggregatorPad or subclass thereof 2019-08-13 19:55:59 +0300 Sebastian Dröge * libs/gst/base/gstaggregator.c: aggregator: Ensure that the source pad is created as a GstAggregatorPad if no type is given in the pad template Otherwise we would create a GstPad and that causes invalid memory accesses later. 2019-08-06 10:09:22 +0530 Guillaume Desmottes * plugins/tracers/gstlatency.c: latency: fix custom event leaks If the element before the sink needs $n buffers to produce one output buffer, we were reffing $n events and unreffing only one. Prevent this by using g_object_set_qdata_full() to handle the event unreffing so we're sure no ref will be lost. 2019-08-12 11:53:33 +0300 Jan Alexander Steffens (heftig) * gst/gstelement.c: * gst/gstelement.h: element: Added gst_element_get_current_clock_time and gst_element_get_current_running_time Helper functions for getting the element clock's time, and the clock time minus base time, respectively. 2019-08-08 13:49:07 +0300 Sebastian Dröge * configure.ac: * gst/gstregistry.c: * meson.build: registry: Use plugin directory from the build system for relocateable Windows builds Instead of guessing something based on preprocessor defines and magic. 2019-04-30 17:24:50 -0400 Thibault Saunier * gst/gstdevicemonitor.c: device-monitor: list hidden providers before listing devices The way it was implemented could make the list updated after the list of device was filled with supposdely hidden devices 2019-08-06 15:28:58 +0200 Mathieu Duponchelle * plugins/elements/gstfunnel.c: funnel: fix documentation funnel no longer sends its own segment since: bbb26f875692a6cd84050c545ba85a7d2129cf5d Update the documentation to reflect that 2019-08-06 00:05:22 +0100 Tim-Philipp Müller * gst/gstmessage.h: message: fix up enum value for GST_MESSAGE_DEVICE_CHANGED This was added in 1.16 and accidentally duplicated the value of the existing GST_MESSAGE_REDIRECT. As the only known user of this message is GStreamer core itself, and it is quite an obscure message, it seems best to just fix up the enum value even if that technically breaks API. Fixes #418 2019-08-06 03:16:35 +0000 Keri Henare * configure.ac: Removes unnecessary "Sissy" pejorative from configure.ac warning message. 2019-07-30 21:40:47 -0400 Doug Nazar * gst/gstinfo.c: info: Fix deadlock in gst_ring_buffer_logger_log gst_ring_buffer_logger_log calls several functions while formatting the message which may in turn log a message while we already hold the mutex. Do all formatting first before acquiring the mutex to avoid this and reduce the time we hold the mutex. 2019-08-02 13:07:58 +0530 Guillaume Desmottes * plugins/tracers/gstlatency.c: * plugins/tracers/gstrusage.c: * plugins/tracers/gststats.c: tracers: set MAY_BE_LEAKED on tracer records The records are static and so appear as false positives when using those tracers with the leaks tracer as well. The leaks tracer was already setting this flag on its record so let's set it on the other ones as well. 2019-07-22 15:06:20 +0000 Alicia Boya García * plugins/elements/gstdownloadbuffer.c: downloadbuffer: Check for flush after seek In gst_download_buffer_wait_for_data(), when a seek is made with perform_seek_to_offset() the `qlock` is released temporarily. Therefore, the flushing condition can be set during this period and should be checked. This was not being checked before, causing occasional deadlocks when GST_DOWNLOAD_BUFFER_WAIT_ADD_CHECK() was called. GST_DOWNLOAD_BUFFER_WAIT_ADD_CHECK() assumes that the caller has already checked that we're not flushing before, since this is done when acquiring the lock; so if we release it temporarily somewhere, we need to check for flush again. Without that check, the function would keep waiting for the condition variable to be notified before checking for flushing condition again, and that may very well never happen. This was reproduced when during pad deactivation when running WebKit in gdb. 2019-07-19 21:57:09 -0400 Nicolas Dufresne * plugins/elements/gstidentity.c: identity: Non-live upstream have no max latency sync=TRUE implementation changes the latency query of a non-live upstream into live, though it wrongly set the upstream max latency to 0. As non-live sources won't loose data if we wait longer, this should have been reported as have no max latency limite (-1). 2019-07-19 17:28:25 +0200 Mathieu Duponchelle * libs/gst/base/gstaggregator.c: aggregator: drop duplicated SEEK events This is similar to what demuxers do, and necessary when multiple sinks get seeked downstream of the aggregator: if we forward duplicated seeks upstream, elements such as demuxers may drop the flushing seeks, but return TRUE, aggregator then waits forever for the flushing events. Fixes #276 2019-07-19 11:09:22 +0100 Tim-Philipp Müller * libs/gst/base/gstbasesrc.c: basesrc: fix g-i warnings 2019-07-14 22:41:56 +0300 Sebastian Dröge * gst/gst.c: * gst/gstinfo.c: info: Free some more memory on gst_deinit() 2019-07-14 21:36:00 +0300 Sebastian Dröge * gst/gstinfo.c: * gst/gstinfo.h: * tests/check/gst/gstinfo.c: info: Deprecate gst_debug_category_free() And change it to do nothing at all. As debug categories don't use reference counting and they can be retrieved from anywhere at any time by name, it is fundamentally unsafe to free them at any point in time except for right before the end of the process. No code apart from a unit test seems to be currently using the function, so deprecate it and also change it to do nothing at all. 2019-07-11 17:53:53 +0100 Philippe Normand * plugins/elements/gstidentity.c: identity: Fix the ts-offset property getter Previous code was a copy/paste from the property setter function. 2019-07-08 19:09:03 +0300 Sebastian Dröge * libs/gst/base/gstaggregator.c: aggregator: Make parsing of explicit sink pad names more robust When passing "sink_%d" twice to aggregator before it would create two pads called "sink_0", because it failed to parse "%d" as integer and used 0 instead then. Instead validate that parsing was actually successful and also don't even try to parse if the requested pad name contains a '%'. 2019-07-08 13:16:08 +0200 Guillaume Desmottes * tools/gst-stats.c: gst-stats: fix leaks String returned from g_match_info_fetch() needs to be freed. 2019-07-08 11:20:26 +0200 Guillaume Desmottes * tools/gst-stats.c: gst-stats: sort latency by first activity before displaying We use to display the latency of each element in random order which is not very convenient when comparing latency between different runs. Sort them by "first activity" (the first latency reported for each element) so it's consistent betwen runs. This is the same logic when sorting and displaying element stats. 2019-07-07 20:42:56 +1000 Jan Schmidt * gst/gsttracerutils.c: gsttracerutils: Fix build with disabled tracer hooks. Add a stub gst_tracing_get_active_tracers() call when building with tracer hooks disabled. 2019-07-02 17:14:50 -0400 Thibault Saunier * docs/plugins/gst_plugins_cache.json: * plugins/elements/gstmultiqueue.c: multiqueue: Fix possible NULL pointer dereferencing In the hotdoc inspector for example, pads are instantiated with g_object_new, other code paths to get/set properties already make that check. And update doc cache 2019-07-01 23:54:19 +0530 Nirbheek Chauhan * gst/gstinfo.c: gstinfo: Fix typo in debug log message 2019-07-01 20:20:13 +0530 Tim-Philipp Müller * plugins/tracers/gstleaks.c: leakstracer: Improve notes in the the get-live-objects API docs It may not be obvious to the user how this action signal is meant to be called, so document it. 2019-07-01 15:05:58 +0530 Nirbheek Chauhan * tests/check/elements/leaks.c: tests: Add test for new activity-tracking leaktracer API 2019-06-21 18:17:13 +0530 Nirbheek Chauhan * plugins/tracers/gstleaks.c: * plugins/tracers/gstleaks.h: leakstracer: Add API for tracking and checkpointing objects This feature was previously available only through the SIGUSR2 signal, which meant it wasn't available on platforms that don't have UNIX signals, such as Windows and with applications that already use SIGUSR1 for something else. Now we have action-signals for doing the same. These action signals can also be used for fetching the checkpoint information programmatically instead of printing to the debug log. 2019-07-01 15:05:08 +0530 Nirbheek Chauhan * tests/check/elements/leaks.c: * tests/check/gstreamer.supp: * tests/check/meson.build: tests: Add test for new live-objects leaktracer API Needs a valgrind suppression for: ==11119== Warning: invalid file descriptor -1 in syscall close() ==11119== Warning: invalid file descriptor -1 in syscall close() ==11119== Syscall param write(buf) points to uninitialised byte(s) ==11119== at 0x4C4AFAD: syscall (in /usr/lib64/libc-2.29.so) ==11119== by 0x4E70DF9: write_validate (Ginit.c:112) ==11119== by 0x4E70DF9: UnknownInlinedFun (Ginit.c:148) ==11119== by 0x4E70DF9: mincore_validate (Ginit.c:131) ==11119== by 0x4E70CC3: UnknownInlinedFun (Ginit.c:208) ==11119== by 0x4E70CC3: access_mem (Ginit.c:242) ==11119== by 0x4E75536: UnknownInlinedFun (libunwind_i.h:168) ==11119== by 0x4E75536: apply_reg_state (Gparser.c:863) ==11119== by 0x4E75A71: _ULx86_64_dwarf_step (Gparser.c:952) ==11119== by 0x4E71BD3: _ULx86_64_step (Gstep.c:71) ==11119== by 0x48BAF47: generate_unwind_trace (gstinfo.c:2726) ==11119== by 0x48BC92E: gst_debug_get_stack_trace (gstinfo.c:2908) ==11119== by 0x49B2BB2: handle_object_created.part.0 (gstleaks.c:384) ==11119== by 0x488134E: gst_object_constructed (gstobject.c:141) ==11119== by 0x49EC61B: g_object_new_internal (gobject.c:1845) ==11119== by 0x49EE347: g_object_new_valist (gobject.c:2128) ==11119== by 0x49EE69C: g_object_new (gobject.c:1648) ==11119== by 0x48CA59D: gst_pad_new_from_template (gstpad.c:867) ==11119== by 0x68C209E: gst_base_src_init (gstbasesrc.c:454) ==11119== by 0x4A0A0C3: g_type_create_instance (gtype.c:1858) ==11119== by 0x49EC42C: g_object_new_internal (gobject.c:1805) ==11119== by 0x49EDB14: g_object_new_with_properties (gobject.c:1973) ==11119== by 0x49EE6C0: g_object_new (gobject.c:1645) ==11119== by 0x48AF91A: gst_element_factory_create (gstelementfactory.c:372) ==11119== Address 0x1ffeffe000 is on thread 1's stack ==11119== in frame #6, created by generate_unwind_trace (gstinfo.c:2695) Fixed in libunwind commit: https://github.com/libunwind/libunwind/commit/b256722d49a63719c69c0416eba9163a4d069584 Needs a separate suppression for Debian because the callstack is different there. 2019-06-28 18:19:31 +0530 Nirbheek Chauhan * plugins/tracers/gstleaks.c: * plugins/tracers/gstleaks.h: leakstracer: Add API for logging leaks in the debug log This is the equivalent of sending SIGUSR1 to the application, and is useful on platforms where UNIX signals are not available, such as Windows. 2019-06-28 18:19:31 +0530 Nirbheek Chauhan * plugins/tracers/gstleaks.c: * plugins/tracers/gstleaks.h: leakstracer: Add API for fetching leaked objects This allows programs to inspect the leaked objects directly, log them, and so on. Unlike the existing mechanism to use SIGUSR1, this also works on platforms that do not support UNIX signals, such as Windows and with applications that already use SIGUSR1 for something else. 2019-06-19 04:22:42 +0530 Nirbheek Chauhan * gst/gsttracer.h: * gst/gsttracerutils.c: gsttracer: Add new API to fetch the list of active tracers This will be useful in the next commit where we add action-signals on the leaks tracer to get information about leaks and to manipulate checkpoints as a replacement for the SIGUSR1 and SIGUSR2 signals for doing the same. 2019-06-19 03:47:18 +0530 Nirbheek Chauhan * plugins/tracers/gstlatency.c: * plugins/tracers/gstleaks.c: * plugins/tracers/gstlog.c: * plugins/tracers/gstrusage.c: * plugins/tracers/gststats.c: tracers: Allow setting a name for all tracer objects This will be useful in combination with the next commit when we add API to get a list of active tracers so that consumers of the API can easily distinguish tracer objects. 2019-06-29 09:22:05 -0400 Nicolas Dufresne * gst/gstbufferpool.c: * tests/check/gst/gstbufferpool.c: bufferpool: Fix the buffer size reset code The offset in gst_buffer_resize() is additive. So to move back the offset to zero, we need to pass the opposite of the current offset. This was raised through the related unit test failingon 32bit as on 64bit the alignment padding was enough to hide the issue. The test was modified to also fail on 64bit. This patch will remove spurious assertions like: assertion 'bufmax >= bufoffs + offset + size' failed Fixes #316 2019-06-24 21:14:51 +0530 Nirbheek Chauhan * plugins/tracers/gstleaks.c: leakstracer: Get rid of GSlice usage It's not faster than malloc, and is slower in most cases. Glib is also getting rid of it entirely: https://gitlab.gnome.org/GNOME/glib/merge_requests/940 2019-06-21 11:26:38 +0530 Nirbheek Chauhan * plugins/tracers/gstleaks.c: leakstracer: Remove unused and redundant record fields All leak records are obviously scoped to the process, and nothing in the GstTracerRecord code uses these fields anyway. 2019-06-21 10:43:18 +0530 Nirbheek Chauhan * gst/gsttracerrecord.c: tracerrecord: Be stricter while parsing record templates It's not really possible for us to recover when someone uses the gst_tracer_record_new() API incorrectly. Also, document a piece of somewhat-obscure code. 2019-06-19 03:42:46 +0530 Nirbheek Chauhan * plugins/tracers/gstleaks.c: leakstracer: Improve documentation for the element Also print a useful g_warning() message when leaks are detected. 2019-07-01 14:55:20 +0530 Nirbheek Chauhan * libs/gst/check/gstcheck.h: gstcheck: Document strcmp used in string cmp macros strcmp() does not allow the arguments to be NULL, but g_strcmp0() does, so document that we use g_strcmp0() so that people don't need to worry about that. 2019-06-21 10:41:18 +0530 Nirbheek Chauhan * gst/gstsystemclock.c: gstsystemclock: Mark the clock as MAY_BE_LEAKED It is freed in gst_deinit(), but otherwise it is leaked. 2019-06-19 03:39:59 +0530 Nirbheek Chauhan * gst/gstinfo.c: * meson.build: gstinfo: Rework stack trace detection a bit Ensure that the code paths for HAVE_UNWIND and HAVE_DBGHELP are never taken at the same time, even if the build file code changes. Prefer DbgHelp over libunwind on Windows in case both are somehow available because DbgHelp is only available when building with the MSVC toolchain, and libunwind won't give us debug symbols from objects built with the MSVC toolchain. Also, print slightly more useful messages for the level of stack trace support enabled, and document what each if conditional does. 2019-06-19 03:19:16 +0530 Nirbheek Chauhan * gst/gstinfo.c: * gst/gstinfo.h: * plugins/tracers/gstleaks.c: gstinfo: Add an explicit enum for GST_STACK_TRACE_SHOW_NONE The code implicitly uses this value when the stack trace is not FULL. Mostly useful for documenting the behaviour when each flag is passed and for translating to/from strings. 2019-06-24 14:35:16 +0200 Carlos Rafael Giani * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasesrc.h: * tests/check/libs/basesrc.c: basesrc: Add public gst_base_src_negotiate () function This is useful for when format changes occur mid-stream. 2019-06-27 15:51:47 -0400 Thibault Saunier * plugins/elements/gstmultiqueue.c: multiqueue: Hold weak references to pads/multiqueue in SingleQueue Without holding a ref we have no guarantees that the SingleQueue doesn't have dangling pointers on those objects during its destruction. 2019-05-06 19:19:47 +0530 Nirbheek Chauhan * gst/gstplugin.c: gstplugin: Don't stat plugins when building for UWP When using GStreamer with Universal Windows Platform apps, dynamic plugins can only be loaded by filename (without a path) using gst_plugin_load_file() which will call into g_module_open(). On Windows, GModule calls LoadLibrary() on the filename, but with UWP we need to use LoadPackagedLibrary() which is basically the same as LoadLibrary(), except it looks only for DLLs (by name) that have been packaged as assets with the app. These assets are not files and cannot be accessed using normal file APIs such as open() or stat(). The upstream glib merge request for adding LoadPackagedLibrary support is: https://gitlab.gnome.org/GNOME/glib/merge_requests/951 NOTE: Whitespcae removal is to make gst-indent happy 2019-05-16 04:57:16 +0530 Nirbheek Chauhan * gst/gstconfig.h.in: gstconfig.h.in: Windows ARM64 does not allow unaligned access 2019-06-19 17:39:58 -0400 Nicolas Dufresne * libs/gst/check/gsttestclock.c: * tests/check/libs/gsttestclock.c: testclock: Allow calling crank with a past entry At the moment, we can only use crank if the pending entry is in the future. This patch leaves the clock time to the same point if the pending entry was in the past. This still execute a single entry. This will be needed for the jitterbuffer, since as soon as we stop waking up the jitterbuffer when the timer is reschedule later, we may endup with such case in the unit tests. Related to #608 2019-06-22 23:46:35 -0400 Thibault Saunier * plugins/elements/gstmultiqueue.c: multiqueue: Stop using the gst_pad_element_private API There was a race where we could still get the pad event function called when its private member were already unset, leading to a segfault in the event handler: ``` 0 gst_multi_queue_src_event (pad=, parent=, event=0x7f3ff0007600) at ../subprojects/gstreamer/plugins/elements/gstmultiqueue.c:2534 2534 ret = gst_pad_push_event (sq->sinkpad, event); [Current thread is 1 (Thread 0x7f406c0258c0 (LWP 21925))] (gdb) bt 0 0x00007f4062ec1399 in gst_multi_queue_src_event (pad=, parent=, event=0x7f3ff0007600 [GstEvent]) at ../subprojects/gstreamer/plugins/elements/gstmultiqueue.c:2534 1 0x00007f406b40f46d in gst_validate_pad_monitor_src_event_check (handler=0x7f4062ec1360 , event=0x7f3ff0007600 [GstEvent], parent=0x7f3fcc01f090 [GstMultiQueue|multiqueue167], pad_monitor=0x7f3fe809e7c0 [GstValidatePadMonitor|validatepadmonitor2213]) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2101 2 0x00007f406b40f46d in gst_validate_pad_monitor_src_event_func (pad=, parent=0x7f3fcc01f090 [GstMultiQueue|multiqueue167], event=0x7f3ff0007600 [GstEvent]) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2374 3 0x00007f406b904387 in gst_pad_send_event_unchecked (pad=pad@entry=0x7f3fdc027650 [GstPad|src_0], event=event@entry=0x7f3ff0007600 [GstEvent], type=, type@entry=GST_PAD_PROBE_TYPE_EVENT_UPSTREAM) at ../subprojects/gstreamer/gst/gstpad.c:5772 4 0x00007f406b90481b in gst_pad_push_event_unchecked (pad=pad@entry=0x7f4058182fc0 [GstPad|sink], event=event@entry=0x7f3ff0007600 [GstEvent], type=type@entry=GST_PAD_PROBE_TYPE_EVENT_UPSTREAM) at ../subprojects/gstreamer/gst/gstpad.c:5417 5 0x00007f406b90f016 in gst_pad_push_event (pad=0x7f4058182fc0 [GstPad|sink], event=event@entry=0x7f3ff0007600 [GstEvent]) at ../subprojects/gstreamer/gst/gstpad.c:5554 6 0x00007f406a1c99ba in gst_video_decoder_src_event_default (decoder=0x7f3fe81c6060 [GstTheoraDec|theoradec46], event=) at ../subprojects/gst-plugins-base/gst-libs/gst/video/gstvideodecoder.c:1532 7 0x00007f406b40f46d in gst_validate_pad_monitor_src_event_check (handler=0x7f406a1ca270 , event=0x7f3ff0007600 [GstEvent], parent=0x7f3fe81c6060 [GstTheoraDec|theoradec46], pad_monitor=0x7f4028163aa0 [GstValidatePadMonitor|validatepadmonitor2216]) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2101 8 0x00007f406b40f46d in gst_validate_pad_monitor_src_event_func (pad=, parent=0x7f3fe81c6060 [GstTheoraDec|theoradec46], event=0x7f3ff0007600 [GstEvent]) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2374 ``` This make the GstSingleQueue a MiniObject, mainly so it is properly refcounted. This also make use of the GstMultiQueuePad class for srcpads which is totally valid as srcpads and sinkpads share the same SingleQueue object. 2019-06-21 15:38:15 +0200 Mathieu Duponchelle * gst/gstdevicemonitor.c: devicemonitor: add debug category 2019-06-20 14:04:55 +0200 Michael Bunk * gst/gstmemory.c: * gst/gstmemory.h: * gst/gstutils.c: * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstbasetransform.h: Fixing various typos 2019-06-20 16:42:01 +0530 Guillaume Desmottes * plugins/tracers/gstlatency.c: latency: display event pointer in logs This is quite useful for debugging when tracer is reporting the wrong latency because of an element breaking the events/buffers ordering. 2019-06-20 13:49:14 +0530 Guillaume Desmottes * plugins/elements/gstelements_private.c: gstelements_private: sync gst_buffer_get_flags_string() with new flags 2019-06-19 23:29:24 -0400 Thibault Saunier * plugins/elements/gstmultiqueue.c: multiqueue: never unref queries we do not own The `query` argument of gst_pad_query is "transfer none". Query objects are "borrowed" by the pad query handlers and those should never unref them. This was leading to double freed queries in a very racy way with nested GESTimelines. 2019-06-17 09:50:32 +0200 Havard Graff * gst/gstmeta.c: gstmeta: Optimize get_tags() by using private quark table 2019-06-13 10:32:32 +0200 Havard Graff * gst/gstpad.c: pad: increase debug-level to warning for fatal outcomes 2019-06-13 15:21:03 +0000 Håvard Graff * plugins/elements/gstqueue.c: queue: don't report 0 max-latency for leaky queue if max was already 0. 2019-05-22 10:09:47 +0200 Havard Graff * libs/gst/check/gstharness.c: harness: move creating of buffer and event queues to harness itself By only having it on sinkpad-creation, it is racy to write a test with a sometimes-pad (like a demuxer) that you want to pull from, having the pull wait until the pad arrives and the buffer can be produced. 2018-10-03 13:56:22 +0200 Stian Selnes * libs/gst/check/gstharness.c: harness: Fix race when forwarding event while tearing down harness 2018-05-28 10:57:13 +0200 Stian Selnes * libs/gst/check/gstharness.c: harness: Make sure pad functions are not called after teardown For the query function there's a risk that the function may be called after the harness has been teared down. Since the function accesses a pointer to the harness via the pad's data, the harness must protect itself against this. Event and chain function is also handled for constistency, although they don't have the same problem since the gstpad.c checks whether the pad is flushing before calling these. 2019-06-11 22:09:33 +0200 Mathieu Duponchelle * libs/gst/base/gstaggregator.c: aggregator: don't try to take STREAM_LOCK on sink pad flush This was a misguided effort to try and guarantee the buffers of the sink pads would not change during aggregate, when an upstream branch is seeked independently, however this is simply incorrect as downstream has not necessarily been flushed, or the aggregate function might be waiting to receive buffers on other pads. 2019-06-11 15:20:18 +0200 Mathieu Duponchelle * libs/gst/base/gstaggregator.c: aggregator: send flush_stop ourselves if needed In !159 , we switched to sending flush_start ourselves from the do_seek implementation. If no flushing seek successfully made its way upstream, we need to send flush_stop ourselves as well. 2019-06-10 17:23:29 +0200 Mathieu Duponchelle * libs/gst/base/gstaggregator.c: aggregator: don't hold stream lock when flushing Releasing a GRecMutex from a different thread is undefined behaviour. There should be no reason to hold the stream lock from the moment aggregator receives a flush_start until it receives the last flush_stop: the source pad task is stopped, and can only be restarted once the last flush_stop has arrived. I can only speculate as to the reason why this was done, as it was that way since the original commit. My best guess is that aggregator originally didn't marshall events and queries to the aggregate thread, and this somehow helped work around this. 2019-05-22 21:37:43 +0200 Mathieu Duponchelle * libs/gst/base/gstaggregator.c: * tests/check/libs/aggregator.c: aggregator: refactor flushing logic Instead of tracking "pending_flush_*" on the pads and the aggregator, we now simply track the last seqnum for flush start and flush stop events on the pads, and use it to determine whether we should enter or exit our flushing state. See https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/977 2019-06-05 18:40:12 +0200 Mathieu Duponchelle * tests/check/gstreamer.supp: valgrind: revert generic suppression of ld-related errors the replacement suppression casts way too large a net, ignoring all leaks in the main thread 2019-06-05 20:58:45 +0200 Mathieu Duponchelle * tests/check/gstreamer.supp: valgrind: ignore dlopen leaks when parsing launch lines 2019-06-05 20:58:45 +0200 Mathieu Duponchelle * tests/check/gstreamer.supp: valgrind: suppress intentional debug list item leak 2019-06-04 17:56:30 +0300 Sebastian Dröge * plugins/elements/gstconcat.c: concat: Improve debug output a bit 2019-06-04 17:55:30 +0300 Sebastian Dröge * plugins/elements/gstconcat.c: concat: Reset last_stop on FLUSH_STOP too Otherwise when seeking backwards we would keep the last_stop at the last position we saw until playback passed the seek position again, and if switching to the next pad happens in the meantime we would set the wrong offset in the outgoing segment. 2019-06-04 08:50:59 +0200 Niels De Graef * gst/gstallocator.h: * gst/gstatomicqueue.h: * gst/gstbin.h: * gst/gstbuffer.h: * gst/gstbufferlist.h: * gst/gstbus.h: * gst/gstcaps.h: * gst/gstcapsfeatures.h: * gst/gstclock.h: * gst/gstcontext.h: * gst/gstcontrolbinding.h: * gst/gstcontrolsource.h: * gst/gstdatetime.h: * gst/gstdevice.h: * gst/gstdevicemonitor.h: * gst/gstdeviceprovider.h: * gst/gstdeviceproviderfactory.h: * gst/gstelement.h: * gst/gstelementfactory.h: * gst/gstevent.h: * gst/gstghostpad.h: * gst/gstiterator.h: * gst/gstmemory.h: * gst/gstmessage.h: * gst/gstobject.h: * gst/gstpad.h: * gst/gstpadtemplate.h: * gst/gstparse.h: * gst/gstpipeline.h: * gst/gstplugin.h: * gst/gstpluginfeature.h: * gst/gstpromise.h: * gst/gstquery.h: * gst/gstregistry.h: * gst/gstsample.h: * gst/gstsegment.h: * gst/gststreamcollection.h: * gst/gststreams.h: * gst/gststructure.h: * gst/gstsystemclock.h: * gst/gsttaglist.h: * gst/gsttask.h: * gst/gsttaskpool.h: * gst/gsttoc.h: * gst/gsttracer.h: * gst/gsttracerfactory.h: * gst/gsttracerrecord.h: * gst/gsttypefindfactory.h: * gst/gsturi.h: * libs/gst/base/gstadapter.h: * libs/gst/base/gstaggregator.h: * libs/gst/base/gstbaseparse.h: * libs/gst/base/gstbasesink.h: * libs/gst/base/gstbasesrc.h: * libs/gst/base/gstbasetransform.h: * libs/gst/base/gstcollectpads.h: * libs/gst/base/gstdataqueue.h: * libs/gst/base/gstflowcombiner.h: * libs/gst/base/gstpushsrc.h: * libs/gst/check/gsttestclock.h: * libs/gst/controller/gstargbcontrolbinding.h: * libs/gst/controller/gstdirectcontrolbinding.h: * libs/gst/controller/gstinterpolationcontrolsource.h: * libs/gst/controller/gstlfocontrolsource.h: * libs/gst/controller/gstproxycontrolbinding.h: * libs/gst/controller/gsttimedvaluecontrolsource.h: * libs/gst/controller/gsttriggercontrolsource.h: * libs/gst/net/gstnetclientclock.h: * libs/gst/net/gstnettimepacket.h: * libs/gst/net/gstnettimeprovider.h: * libs/gst/net/gstptpclock.h: Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally Since we started depending on GLib 2.44, we can be sure this macro is defined (it will be a no-op on compilers that don't support it). For plugins we should just start using `G_DECLARE_FINAL_TYPE` which means we no longer need the macro there, but for most types in core we don't want to break ABI, which means it's better to just keep it like it is (and use the `#ifdef` instead). 2019-05-31 22:56:09 +0200 Niels De Graef * configure.ac: * meson.build: * tests/check/elements/dataurisrc.c: meson: Bump minimal GLib version to 2.44 This means we can use some newer features and get rid of some boilerplate code using the `G_DECLARE_*` macros. As discussed on IRC, 2.44 is old enough by now to start depending on it. 2019-06-01 02:37:26 +0200 Mathieu Duponchelle * docs/meson.build: docs: unprefix subproject paths 2019-05-30 23:23:35 -0400 Thibault Saunier * docs/gst-hotdoc-plugins-scanner.c: * docs/meson.build: * docs/plugins/blank.md: * docs/plugins/gst_plugins_cache.json: * plugins/tracers/gstlatency.c: * plugins/tracers/gstleaks.c: * plugins/tracers/gstlog.c: * plugins/tracers/gstrusage.c: * plugins/tracers/gststats.c: docs: Add tracers support 2019-05-31 01:56:08 +0200 Mathieu Duponchelle * gst/gstelement.h: gstelement: fix links to the gsterror page 2019-05-31 01:45:41 +0200 Mathieu Duponchelle * gst/gsttaglist.h: gsttaglist: do not link to symbols from gst-plugins-base in doc 2019-05-29 21:33:42 +0200 Mathieu Duponchelle * gst/gst.c: * gst/gstbus.c: * gst/gstconfig.h.in: * gst/gstdebugutils.c: * gst/gsterror.c: * gst/gstplugin.c: * gst/gsttaglist.h: * plugins/elements/gstdownloadbuffer.c: * plugins/elements/gstfakesrc.c: * plugins/elements/gstfdsrc.c: doc: remove xml from comments 2019-05-22 18:56:34 -0400 Thibault Saunier * docs/gst-hotdoc-plugins-scanner.c: * docs/plugins/gst_plugins_cache.json: docs: Document pad types And update the plugins doc cache 2019-05-22 09:47:41 -0400 Thibault Saunier * libs/gst/base/gstaggregator.c: aggregator: Minor documentation fix 2015-07-29 11:48:33 +0100 Tim-Philipp Müller * libs/gst/base/gstaggregator.c: aggregator: fix flow-return boolean return type mismatch Not that it matters, since we don't check the return value anyway. Unclear why the aggregator pad flush function should have a return value at all really, and perhaps it should be called reset anyway. Spotted by dv on irc. 2019-05-12 07:45:31 +0200 Michael Olbrich * libs/gst/helpers/gst_gdb.py: gdb: add gst_element_pad() function Another helper to navigate a pipeline. It makes it possible to easily access the pads of an element: (gdb) print $gst_element_pad(basesink, "sink") $1 = 0x7fffe80770f0 [GstPad|sink] 2019-05-11 21:08:50 +0200 Michael Olbrich * libs/gst/helpers/gst_gdb.py: gdb: print more data for segment events This add the different timestamps for segment events: (gdb) gst-print pad SrcPad(src, push) { events: [...] segment: time rate: 1.1 start: 0:03:08.449753330 time: 0:03:08.449753330 position: 0:03:08.449753330 duration: 0:12:14.166687500 [...] } 2019-05-11 21:02:37 +0200 Michael Olbrich * libs/gst/helpers/gst_gdb.py: gdb: add 'gst-pipeline-tree' command It shows a simple tree of all elements in pipeline. As with gst-dot, the toplevel bin is found from any element of the pipeline: (gdb) gst-pipeline-tree bsink playbin inputselector1 inputselector0 uridecodebin0 queue2-0 decodebin0 avdec_aac0 aacparse0 vaapidecodebin0 vaapipostproc0 capsfilter1 vaapi-queue vaapidecode0 capsfilter0 h264parse0 multiqueue0 matroskademux0 typefind typefindelement0 source playsink abin aconv resample conv identity aqueue pulsesink0 vbin vconv scale conv identity vqueue vaapisink0 vdbin deinterlace vdconv audiotee streamsynchronizer0 2019-05-11 20:59:04 +0200 Michael Olbrich * libs/gst/helpers/gst_gdb.py: gdb: add gst_pipeline() and gst_bin_get() functions This simplifies navigating in a GStreamer pipeline, e.g. (gdb) print $gst_bin_get($gst_pipeline(pad), "matroskademux0") $1 = 0x7fffe81b4050 [GstMatroskaDemux|matroskademux0] 2019-05-11 20:55:36 +0200 Michael Olbrich * libs/gst/helpers/gst_gdb.py: gdb: handle ghost and proxy pads while looking for the top-level element The parent object for pads is not always a GstElement. Handle GstProxyPad parents as well. 2019-05-11 20:53:54 +0200 Michael Olbrich * libs/gst/helpers/gst_gdb.py: gdb: refactor finding top-level pipeline No functional changes. Just refactoring to make it possible to reuse this later. 2019-05-11 20:53:05 +0200 Michael Olbrich * libs/gst/helpers/gst_gdb.py: gdb: gst-print add more pad and element information For elements, this adds all child elements, the state and base/start time: (gdb) gst-print pipeline 0x5555556ebd20 "pipeline0" GstPipeline(pipeline0) { children: fakesink0 queue0 videotestsrc0 state: PLAYING base_time: +2:54:36.892581150 start_time: 0:00:00.000000000 } For pads, this adds the peer pads and the current task state and the offset (if not zero): (gdb) gst-print pad SrcGhostPad(src, push) { events: [...] peer: vaapisink0:sink inner peer: scale:src } (gdb) gst-print pad SrcPad(src, push) { events: [...] peer: queue0:sink task: STARTED offset: 30000000 [+0:00:00.030000000] } 2019-05-11 20:39:00 +0200 Michael Olbrich * libs/gst/helpers/gst_gdb.py: gdb: refactor time formating Make it reuseable independent of the GstClockTimePrinter. 2019-05-22 10:44:50 +0300 Sebastian Dröge * tests/check/elements/dataurisrc.c: dataurisrc: Add test that checks various URIs against their expected output 2019-05-21 17:22:04 +0200 Benjamin Otte * plugins/elements/gstdataurisrc.c: dataurisrc: Fix crash when semicolon is aprt of data This URI is valid: data:,;base64 (It encodes the literal string ";base64") But would lead to a crash because the code assumed the semicolon would be placed before the colon. 2019-05-21 17:15:52 +0200 Benjamin Otte * plugins/elements/gstdataurisrc.c: dataurisrc: Allow case-insensitive scheme Quoting RFC 2396: For resiliency, programs interpreting URI should treat upper case letters as equivalent to lower case in scheme names (e.g., allow "HTTP" as well as "http"). 2019-05-16 16:17:35 +1000 Matthew Waters * docs/plugins/gst_plugins_cache.json: * plugins/tracers/meson.build: docs: add coretracers to the list of plugins 2019-05-16 09:11:00 -0400 Thibault Saunier * docs/meson.build: docs: Stop building the doc cache by default Fixes https://gitlab.freedesktop.org/gstreamer/gst-docs/issues/36 2019-05-15 22:46:45 -0400 Thibault Saunier * docs/gst-hotdoc-plugins-scanner.c: * docs/plugins/gst_plugins_cache.json: docs: Update diplayed plugins filename something stable 2019-05-15 21:15:35 -0400 Thibault Saunier * docs/gst-hotdoc-plugins-scanner.c: hotdoc: Let the the registry inspect in forks So that the whole process doesn't segfault if something bad happens while inspecting 2019-05-15 09:23:06 -0400 Thibault Saunier * docs/gst-plugins-doc-cache-generator.py: * docs/meson.build: docs: Use the MESON_BUILD_ROOT env variable in the plugins cache generator 2019-05-14 15:27:05 -0400 Thibault Saunier * docs/gst-hotdoc-plugins-scanner.c: * docs/gst-plugins-doc-cache-generator.py: docs: Do not pass the json through stdout Unicode encoding breaks on windows when doing so 2019-05-14 13:44:43 -0400 Thibault Saunier * gst/gstregistry.c: registry: Avoid discovering plugins in hotdoc private directories 2019-05-14 13:44:24 -0400 Thibault Saunier * docs/meson.build: docs: Do not inspect internal files 2019-05-14 20:27:47 +0900 Seungha Yang * docs/gst-plugins-doc-cache-generator.py: docs: Always follow Unix style newline The 'open()' follows default behavior of OS (CRLF in case of Windows). So it results in a bunch of git diff on Windows. 2019-05-16 15:15:27 +0300 Sebastian Dröge * libs/gst/base/gstbasesink.c: basesink: Remove leading space from Since maker of gst_base_sink_get_stats() gobject-introspection does not like this. 2019-05-16 15:13:23 +0300 Sebastian Dröge * libs/gst/base/gstbasesink.c: basesink: Fix syntax for gtk-doc comment of the new stats property 2019-05-13 16:42:04 +0200 Edward Hervey * gst/gstpad.c: * tests/check/gst/gstpad.c: gstpad: Probes that return HANDLED can reset the data info field Before GST_PAD_PROBE_HANDLED was introduced, we had to handle the case where some probes would reset the probe info data field to NULL. This would be considered an invalid use-case. But with GST_PAD_PROBE_HANDLED it is totally fine to reset that, since the probe has "handled" it. 2019-05-06 22:17:50 +0300 Sebastian Dröge * plugins/elements/gstelements_private.c: * plugins/elements/gstelements_private.h: * plugins/elements/gstfdsink.c: * plugins/elements/gstfilesink.c: * plugins/elements/gstfilesink.h: filesink: Implement workaround for some (network) filesystems that spuriously return EACCES on write This seems to happen when another client is accessing the file at the same time, and retrying after a short amount of time solves it. Sometimes partial data is written at that point already but we have no idea how much it is, or if what was written is correct (it sometimes isn't) so we always first seek back to the current position and repeat the whole failed write. It happens at least on Linux and macOS on SMB/CIFS and NFS file systems. Between write attempts that failed with EACCES we wait 10ms, and after enough consecutive tries that failed with EACCES we simply time out. In theory a valid EACCES for files to which we simply have no access should've happened already during the call to open(), except for NFS (see open(2)). This can be enabled with the new max-transient-error-timeout property, and a new o-sync boolean property was added to open the file in O_SYNC mode as without that it's not guaranteed that we get EACCES for the actual writev() call that failed but might only get it at a later time. Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/305 2019-05-14 15:44:07 -0400 Aaron Boxer * pkgconfig/gstreamer.pc.in: gstreamer.pc.in: exec_prefix must be defined before libexecdir 2019-05-13 22:47:38 -0400 Thibault Saunier * docs/plugins/gst_plugins_cache.json: docs: Update plugins cache 2019-05-13 22:47:05 -0400 Thibault Saunier * docs/gst-plugins-doc-cache-generator.py: docs: Fix cache invalidation status The dictionnary is updated in place so we were checking the same twice 2018-11-11 20:11:47 -0300 Thibault Saunier * docs/gst-plugins-doc-cache-generator.py: * docs/meson.build: docs: Use the new GstPluginsPath.json to have the right plugin path When inspecting plugins to generate the json cache file. Otherwise when we are not in the uninstalled env and using `gst-build` plugins with dependency might fail/throw warning, etc.. 2018-10-28 12:05:41 +0000 Thibault Saunier * pkgconfig/gstreamer.pc.in: * pkgconfig/meson.build: pkgconfig: Add information about libexecdir https://bugzilla.gnome.org/show_bug.cgi?id=797349 2018-09-13 16:14:22 -0300 Thibault Saunier * docs/README: doc: Update the README 2018-08-19 19:41:41 -0300 Thibault Saunier * docs/plugins/gst_plugins_cache.json: * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstbufferlist.h: * gst/gstcaps.h: * gst/gstcontrolbinding.h: * gst/gstelement.h: * gst/gsterror.c: * gst/gsterror.h: * gst/gstevent.h: * gst/gstinfo.c: * gst/gstinfo.h: * gst/gstmemory.h: * gst/gstmessage.h: * gst/gstminiobject.c: * gst/gstpad.c: * gst/gstpadtemplate.h: * gst/gstpromise.c: * gst/gstprotection.h: * gst/gstquery.h: * gst/gstsample.h: * gst/gststructure.c: * gst/gsttaglist.h: * gst/gsttypefind.h: * gst/gsturi.c: * gst/gsturi.h: * gst/gstvalue.h: * gst/meson.build: * libs/gst/base/gstadapter.c: * libs/gst/base/gstaggregator.c: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasesrc.h: * libs/gst/base/gstcollectpads.c: * libs/gst/controller/gstproxycontrolbinding.c: * libs/gst/net/gstnetclientclock.c: doc: Fix hotdoc warnings * Making sure that `static inline` function are in the GIR (by first defining them, and make sure to mark as skiped) * Do not try to link to unexisting symbols * Also generate GIR information about gst_tracers 2018-10-22 03:14:11 -0300 Thibault Saunier * docs/gst-hotdoc-plugins-scanner.c: * docs/gst-plugins-doc-cache-generator.py: * docs/gst/building.md: * docs/gst/gi-index.md: * docs/gst/index.md: * docs/gst/overview.md: * docs/gst/running.md: * docs/gst/sitemap.txt: * docs/images/gdp-header.png: * docs/images/gdp-header.svg: * docs/images/gst-universe.svg: * docs/index.md: * docs/libs/base/index.md: * docs/libs/base/sitemap.txt: * docs/libs/check/index.md: * docs/libs/check/sitemap.txt: * docs/libs/controller/index.md: * docs/libs/controller/sitemap.txt: * docs/libs/index.md: * docs/libs/net/index.md: * docs/libs/net/sitemap.txt: * docs/meson.build: * docs/plugins/Makefile.am: * docs/plugins/gst_plugins_cache.json: * docs/plugins/gstreamer-plugins-docs.sgml: * docs/plugins/gstreamer-plugins-sections.txt: * docs/plugins/gstreamer-plugins.args: * docs/plugins/gstreamer-plugins.hierarchy: * docs/plugins/gstreamer-plugins.interfaces: * docs/plugins/gstreamer-plugins.prerequisites: * docs/plugins/gstreamer-plugins.signals: * docs/plugins/gstreamer-plugins.types: * docs/plugins/index.md: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coretracers.xml: * docs/plugins/sitemap.txt: * docs/version.in: * gst/gstelement.c: * gst/gsterror.c: * gst/gstmessage.c: * gst/gstpoll.c: * gst/meson.build: * libs/gst/base/gstbitreader.c: * libs/gst/base/gstbytereader.c: * libs/gst/base/gstbytewriter.c: * libs/gst/base/meson.build: * libs/gst/check/meson.build: * meson.build: * meson_options.txt: * plugins/elements/gstcapsfilter.c: * plugins/elements/gstelements.c: * plugins/elements/meson.build: * plugins/meson.build: * tools/tools.h: Port to hotdoc 2018-09-14 09:24:26 -0300 Thibault Saunier * Makefile.am: * configure.ac: * docs/Makefile.am: * docs/gst/.gitignore: * docs/gst/Makefile.am: * docs/gst/building.xml: * docs/gst/gst-universe.dot: * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-overrides.txt: * docs/gst/gstreamer-sections.txt: * docs/gst/gstreamer.types.in: * docs/gst/meson.build: * docs/gst/running.xml: * docs/libs/.gitignore: * docs/libs/Makefile.am: * docs/libs/gdp-header.png: * docs/libs/gstreamer-libs-docs.sgml: * docs/libs/gstreamer-libs-overrides.txt: * docs/libs/gstreamer-libs-sections.txt: * docs/libs/gstreamer-libs.types: * docs/libs/meson.build: * docs/list-ulink.xsl: * docs/meson.build: * docs/version.entities.in: * meson.build: doc: Remove gtk-doc support 2018-08-11 10:12:27 -0400 Thibault Saunier * gst/gstobject.c: * gst/gstparamspecs.h: gst: Add a GParamSpecFlag to force gst-inspect to use pspec default value Instead of the object value, this should be used every time a random value will be returned by g_object_get This is also useful to make the values returned by inspecting element stable accross runs. 2018-10-22 11:44:04 +0200 Thibault Saunier * gst/gstcapsfeatures.c: * gst/gstelement.h: * libs/gst/controller/gsttimedvaluecontrolsource.c: doc: Add some missing docstrings 2018-10-22 11:32:45 +0200 Thibault Saunier * gst/gstdynamictypefactory.c: * gst/gstelement.c: * gst/gstelementfactory.h: * gst/gsttracer.h: * gst/gsttracerrecord.h: * gst/gstutils.c: * libs/gst/check/gstcheck.c: * libs/gst/check/gstcheck.h: * plugins/elements/gstqueue.c: doc: Fix and add some missing docstrings 2018-10-22 11:32:40 +0200 Thibault Saunier * gst/gststructure.c: structure: Mark _from_string as constructor 2019-05-13 14:42:28 +0530 Nirbheek Chauhan * gst/meson.build: meson: Pass -DGST_STATIC_COMPILATION for static builds This is only needed on Windows when building with MSVC, but it is safe to pass it everywhere. Closes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/398 2019-05-13 13:24:42 +0530 Nirbheek Chauhan * gst/meson.build: meson: Link to objects instea of static helper library Otherwise the objects from that static helper library are not included in the gstreamer-1.0 static library. This was supposed to be fixed in Meson, but the pull request hasn't been merged yet: https://github.com/mesonbuild/meson/pull/3939 Closes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/398 2019-05-11 18:21:19 +0200 Michael Olbrich * libs/gst/helpers/meson.build: meson: set correct install path for gdb helper The original version of the patch used glib-2.0 but that was later changed to gstreamer-1.0 for autotools. The meson file was forgotten. Fix the path to match the one used in libgstreamer-gdb.py.in. 2019-05-10 14:51:15 +0200 Niels De Graef * gst/gsturi.h: uri: Add gst_clear_uri() Basically, you can use this instead of using `gst_uri_unref()` (which needs to be preceded by a NULL-check). See https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/275 and https://gitlab.freedesktop.org/gstreamer/gstreamer/merge_requests/3 2019-05-09 08:59:59 +0200 Víctor Manuel Jáquez Leal * libs/gst/base/gstbasesink.c: gstbasesink: Fix gir annotation 2019-01-26 10:40:19 -0500 Aaron Boxer * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesink.h: gstbasesink: add stats getter method fixes #355 2019-05-08 12:11:50 +0200 Niels De Graef * gst/gstpromise.h: gst: Add support for g_autoptr(GstPromise) 2019-05-01 15:46:56 +0200 Niklas Hambüchen * gst/parse/get_flex_version.py: Make get_flex_version.py script executable Like all other scripts in the same dir. It has a hashbang, so it should be executable. 2019-04-25 10:41:54 +0530 Guillaume Desmottes * tools/gst-stats.c: gst-stats: format latency as GST_TIME Latency is easier to read when formatted as time rather than displayed as a flat number in ns. Especially when displaying GST_CLOCK_TIME_NONE which is now formated as 99:99:99.999999999 instead of 18446744073709551615. 2019-04-24 18:22:06 +0200 Andoni Morales Alastruey * tools/gst-inspect.c: gst-inspect: fix unused-const-variable error in windows ../tools/gst-inspect.c:44:20: error: 'DEFAULT_PAGER' defined but not used [-Werror=unused-const-variable=] 2018-11-12 19:59:41 +0100 Mathieu Duponchelle * gst/gstsegment.c: * gst/gstsegment.h: gstsegment: Add GST_SEEK_FLAG_TRICKMODE_FORWARD_PREDICTED This is generally useful, and mandated by the ONVIF streaming spec, section 6.5.3 2019-04-20 22:26:52 +0200 Rasmus Thomsen * libs/gst/helpers/meson.build: meson: check for libcap via pkg-config It's possible that setcap is installed, but the libcap headers/libs aren't (e.g. during cross compilation, when you have the program installed for the host, but need the headers of the target). Also removes the need to manually check for the libcap headers. 2019-04-23 18:00:59 +0300 Sebastian Dröge * libs/gst/base/gstbitwriter.h: bitwriter: Fix inclusion of header in C++ code ../subprojects/gstreamer/libs/gst/base/gstbitwriter.h: In function 'gboolean _gst_bit_writer_check_remaining(GstBitWriter*, guint32)': ../subprojects/gstreamer/libs/gst/base/gstbitwriter.h:161:31: error: invalid conversion from 'gpointer' {aka 'void*'} to 'guint8*' {aka 'unsigned char*'} [-fpermissive] bitwriter->data = g_realloc (bitwriter->data, (new_bit_size >> 3)); ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2019-04-23 17:33:34 +0300 Sebastian Dröge * libs/gst/base/base.h: base: Include gstbitwriter.h in the single-include header 2019-04-23 15:08:18 +0300 Sebastian Dröge * gst/gstallocator.h: * gst/gstbin.h: * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstbufferpool.h: * gst/gstclock.h: * gst/gstelement.h: * gst/gstelementfactory.h: * gst/gsterror.h: * gst/gstevent.h: * gst/gstmemory.h: * gst/gstmessage.h: * gst/gstminiobject.h: * gst/gstobject.h: * gst/gstpad.h: * gst/gstparse.h: * gst/gstplugin.h: * gst/gstsegment.h: * gst/gststructure.c: * gst/gstsystemclock.h: gst: Fix various Since markers 2019-04-23 15:07:08 +0300 Sebastian Dröge * libs/gst/base/gstbaseparse.h: * libs/gst/base/gstbasetransform.h: * libs/gst/base/gstcollectpads.h: * libs/gst/controller/gstinterpolationcontrolsource.h: libs: Fix various Since markers 2019-04-23 14:54:03 +0300 Sebastian Dröge * libs/gst/base/gstaggregator.h: aggregator: Mark all public structs as Since: 1.14 2019-04-23 14:39:48 +0300 Sebastian Dröge * gst/gstcaps.c: caps: Add Since: 1.16 marker to gst_caps_copy() 2019-04-23 12:31:07 +0300 Sebastian Dröge * libs/gst/base/gstbitwriter.h: bitwriter: Mark the whole type as Since: 1.16 2018-11-13 13:41:53 +0100 Robert Rosengren * docs/libs/gstreamer-libs-docs.sgml: * docs/libs/gstreamer-libs-sections.txt: * libs/gst/net/Makefile.am: * libs/gst/net/gstnetclientclock.c: * libs/gst/net/gstnettimeprovider.c: * libs/gst/net/gstnetutils.c: * libs/gst/net/gstnetutils.h: * libs/gst/net/meson.build: * libs/gst/net/net.h: netutils: make gst_net_utils_set_socket_dscp external Internal gst_net_utils_set_socket_dscp renamed and turned into external function. Similar functionality exists in e.g. multidupsink, which could instead use this one. 2018-11-13 13:39:43 +0100 Robert Rosengren * libs/gst/net/gstnetutils.c: netutils: Add IPv6 support to QoS DSCP Added IPv6 support as already implemented in multiudpsink (gst-plugins-good). 2019-04-19 12:31:22 +0100 Tim-Philipp Müller * docs/gst/gstreamer-docs.sgml: * docs/libs/gstreamer-libs-docs.sgml: docs: add index for new symbols in 1.16 2019-04-19 10:20:02 +0100 Tim-Philipp Müller * README: * RELEASE: * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coretracers.xml: * meson.build: Back to development === release 1.16.0 === 2019-04-19 00:15:21 +0100 Tim-Philipp Müller * ChangeLog: * NEWS: * README: * RELEASE: * configure.ac: * gstreamer.doap: * meson.build: Release 1.16.0 2019-04-19 00:15:21 +0100 Tim-Philipp Müller * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coretracers.xml: Update docs 2019-04-19 00:15:19 +0100 Tim-Philipp Müller * po/zh_CN.po: Update translations 2019-04-18 10:13:51 +0200 Olivier Crête * libs/gst/base/gstbasesrc.c: basesrc: Downgrade EOS warning In the case of pushfilesrc, this is the expected behaviour, so let's downgrade the warning to a debug message to avoid confusing users. 2019-04-17 20:46:58 +0200 Mathieu Duponchelle * tests/check/libs/basesrc.c: tests: basesrc: unref gst_bus_timed_pop_filtered return 2019-04-16 13:29:00 +0200 Mathieu Duponchelle * gst/gst.c: * gst/gst_private.h: * gst/gstinfo.c: gstinfo: clean up function pointer names hashtable And add strduped function pointer names to the global quark table, so that they don't get reported as lost by valgrind. This allows us to use GST_DEBUG when running tests under valgrind. 2019-04-16 23:50:15 +0100 Tim-Philipp Müller * libs/gst/base/gstaggregator.c: aggregator: fix doc chunk for new buffer-consumed signal Fixes 'Warning: GstBase: incorrect number of parameters in comment block, parameter annotations will be ignored.' from g-ir-scanner. 2019-04-12 09:23:52 -0400 Julian Bouzas * plugins/tracers/gstlatency.c: tracer: latency: Don't compare element name as element Id is already unique 2019-04-12 08:38:03 -0400 Julian Bouzas * plugins/tracers/gstlatency.c: tracer: latency: Remove redundant if conditions 2019-04-12 08:34:49 -0400 Julian Bouzas * plugins/tracers/gstlatency.c: tracer: latency: Make GST_DEBUG logs consistent 2019-04-12 08:28:22 -0400 Julian Bouzas * plugins/tracers/gstlatency.c: tracer: latency: Fix bug when dropping sub-latency probe event Fixes #373 2019-04-12 16:37:18 +0200 Philipp Zabel * gst/gstevent.c: event: fix seek event creation Creating seek events segfaults on 32-bit ARM since commit 2fa15d53717c ('event: add new seek parameter, "trickmode-interval"'), which missed casting the trickmode-interval initializer in the variable argument list to guint64. 2019-04-11 15:32:51 -0400 Xavier Claessens * tools/gst-inspect.c: gst-inspect: Do not print warning if 'less' is missing === release 1.15.90 === 2019-04-11 00:19:11 +0100 Tim-Philipp Müller * ChangeLog: * NEWS: * RELEASE: * configure.ac: * gstreamer.doap: * meson.build: Release 1.15.90 2019-04-11 00:19:11 +0100 Tim-Philipp Müller * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coretracers.xml: Update docs 2019-04-10 09:17:01 -0400 Julian Bouzas * plugins/tracers/gstlatency.c: tracer: latency: Fix typo bug 2019-04-10 09:13:53 -0400 Julian Bouzas * plugins/tracers/gstlatency.c: tracer: latency: Fix bug when storing latency probe event The pad name sotred in the latency event has no longer the name of the element, so we have to get the element Id, element name and pad name values from the data structure and compare all 3 values. 2019-04-10 10:18:54 +0300 Sebastian Dröge * gst/gstcontrolbinding.c: controlbinding: Check if the weak pointer was cleared before explicitly removing it Otherwise we'll get an assertion if the object behind the weak pointer was already destroyed in the meantime as we would pass NULL as first argument to g_object_remove_weak_pointer(). 2019-04-09 08:05:09 -0400 Julian Bouzas * plugins/tracers/gstlatency.c: * tools/gst-stats.c: tracer: latency: Show element id, element name and pad name 2019-03-25 15:36:08 +0100 Julian Bouzas * tools/gst-stats.c: gst-stats: Add element latency support This will output latency information when parsing a log file with gst-stats that has latency trace information. It will show the min, max and mean latency for the pipeline and all its elements. It will also show the reported latency for each element of the pipeline. Output example: Latency Statistics: pulsesrc0_src|fakesink0_sink: mean=190000043 min=190000043 max=190000043 Element Latency Statistics: flacparse0_src: mean=45561281 min=654988 max=90467575 flacenc0_src: mean=89938883 min=81913512 max=97964254 flacdec0_src: mean=45804881 min=228962 max=91380801 Element Reported Latency: pulsesrc0: min=10000000 max=200000000 ts=0:00:00.262846528 flacenc0: min=104489795 max=104489795 ts=0:00:00.262898616 flacparse0: min=0 max=0 ts=0:00:00.262927962 2019-03-21 10:37:34 +0100 Julian Bouzas * plugins/tracers/gstlatency.c: * plugins/tracers/gstlatency.h: tracer: latency: Show per-element reported latency 2019-03-20 12:20:48 +0100 Julian Bouzas * plugins/tracers/gstlatency.c: tracer: latency: Show element's source pad name instead of element's name The full pad name gives more information than the element's name, which is very useful when elements have multiple source pads. 2019-03-18 21:55:50 -0400 Nicolas Dufresne * plugins/tracers/gstlatency.c: latency: Dot not override already stored events First, the event would be leaved, but also when an element takes several buffers before producing one, we want the reported latency to be the aggregation, so the distance from the oldest buffer. 2018-10-31 16:50:48 -0400 Nicolas Dufresne * plugins/tracers/gstlatency.c: * plugins/tracers/gstlatency.h: tracer: latency: Add parameter to select latency type This sets back the default to trace only pipeline latency, and add flags to enabled element tracing. It is now possible to only trace element latency, only trace pipeline latency, trace both or none. 2018-07-06 17:08:24 -0400 Nicolas Dufresne * plugins/tracers/gstlatency.c: tracer: latency: Add per element latency tracer This adds per element latency tracing. 2018-07-04 14:18:42 -0400 Nicolas Dufresne * plugins/tracers/gstlatency.c: tracer: Don't pass pads inside GstEvent This removes the passing of pad inside of a GstEvent. While this is not a bug, it may affect the live time of the pad, hense change the pipeline behaviour. 2018-11-13 21:19:22 +0100 Mathieu Duponchelle * libs/gst/base/gstbasesrc.c: * tests/check/libs/basesrc.c: basesrc: do not send EOS when automatic_eos is FALSE 2019-04-01 12:22:49 +0200 Mathieu Duponchelle * libs/gst/base/gstaggregator.c: aggregator: add buffer-consumed pad signal The signal will be emitted when a buffer was consumed on a pad, if the newly-added "emit-signals" property has been set to TRUE. Handlers connected to the signal will receive a valid reference on the consumed buffer, allowing for example the retrieval of metas in order to forward them once an output buffer is pushed out. 2019-04-05 11:43:53 +0200 Antonio Ospite * tools/gst-inspect.c: gst-inspect: fix printing the first field of a GstStructure When printing a GstStructure property (e.g. the "stats" property in rtpsession) the first field is printed on the same line of the type description, and this is both inconsistent compared to how Enum values are printed and confusing as the reader might miss the first field. To fix this, add a newline before printing GstStructure fields in properties. NOTE: this does not change the existing inconsistent behavior of an extra newline *after* a GstStructure property, but the latter is not as annoying and it would take more effort to fix because GstStructure fields are printed in CAPS descriptions too. 2019-04-01 18:34:07 +0200 Mathieu Duponchelle * docs/gst/gstreamer-sections.txt: * gst/gstevent.c: * gst/gstevent.h: * gst/gstquark.c: * gst/gstquark.h: * tests/check/gst/gstevent.c: event: add new seek parameter, "trickmode-interval" When performing a key unit trickmode seek, it may be useful to specify a minimum interval between the output frames, either in very high rate cases, or as a protection against streams that may contain an overly large amount of key frames. One use case is ONVIF Section 6.5.3: 2019-03-22 17:46:03 +0100 Antonio Ospite * tests/check/gstreamer.supp: tests: add the valgrind suppression file from the "common" module Other gstreamer repositories have their own valgrind suppression file directly in the repository. Add a suppression file to the core gstreamer repository too, this makes it easier to use it with gst-build which does not check out the common module. This is also a little step towards the removal of the common submodule. NOTE: the added file is the latest version from the "common" repository but it has been renamed from gst.supp to gstreamer.supp for symmetry with the suppression files in the other repositories. 2019-03-23 18:31:42 +0000 Tim-Philipp Müller * meson.build: g-i: pass --quiet to g-ir-scanner This suppresses the annoying 'g-ir-scanner: link: cc ..' output that we get even if everything works just fine. We still get g-ir-scanner warnings and compiler warnings if we pass this option. 2019-03-23 18:17:43 +0000 Tim-Philipp Müller * libs/gst/check/gstcheck.c: check: suppress some g-i warnings gstcheck.c:142: Warning: GstCheck: gst_check_add_log_filter: return value: Invalid non-constant return of bare structure or union; register as boxed type or (skip) gstcheck.h:178: Warning: GstCheck: gst_check_run_suite: argument suite: Unresolved type: 'Suite*' 2019-03-23 17:53:54 +0000 Tim-Philipp Müller * meson.build: g-i: silence 'nested extern' compiler warnings when building scanner binary We need a nested extern in our init section for the scanner binary so we can call gst_init to make sure GStreamer types are initialised (they are not all lazy init via get_type functions, but some are in exported variables). There doesn't seem to be any other mechanism to achieve this, so just remove that warning, it's not important at all. 2019-03-23 17:53:07 +0000 Tim-Philipp Müller * libs/gst/base/gstbitwriter.c: bitwriter: mark as 'skip' for gobject-introspection Silences g-ir-scanner warnings. We do the same for ByteWriter. 2019-03-21 18:55:16 +1100 Matthew Waters * libs/gst/base/gstaggregator.c: aggregator: don't leak gap buffer when out of segment 2019-03-21 18:47:04 +1100 Matthew Waters * libs/gst/base/gstaggregator.c: aggregator: take the pad lock around queue gap event removal As is done for every other queue interaction 2019-03-20 17:43:02 +1100 Matthew Waters * libs/gst/base/gstbaseparse.c: baseparse: don't reset the disable-passthrough property value Resetting as a result of _reset() on PAUSED->READY is unexpected. 2019-03-14 11:59:43 +0100 Stephane Cerveau * gst/gstelement.c: gst_element_get_factory: update documentation Inform about a potential NULL result. 2019-03-13 18:46:14 +0100 Stephane Cerveau * gst/gstelementfactory.c: gst_element_factory_get_metadata: protect from null factory 2019-03-12 21:19:23 +0000 Damian Vicino * README: Update README 2019-03-12 20:12:37 +0000 Damian Vicino * README: Update README to have correct name of the license file documented (COPYING). There is no LICENSE file in the root directory, and COPYING file content is a license file. 2019-03-10 15:35:39 +0900 Seungha Yang * tests/check/meson.build: tests: fdsrc: Exclude unit test on Windows Since elements_fdsrc.test_num_buffers uses blocking pipe on Windows, the test will never be finished. But emulating non-blocking fd without win32 APIs on Windows is a little tricky. 2019-03-08 16:19:29 +0100 Santiago Carot-Nemesio * gst/gsttaskpool.c: gsttaskpool: Do not block tasks while cleaning up the taskpool There is a deadlock if any thread from the pool tries to push a new task while other thread is waiting for the pool of threads to finish. With this patch the thread will get an error when it tries to add a new task while the taskpool is being cleaned up. 2019-03-06 19:46:46 +0100 Marco Trevisan (Treviño) * gst/gsturi.c: gsturi: Fix annotation on get_path to return a nullable Use proper syntax or the (nullable): part will be part of the description 2019-03-06 19:34:12 +0100 Marco Trevisan (Treviño) * gst/gstmessage.c: gstmessage: Fix annotations on details Details argument should be nullable, but the docstring uses a wrong syntax. 2019-03-06 09:04:54 +0000 Tim-Philipp Müller * tests/check/gst/gstbuffer.c: tests: fix leak in buffer test_wrapped_bytes test 2019-03-01 11:59:14 +0100 Mathieu Duponchelle * gst/gstbuffer.c: * tests/check/gst/gstmeta.c: gstbuffer: store meta in add order The previous implementation of add was implemented as a prepend, switch to append as that seems like the expected order. 2019-03-04 09:01:07 +0000 Tim-Philipp Müller * NEWS: * RELEASE: * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coretracers.xml: * meson.build: Back to development 2019-02-28 16:48:57 +0100 Santiago Carot-Nemesio * gst/gsttaskpool.c: taskpool: Set error in case something goes wrong in the default handlers === release 1.15.2 === 2019-02-26 11:38:00 +0000 Tim-Philipp Müller * ChangeLog: * NEWS: * RELEASE: * configure.ac: * gstreamer.doap: * meson.build: Release 1.15.2 2019-02-26 13:23:47 +0000 Tim-Philipp Müller * gst/parse/Makefile.am: meson: dist get_flex_version.py 2019-02-26 11:38:00 +0000 Tim-Philipp Müller * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coretracers.xml: Update docs 2019-02-26 11:37:57 +0000 Tim-Philipp Müller * po/af.po: * po/ast.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/fur.po: * po/gl.po: * po/hr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update translations 2019-02-25 13:49:43 +0100 Philipp Zabel * gst/gstplugin.c: plugin: add 0BSD as valid license Add the zero-clause BSD license, which is an alteration of the ISC license, to the list of valid licenses. 2019-02-25 13:48:38 +0100 Philipp Zabel * gst/gstplugin.c: plugin: fix link to 3-clause BSD license The current link points to the 2-clause BSD license, explicitly link to the 3-clause version of the license. 2019-02-20 17:51:40 +0530 Nirbheek Chauhan * gst/gstmacros.h: gstmacros.h: Fix restrict definition on MSVC Turns out it's exposed as `__restrict`, not as `restrict`. https://gitlab.freedesktop.org/gstreamer/gstreamer/merge_requests/95#note_120782 2019-02-20 01:25:11 +0530 Nirbheek Chauhan * gst/gstmacros.h: gstmacros.h: Fix check for 'restrict' keyword MSVC also defines it as a keyword. Fixes build errors in projects that include MSVC's xkeycheck.h which ensures that keywords aren't overriden with a define. 2019-02-18 09:58:19 +0900 Seungha Yang * gst/gstbuffer.c: buffer: Don't miss return value on Windows build ... and use InterlockedExchangeAdd64 for the 64bit value. InterlockedExchangeAdd is 32bit version. 2019-02-15 13:23:37 +0200 Sebastian Dröge * gst/gstbus.c: bus: Make removing of signal/bus watches thread-safe Between getting the GSource with the mutex and destroying it, something else might've destroyed it already and we would have a dangling pointer. Keep an additional reference just in case. 2019-02-15 13:20:27 +0200 Sebastian Dröge * gst/gstbus.c: bus: Don't allow removing signal watches with gst_bus_remove_watch() Signal watches are reference counted and gst_bus_remove_watch() would immediately remove it, breaking the reference counting. Only gst_bus_remove_signal_watch() should be used for removing signal watches. 2019-02-11 15:21:21 +1300 Lawrence Troup * gst/gstpad.c: * gst/gstpad.h: pad: Document that pad unlink function is called with pad lock held Fixes #353 2016-12-02 17:56:59 +0000 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gst_private.h: * gst/gstbuffer.c: * gst/gstmeta.c: * gst/gstmeta.h: * tests/check/gst/gstmeta.c: buffer: store sequence number for metas For metas where order might be significant if multiple metas are attached to the same buffer, so store a sequence number with the meta when adding it to the buffer. This allows users of the meta to make sure metas are processed in the right order. We need a 64-bit integer for the sequence number here in the API, a 32-bit one might overflow too easily with high packet/buffer rates. We could do it rtp-seqnum style of course, but that's a bit of a pain. We could also make it so that gst_buffer_add_meta() just keeps metas in order or rely on the order we add the metas in, but that seems too fragile overall, when buffers (incl. metas) get merged or split. Also add a compare function for easier sorting. We store the seqnum in the MetaItem struct here and not in the GstMeta struct since there's no padding in the GstMeta struct. We could add a private struct to GstMeta before the start of GstMeta, but that's what MetaItem effectively is implementation- wise. We can still change this later if we want, since it's all private. Fixes #262 2019-02-09 11:35:59 +0200 Sebastian Dröge * gst/gstdeviceprovider.c: deviceprovider: It's (transfer none) not (transfer-none) 2019-01-30 10:41:58 -0300 Thibault Saunier * docs/gst/gstreamer-sections.txt: * gst/gstdevicemonitor.c: * gst/gstdeviceprovider.c: * gst/gstdeviceprovider.h: * gst/gstmessage.c: * gst/gstmessage.h: * gst/gstquark.c: * gst/gstquark.h: device-provider: Allow notifying application of device changes Thi introduces new APIs to post a `DEVICE_CHANGED` message on the bus so the application is notifies when a device is modified. For example, if the "defaultness" of a device was changed or any property that can be changed at any time. Atomically changing the device object notifying that way allow us to abtract away the internal threads. New APIS: - gst_message_new_device_changed - gst_message_parse_device_changed - gst_device_provider_device_changed 2019-02-08 16:42:43 +0530 Nirbheek Chauhan * gst/parse/get_flex_version.py: * gst/parse/meson.build: meson: Extract flex version using a regex inside a script Different builds of Flex on different platforms output different strings in --version. For example: macOS: flex 2.5.35 Apple(flex-31) Windows: win_flex.exe 2.6.4 C:\Program Files (x86)\GnuWin32\bin\flex.EXE version 2.5.4 We need to look for a string that looks like a version, which means a regex till https://github.com/mesonbuild/meson/issues/1609 is fixed. Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/356 2019-02-05 18:18:48 +0530 Nirbheek Chauhan * libs/gst/check/gstharness.c: * tests/check/gst/gstmeta.c: * tools/gst-inspect.c: misc: Fix various compiler warnings on MinGW gstharness.c: Use G_GSIZE_FORMAT instead of hard-coding %zu error: unknown conversion type character 'z' in format [-Werror=format] gst-inspect.c: GPid is void* on non-UNIX, and we only use it on UNIX error: initialization makes pointer from integer without a cast [-Werror] gstmeta.c: Use and then discard value error: value computed is not used [-Werror=unused-value] With this, gstreamer builds with -Werror on MinGW 2019-01-29 16:26:49 +0200 Sebastian Dröge * gst/gstdatetime.c: datetime: new() and new_local_time() constructors are not nullable 2019-01-29 15:50:06 +0200 Sebastian Dröge * gst/gstpad.c: pad: Constructors are all not nullable They can't possibly return NULL except in case of assertions. 2019-01-29 15:49:50 +0200 Sebastian Dröge * gst/gstpadtemplate.c: padtemplate: Constructors are all nullable as they check the template name 2019-01-29 12:01:59 +0100 Edward Hervey * tests/check/libs/baseparse.c: test: Set PTS on proper variable This would previously set the PTS on a random address causing various memory corruption 2019-01-25 02:36:18 +0100 Mathieu Duponchelle * gst/gstinfo.c: * meson.build: * meson_options.txt: gstinfo: add Windows stacktraces support This uses the DbgHelp library if available 2019-01-25 13:46:59 -0500 Nicolas Dufresne * gst/gstpad.c: pad: Remove unneeded 64bit upcast in debug trace The hook->hook_id is a gulong for which there are no portability issues when tracing in printf format with %lu. So use %lu and remove the upcast to 64 bit. This makes the code more consistent with everything else tracing that hook_id and other gulong id. 2019-01-24 13:52:46 -0500 Nicolas Dufresne * tools/gst-inspect.c: gst-inspect: Re-add DEFAULT_LESS_OPTS with initial value Commit 56b4fbef5e6760adc927d0e1c7c8d6a0db9b785c refactored the pipe code to use GLib utility, but the patch was hading some other changed. LESS env was now hardcoded in the middle instead of from a define and was changed from FXR to -RX. The "-" is not even valid for LESS env, and with the lost of F, we would still use a pager when the content fits the terminal. 2019-01-23 13:51:08 +0200 Sebastian Dröge * gst/gsttaglist.c: taglist: Remove (scope call) annotation from gst_tag_register() This was added in 7fdb15d6a2 but it is wrong. (scope call) is for closures that only have to stay valid for the scope of the call, but the tag merge function has to stay valid for the whole lifetime of the application instead. There's no appropriate scope annotation for that so we have to skip these functions for now. 2019-01-23 12:15:13 +0900 Seungha Yang * tests/check/gst/gstinfo.c: tests: info: Fix spurious validation Should be equality check, not assignment. Additionally, use fail_unless_equals_* macro for better readability and debugging easier, if possible. 2019-01-23 21:15:09 +0100 Mathieu Duponchelle * gst/parse/meson.build: meson: improve flex version parsing the output of flex --version can contain more than one space 2019-01-22 14:05:43 +0900 Seungha Yang * meson.build: meson: Correct minimum required GLib version It's updated to 2.40.0 since the commit 3e8ef4cf5a41e26836f0a5a8cb3ddaa5e55f1524 2019-01-17 11:22:27 +0900 Seungha Yang * tools/gst-inspect.c: gst-inspect: Don't setup pager too early Setup it only if we have something to print out about inspected results. Otherwise, gst_tools_print_version() output will be redirected to pager and also exit immediately without waiting child process. 2019-01-08 21:23:44 +0900 Seungha Yang * tools/gst-inspect.c: gst-inspect: Port to Glib's spawn API Although we support pager just for *nix until now, this can make more portable to Windows. Fixes #342 === release 1.15.1 === 2019-01-17 01:38:59 +0000 Tim-Philipp Müller * ChangeLog: * NEWS: * RELEASE: * configure.ac: * gstreamer.doap: * meson.build: Release 1.15.1 2019-01-17 01:38:59 +0000 Tim-Philipp Müller * docs/plugins/gstreamer-plugins.args: * docs/plugins/gstreamer-plugins.hierarchy: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coretracers.xml: Update docs 2019-01-17 01:38:49 +0000 Tim-Philipp Müller * po/af.po: * po/ast.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/fur.po: * po/gl.po: * po/hr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update translations 2019-01-17 01:30:25 +0530 Nirbheek Chauhan * tools/gst-inspect.c: gst-inspect: Fix ANSI escape sequence usage on Windows Either disable it when it's not supported, or setup the console to interpret them correctly when it's supported. Closes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/351 2019-01-15 18:05:31 +0200 Sebastian Dröge * gst/gstpad.c: pad: Fix printf format when printing hook id It's a gulong so we have to cast it to a guint64 when using it with G_GUINT64_FORMAT. Spotted by Vincent Penvern. 2019-01-14 16:22:16 +0800 Daniel Drake * gst/gstdeviceprovider.c: deviceprovider: fix counting number of times started GstDeviceProvider has a started_count private variable counter, and the gst_device_provider_start() documentation emphasizes the importance of balancing the start and stop calls. However, when starting a provider that is already started, the current code will never increment the counter more than once. So you start it twice, but it will have start_count 1, which is the maximum value it will ever see. Then when you stop it twice, on the 2nd stop, after decrementing the counter in gst_device_provider_stop(): else if (provider->priv->started_count < 1) { g_critical ("Trying to stop a GstDeviceProvider %s which is already stopped", GST_OBJECT_NAME (provider)); and the program is killed. Fix this by incrementing the counter when starting a device provider that was already started. 2019-01-11 12:32:49 +0200 Jordan Petridis * tests/check/gst/gstdatetime.c: tests: gstdatetime: move gst_date_time_new* and time() calls closer While extremelly rare, time and gst_date_time_new_* will have diff values and potentially trigger an assertion. Thus move the calls as closely together as possible to mitigate this. 2019-01-10 12:05:34 +0000 Sebastian Dröge * gst/gstbin.c: Revert "bin: Hold the state lock while removing elements from a bin" This reverts commit 7f70d7a9450b321585fbfd1eb977548d4264b2a6 2019-01-09 14:01:02 +0100 Jan Alexander Steffens (heftig) * tests/check/gst/gststructure.c: tests: Add more int range fixation tests 2019-01-09 13:38:44 +0100 Jan Alexander Steffens (heftig) * gst/gststructure.c: structure: Support stepped ranges when fixating The step restriction was completely ignored until now. 2019-01-09 13:37:30 +0100 Jan Alexander Steffens (heftig) * gst/gststructure.c: structure: Use GLib's CLAMP macro for fixating ranges Just a bit of refactoring. 2019-01-07 14:08:25 +0200 Sebastian Dröge * gst/gstelement.c: element: Add note about racyness to gst_element_set_locked_state() This is racy if the state lock of the parent bin is not taken. The parent bin might've just checked the flag in another thread and as the next step proceed to change the child element's state. 2019-01-07 14:08:00 +0200 Sebastian Dröge * gst/gstbin.c: bin: Hold the state lock while removing elements from a bin We need to take the state lock here to ensure that we're not currently just before setting the state of this child element. Otherwise it can happen that we removed the element here and e.g. set it to NULL state, and shortly afterwards have another thread set it to a higher state again as part of a state change for the whole bin. When adding an element to the bin this is not needed as we require callers to always ensure after adding to the bin that the new element is set to the correct state. 2019-01-05 18:55:12 +0000 Tim-Philipp Müller * libs/gst/base/gstaggregator.c: aggregator: fix typo in docs 2019-01-02 23:35:11 +0200 Sebastian Dröge * tests/check/gst/gstpipeline.c: pipeline: Call gst_task_cleanup_all() before checking reference counts after shutdown We have to ensure that all background threads from thread pools are shut down, or otherwise they might not have had a chance yet to drop their last reference to the pipeline and then the assertion for a reference count of 1 on the pipeline fails. 2019-01-02 18:41:24 +0200 Sebastian Dröge * tests/check/gst/gstpipeline.c: pipeline: Use the test clock in all unit tests And check for exact times as we can now do that thanks to the test clock being deterministic. Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/313 2018-09-26 17:09:50 +0200 Michael Olbrich * libs/gst/helpers/gst_gdb.py: gdb: implement 'gst-dot' and 'gst-print' commands This adds two custom gdb commands: 'gst-dot' creates dot files that a very close to what GST_DEBUG_BIN_TO_DOT_FILE() produces. Object properties and buffer content (e.g. codec-data in caps) are not available. 'gst-print' produces high-level information about GStreamer objects. This is currently limited to pads for GstElements and events for the pads. The output can look like this: (gdb) gst-print pad.object.parent GstMatroskaDemux (matroskademux0) { SinkPad (sink, pull) { } SrcPad (video_0, push) { events: stream-start: stream-id: 0463ccb080d00b8689bf569a435c4ff84f9ff753545318ae2328ea0763fd0bec/001:1274058367 caps: video/x-theora width: 1920 height: 800 pixel-aspect-ratio: 1/1 framerate: 24/1 streamheader: < 0x5555557c7d30 [GstBuffer], 0x5555557c7e40 [GstBuffer], 0x7fffe00141d0 [GstBuffer] > segment: time rate: 1 tag: global container-format: Matroska } SrcPad (audio_0, push) { events: stream-start: stream-id: 0463ccb080d00b8689bf569a435c4ff84f9ff753545318ae2328ea0763fd0bec/002:1551204875 caps: audio/mpeg mpegversion: 4 framed: true stream-format: raw codec_data: 0x7fffe0014500 [GstBuffer] level: 2 base-profile: lc profile: lc channels: 2 rate: 44100 segment: time rate: 1 tag: global container-format: Matroska tag: stream audio-codec: MPEG-4 AAC audio language-code: en } } 2018-12-29 16:20:54 +0100 Michael Olbrich * libs/gst/helpers/gst_gdb.py: gdb: make the code PEP-8 compliant 2018-12-31 14:55:55 +0000 Tim-Philipp Müller * tests/check/gst/gststream.h: tests: remove unused gststream.h file Looks like an earlier version of the .c file. 2018-12-19 16:55:57 -0500 Nicolas Dufresne * tools/gst-inspect.c: gst-inspect: Disable colors when piped This follows what git and systemd tools would do. 2018-12-19 16:06:40 -0500 Nicolas Dufresne * tools/gst-inspect.c: gst-inspect: Fix pager color with less Fixes #341 2018-12-19 00:34:40 +0000 Tim-Philipp Müller * libs/gst/base/gstbasesrc.c: basesrc: ensure submitted buffer list is writable Fixes flaky appsrc unit test where depending on scheduling the submitted list might not be writable if submitted via an action signal from the application thread. Fixes gst-plugins-base#522 2018-12-14 15:55:27 +0000 Jonny Lamb * plugins/elements/gstidentity.c: * plugins/elements/gstidentity.h: identity: fixes to the eos-after and error-after properties I copied `error-after` to make the `eos-after` property, but it turned out there were some problems with that one, so this patch: adds separate counters (so setting to NULL and reusing the element will still work); clarifies the properties' min values; and reports an error when both are set. 2018-11-28 14:58:32 -0600 Michael Gruner * scripts/gst-uninstalled: gst-uninstalled: include prefix in the plugins path 2018-12-17 23:29:16 +0900 Seungha Yang * tests/check/gst/gstdatetime.c: tests: datetime: Fix failure on Windows The documentation for WIN32 mktime indicates that for struct tm* before January 1, 1970, that -1 is returned, and since mktime is timezone dependent, the struct tm corresponding to 1:00, Jan. 1, 1970 might be failed. See also https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/mktime-mktime32-mktime64 2018-09-25 09:03:03 +0200 Edward Hervey * plugins/elements/gstqueue2.c: queue2: Add details of query in debug log 2018-12-15 11:42:30 +0100 Edward Hervey * gst/parse/grammar.y: parse: Move variable to block where it's used There was a dead assignment used outside of the bin/pipeline creation which was confusing (and unused). Just move that variable to where it is actually used. (Note that that variable was not needed outside of that block since the refactoring done in 2b33d3318519fd613dd5a4ebbd7c308609904e68 ) 2018-12-15 11:08:09 +0100 Edward Hervey * tests/examples/streamiddemux/streamiddemux-stream.c: examples: Remove dead assignments Those values are always set after before usage 2018-12-15 11:07:21 +0100 Edward Hervey * libs/gst/check/gstharness.c: harness: assert on result of gst_pad_push_event() That assertion was accidentally removed in the refactoring done in 60de1f26c78feb0cde6d3f82cf86cf35daa71cc0 2018-12-15 10:53:55 +0100 Edward Hervey * tools/gst-inspect.c: gst-inspect: Remove dead assignment readable is set just after before usage since 906bbd3817c86e64d1bfa57570469055456addfe 2018-12-14 18:38:21 +0200 Sebastian Dröge * tests/check/gst/gstpad.c: pad: Let threads in the test take ownership of a strong reference to their pads Otherwise it can easily happen that the pad is destroyed before the thread disappears, as happened sometimes in the test_pad_probe_block_add_remove test where joining of the thread was done *after* the pad was unreffed and destroyed. Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/339 2018-12-14 18:37:53 +0200 Sebastian Dröge * gst/gstpad.c: pad: Print some debug information about pad probe hooks we remove 2018-12-11 16:48:56 +0000 Jonny Lamb * plugins/elements/gstidentity.c: * plugins/elements/gstidentity.h: identity: add eos-after property Using `num-buffers` can be unpredictable as buffer sizes are often arbitrary (filesrc, multifilesrc, etc.). The `error-after` property on `identity` is better but obviously reports an error afterwards. This adds `eos-after` which does exactly the same thing but reports EOS instead. 2018-12-11 10:48:46 +0100 Guillaume Desmottes * docs/gst/gstreamer-sections.txt: * gst/gstcaps.c: * gst/gstcaps.h: * tests/check/gst/gstcaps.c: gstcaps: add gst_caps_set_features_simple() Convenient helper setting a caps feature on all the structures of a caps. 2018-12-06 20:22:21 +0000 Roman Sivriver * libs/gst/helpers/Makefile.am: gst: fixed the install command for gdb python macros on macos - `install -D` is not supported by BSD install 2018-12-01 10:32:07 -0500 Dardo D Kleiner * tests/check/gst/gstmeta.c: buffer: Add more exhaustive test for gst_buffer_foreach_meta() meta removal Existing test for iterating/removing buffer meta data was insufficient to detect linked list corruption when removing multiple items, and could also suffer from such corruption in attempting to count remaining items. Modified the one test and added several others to exercise multiple scenarios. Validates fix for issue #332. 2018-12-01 10:48:11 -0500 Dardo D Kleiner * gst/gstbuffer.c: buffer: Fix memory corruption in gst_buffer_foreach_meta() when removing metas Fix corruption of meta list head when removing metas at the beginning during iteration. Linked list handling in gst_buffer_foreach_meta failed to track the previous entry and update the correct next pointer when removing items from beyond the head of the list, resulting in arbitrary list pointer corruption. Closes #332 2018-12-05 17:24:00 -0300 Thibault Saunier * common: Automatic update of common submodule From cd1dee0 to 59cb678 2018-11-23 21:22:21 -0500 Nicolas Dufresne * meson.build: * meson_options.txt: libdw support is optional This was no longer optional, leading to deadcode. This regression was found trying to fix the unwind variant in cerbero. 2018-11-29 12:54:46 +0100 Zeeshan Ali * tools/gst-inspect.c: gst-inspect: Fix colors for "URI handling" section They seemed incompatible with other colors. 2018-11-28 18:06:54 +0100 Zeeshan Ali * tools/gst-inspect.c: gst-inspect: Avoid use of non-bright blue color Simple blue doesn't work on Linux console, which also happens to be a gnome-terminal theme. Use bright-blue instead. 2018-11-26 22:00:28 +0900 KimTaeSoo * tests/check/libs/baseparse.c: baseparse: Add unit test for short reads Before the previous commit, buffer pulling count and chain function call counts are not equal due to EOS. After the modification, these counts are equal so unit test is passing. https://gitlab.freedesktop.org/gstreamer/gstreamer/merge_requests/33 https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/294 2018-11-15 00:17:09 +0900 KimTaeSoo * libs/gst/base/gstbaseparse.c: baseparse: Use buffer from short reads instead of pulling again baseparse internally uses a 64kb buffer for pulling data from upstream. If a 64kb pull is failing with a short read, it would previously pull again the requested size. Doing so is not only inefficient but also seems to cause problems with some elements (rawvideoparse) where the second pull would fail with EOS. Short reads are only allowed in GStreamer at EOS. Closes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/294 2018-11-28 11:00:21 +0000 Philippe Normand * plugins/elements/gstinputselector.c: input-selector: Let context queries pass through By doing so GL source elements can successfully reuse the GL context and display of downstream elements. This change fixes an issue in playbin when using gltestsrc where the context query made by the source element would fail and the source element would create a second (useless) GLDisplay. 2018-11-28 05:58:53 +0200 Jordan Petridis * gst/gstsystemclock.c: * libs/gst/check/libcheck/check.c: * plugins/elements/gstfdsink.c: * tests/benchmarks/capsnego.c: * tests/check/gst/gstpad.c: * tests/check/gst/gsturi.c: Run gst-indent through the files This is required before we enabled an indent test in the CI. https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/33 2018-11-24 14:51:19 +0100 Zeeshan Ali * tools/gst-inspect.c: gst-inspect: Use only original 16 colors Not only this will make colored output work on old terminals and console as well, terminals can theme the actual colors this way to make it fit with their different themes this way. 2018-11-27 02:59:41 +0100 Mathieu Duponchelle * libs/gst/check/gstharness.c: Revert "harness: Take ownership of floating references (pads, elements) passed to the harness" This reverts commit 2faf93c009d866d68cf0d063a29bb8c21f192aea. THis broke half our unit tests, oops: https://ci.gstreamer.net/job/GStreamer-master/11203/testReport/ 2018-11-13 14:32:56 +0200 Sebastian Dröge * libs/gst/check/gstharness.c: harness: Take ownership of floating references (pads, elements) passed to the harness Without this bindings get confused about the meaning of references, and we really own these references if they are not already owned by something else. 2018-11-24 12:06:38 +0100 Zeeshan Ali * tools/gst-inspect.c: gst-inspect: Tell `less` to parse color codes This change was originally part of 2cf16838c54 (gst-inspect: Colored output) but got lost during the recent rebase. 2018-10-27 18:06:20 +0100 Zeeshan Ali * tools/gst-inspect-1.0.1: * tools/gst-inspect.c: gst-inspect: Colored output Let's make the output a bit pretty to read. The colored output can be disabled with `--no-colors` option or by setting `GST_INSPECT_NO_COLORS' env (to any value). The chosen colors are based on the popular Solarized theme, which is targeted for both dark and light backgrounds. Note: * We only support true colors. If the terminal doesn't signal support for that via 'COLORTERM' env, we disable colored output. * We don't add colors to --print-plugin-auto-install-info output, as that's meant for machines, not humans. Not only machines don't care about beauty, the existing ones will likely not expect colors and choke on it and we'll get angry mob at our doors. [1] https://ethanschoonover.com/solarized 2018-11-10 23:35:18 +0100 Zeeshan Ali * tools/gst-inspect.c: gst-inspect: Remove redundant plugin name from output When printing info about a specific plugin, there is no need to prefix some of the details with plugin's name. It's not only redundant but also inconsistent and makes the task of adding consistent coloring to the output (which we'll do in a follow patch), harder. 2018-11-23 03:31:38 +0530 Nirbheek Chauhan * tools/gst-inspect.c: gst-inspect: Use less -F -X everywhere as the pager This emulates the default behaviour of git help pages, and also fixes a bug on macOS where `less -F` doesn't display anything at all when the output is shorter than one terminal screen. Also moved the DEFAULT_PAGER define to after the includes, because it's an unprefixed define. Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/330 2018-11-12 14:00:22 +0200 Jordan Petridis * .gitlab-ci.yml: Add Gitlab CI configuration This commit adds a .gitlab-ci.yml file, which uses a feature to fetch the config from a centralized repository. The intent is to have all the gstreamer modules use the same configuration. The configuration is currently hosted at the gst-ci repository under the gitlab/ci_template.yml path. Part of https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/29 2018-12-11 20:12:50 +0900 Seungha Yang * tests/check/gst/gstcaps.c: tests: caps: Add more broken caps test case 2018-12-11 20:12:41 +0900 Seungha Yang * gst/gstcaps.c: * gst/gstchildproxy.c: * gst/gststructure.c: * gst/gsttracerrecord.c: gst: Fix string leak when G_VALUE_COLLECT_INIT() was failed Returned string should be freed Fixes #319 2018-11-10 20:41:40 +0200 Sebastian Dröge * gst/gstdebugutils.h: debugutils: Make sure that GST_DEBUG_GRAPH_SHOW_VERBOSE gets the correct value in introspection Currently in Python it would become a signed 64 bit value but should actually be an unsigned 32 bit value with all bits set. This is the same problem as with GST_MESSAGE_TYPE_ANY. See https://bugzilla.gnome.org/show_bug.cgi?id=732633 2018-11-06 10:20:17 +0100 Havard Graff * configure.ac: * gst/gstconfig.h.in: * gst/meson.build: * libs/gst/check/gstcheck.h: * tests/check/gst/gstcaps.c: * tests/check/gst/gstghostpad.c: * tests/check/gst/gstobject.c: * tests/check/gst/gststructure.c: * tests/check/gst/gsturi.c: * tests/check/gst/gstvalue.c: * tests/check/libs/adapter.c: tests: fix tests when compiling with glib_checks=disabled We won't be able to do ASSERT_CRITICAL, but the main body of the tests are still valid, and given we ship GStreamer with this configuration, it is important to be able to run some tests against it. 2018-10-31 10:29:22 +0100 Havard Graff * tests/check/gst/gstdatetime.c: test/datetime: fix test for windows In the previous configuration, mktime returned -1 on Windows 10 compiled with MSVC using meson. Fix this by moving the hour one forward. 2018-10-31 10:27:23 +0100 Havard Graff * tests/check/gst/gsturi.c: tests/uri: fix test after GHashTable changes in GLib 2.59 Maybe the implementation should not be dependent on a "random" hash-table ordering, but at least this shows the problem clearly. 2018-11-09 11:34:19 +0100 Zeeshan Ali * tools/gst-inspect.c: gst-inspect: Pipe stderr to pager as well If stderr is not redirected by the user, also page that. 2018-11-05 12:24:01 +0100 Niels De Graef * plugins/elements/gsttypefindelement.c: typefind: cleanup (un)reffing of several objects. By using these functions, we can shave off a few lines, and make the intent of that line more clear. 2018-11-08 14:09:32 +0000 Tim-Philipp Müller * libs/gst/helpers/Makefile.am: Fix distcheck Follow-up to !18 and #320. 2018-09-26 13:33:31 +0200 Michael Olbrich * configure.ac: * libs/gst/helpers/.gitignore: * libs/gst/helpers/Makefile.am: * libs/gst/helpers/glib_gobject_helper.py: * libs/gst/helpers/gst_gdb.py: * libs/gst/helpers/libgstreamer-gdb.py.in: * libs/gst/helpers/meson.build: gst: add some gdb python macros This adds gdb pretty printer for some GStreamer types. For GstObject pointers the type and name is added, e.g. "0x5555557e4110 [GstDecodeBin|decodebin0]". For GstMiniObject pointers the object type is added, e.g. "0x7fffe001fc50 [GstBuffer]". For GstClockTime and GstClockTimeDiff the time is also printed in human readable form, e.g. "150116219955 [+0:02:30.116219955]". Fixes #320 2018-11-08 10:09:29 +0200 Sebastian Dröge * gst/gstclock.c: * gst/gstclock.h: clock: Move clock GWeakRef to a private GstClockEntry struct There's no need for it to be in the public struct and we can keep the padding for things to be added in the future. 2018-05-17 21:42:43 +1000 Matthew Waters * docs/gst/gstreamer-sections.txt: * gst/gstpad.c: * gst/gstquark.c: * gst/gstquark.h: * gst/gstquery.c: * gst/gstquery.h: * plugins/elements/gstqueue2.c: * plugins/elements/gstqueue2.h: * tests/check/elements/queue2.c: query: add a new bitrate query Allows determining from downstream what the expected bitrate of a stream may be which is useful in queue2 for setting time based limits when upstream does not provide timing information. Implement bitrate query handling in queue2 https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/60 2018-05-17 21:09:36 +1000 Matthew Waters * plugins/elements/gstqueue2.c: * plugins/elements/gstqueue2.h: queue2: avoid ping-pong between 0% and 100% buffering messages If upstream is pushing buffers larger than our limits, only 1 buffer is ever in the queue at a time. Once that single buffer has left the queue, a 0% buffering message would be posted followed immediately by a 100% buffering message when the next buffer was inserted into the queue a very short time later. As per the recommendations, This would result in the application pausing for a short while causing the appearance of a short stutter. The first step of a solution involves not posting a buffering message if there is still data waiting on the sink pad for insertion into the queue. This successfully drops the 0% messages from being posted however a message is still posted on each transition to 100% when the new buffer arrives resulting in a string of 100% buffering messages. We silence these by storing the last posted buffering percentage and only posting a new message when it is different from or last posted message. 2018-11-06 20:12:27 +0000 Nicolas Dufresne * plugins/tracers/gstlog.c: tracers: log: Fix post query trace The post tracer hooks have a GstQuery argument which was truncated from the trace. As the post hook is the one that contains the useful data, this bug was hiding the important information from that trace. 2018-11-06 14:21:35 +0100 Havard Graff * docs/libs/gstreamer-libs-sections.txt: docs: add new GstTestClock API 2018-11-06 11:45:45 +0100 Havard Graff * libs/gst/check/gstharness.c: * libs/gst/check/gsttestclock.c: * libs/gst/check/gsttestclock.h: harness: improve _wait_for_clock_id_waits performance By moving the functionality down to the testclock, the implementation no longer needs to poll the waits, but rather wait properly for them to be added. The performance-hit here would be that by polling the test-clock regularly, you would create contention on the testclock-lock, making code using the testclock (gst_clock_id_wait) fighting for the lock. 2018-09-20 01:42:48 -0700 Havard Graff * gst/gstsystemclock.c: systemclock: pre-calculate the ratio for multiplying the perf-count on win Saves a lot of computations. 2018-10-28 12:46:09 +0100 Havard Graff * gst/gstpad.c: * tests/check/gst/gstpad.c: gstpad: use hook_id instead of hook in called_probes list A pointer to a hook in this list can easily not be unique, given both the slice-allocator reusing memory, and the OS re-using freed blocks in malloc. By doing many repeated add and remove of probes, this becomes very easily reproduced. Instead use hook_id, which *is* unique for a added GHook. 2018-09-27 19:13:35 +1000 Matthew Waters * docs/gst/gstreamer-sections.txt: * gst/gstbuffer.c: * gst/gstbuffer.h: * tests/check/gst/gstbuffer.c: gst/buffer: add a new function for wrapping GBytes One restriction on the GBytes is that the data cannot be NULL as this is explicitly forbidden by GstMemory. Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/318 2018-11-03 00:49:01 +1100 Matthew Waters * meson.build: * plugins/elements/meson.build: * plugins/tracers/meson.build: meson: generate pkg-config files for our plugins 2018-11-05 14:07:59 +0100 Jan Alexander Steffens (heftig) * gst/gstminiobject.c: * gst/gstminiobject.h: * gst/gstobject.c: * gst/gstobject.h: * gst/gststructure.c: * gst/gststructure.h: gst_clear_*: Remove volatile from arguments g_clear_pointer is not thread-safe and never was. GLib similarly removed the volatile from g_clear_object in 2aacef39b1. Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/327 2018-11-05 14:03:51 +0100 Jan Alexander Steffens (heftig) * gst/gstbuffer.h: * gst/gstbufferlist.h: * gst/gstcaps.h: * gst/gstevent.h: * gst/gstmessage.h: * gst/gstquery.h: * gst/gsttaglist.h: gst_clear_*: Cast to GstMiniObject** when needed 2018-11-05 09:37:29 +0100 Niels De Graef * docs/gst/gstreamer-sections.txt: docs: update gstreamer-sections.txt with new API 2018-11-05 10:33:54 +0100 Niels De Graef * gst/gstquery.h: query: add gst_query_take() This makes its API consistent with the other GstMiniObject subclasses 2018-11-05 08:57:16 +0100 Niels De Graef * gst/gstmessage.h: message: add gst_message_take() This makes its API consistent with the other GstMiniObject subclasses 2018-11-04 19:14:32 +0100 Niels De Graef * gst/gsttaglist.h: taglist: add gst_tag_list_replace/take() This makes its API consistent with the other GstMiniObject subclasses. 2018-11-04 19:13:39 +0100 Niels De Graef * gst/gstbufferlist.h: bufferlist: add gst_buffer_list_replace/take() This makes its API consistent with the other GstMiniObject subclasses. 2018-11-04 19:04:19 +0100 Niels De Graef * gst/gststructure.c: * gst/gststructure.h: structure: add gst_clear_structure() Basically, you can use this instead of using gst_structure_free (which needs to be preceded by a NULL-check). Also fixes #275 2018-11-04 18:55:42 +0100 Niels De Graef * gst/gsttaglist.h: taglist: add gst_clear_tag_list() Basically, you can use this instead of using gst_tag_list_unref (which needs to be preceded by a NULL-check). Also fixes #275 2018-11-04 18:55:16 +0100 Niels De Graef * gst/gstquery.h: query: add gst_clear_query() Basically, you can use this instead of using gst_query_unref (which needs to be preceded by a NULL-check). Also fixes #275 2018-11-04 18:54:44 +0100 Niels De Graef * gst/gstmessage.h: message: add gst_clear_message() Basically, you can use this instead of using gst_message_unref (which needs to be preceded by a NULL-check). Also fixes #275 2018-11-04 18:53:51 +0100 Niels De Graef * gst/gstevent.h: event: add gst_clear_event() Basically, you can use this instead of using gst_event_unref (which needs to be preceded by a NULL-check). Also fixes #275 2018-11-04 18:53:31 +0100 Niels De Graef * gst/gstcaps.h: caps: add gst_clear_caps() Basically, you can use this instead of using gst_caps_unref (which needs to be preceded by a NULL-check). Also fixes #275 2018-11-04 18:52:50 +0100 Niels De Graef * gst/gstbufferlist.h: bufferlist: add gst_clear_buffer_list() Basically, you can use this instead of using gst_buffer_list_unref (which needs to be preceded by a NULL-check). Also fixes #275 2018-11-04 18:51:28 +0100 Niels De Graef * gst/gstbuffer.h: buffer: add gst_clear_buffer() Basically, you can use this instead of using gst_buffer_unref (which needs to be preceded by a NULL-check). Also fixes #275 2018-11-03 20:00:57 +0100 Niels De Graef * gst/gstminiobject.c: * gst/gstminiobject.h: miniobject: add gst_clear_mini_object() This is based on g_clear_object(). Basically, you can use this instead of using gst_mini_object_unref (which needs to be preceded by a NULL-check). Also fixes #275 2018-02-08 17:31:15 +0100 Niels De Graef * gst/gstobject.c: * gst/gstobject.h: object: add gst_clear_object() This is based on g_clear_object(). Basically, you can use this instead of using g_object_unref (which needs to be preceded by a NULL-check). Fixes #275 2018-11-05 11:07:14 +0800 Haihao Xiang * .gitmodules: * gstreamer.doap: * scripts/create-uninstalled-setup.sh: Clone the code from gitlab This fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/326 2018-11-04 12:45:57 +0200 Sebastian Dröge * plugins/elements/gsttypefindelement.c: typefind: Always forward RECONFIGURE events upstream Based on a patch by Vincent Penquerc'h Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/67 2018-11-03 18:44:48 +0200 Sebastian Dröge * gst/gstclock.c: * gst/gstclock.h: clock: Move clock weak ref into its own ABI struct Otherwise it will be hard to add other things into the padding later without breaking API. 2018-11-03 18:29:17 +0200 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gstclock.c: clock: Add new functions to the documentation 2018-11-03 18:29:03 +0200 Sebastian Dröge * gst/gstclock.c: * gst/gstclock.h: clock: Fix deprecation handling of the GstClock clock field 2016-09-08 08:49:54 -0600 Thomas Bluemel * gst/gstclock.c: * gst/gstclock.h: * libs/gst/base/gstbasesink.c: clock: Keep weak reference to underlying clock Fixes potential segmentation fault when using a GstClockID that is referencing an already freed GstClock Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/187 2018-10-30 15:30:38 +0100 Zeeshan Ali * tools/gst-inspect.c: gst-inspect: Don't page if output fits the screen 2018-10-30 14:52:15 +0100 Zeeshan Ali * tools/gst-inspect.c: gst-inspect: Flush stdout before closing stdout FD Otherwise, last line can be lost. 2018-10-28 15:19:38 +0000 Sebastian Dröge * docs/libs/gstreamer-libs-sections.txt: * libs/gst/check/Makefile.am: * libs/gst/check/gstharness.c: * libs/gst/check/gstharness.h: harness: Add API for proposing meta APIs from the allocation query https://bugzilla.gnome.org/show_bug.cgi?id=797350 2018-09-20 23:17:52 +1000 Jan Schmidt * gst/gstsegment.c: * tests/check/gst/gstsegment.c: segment: Allow stop == -1 in gst_segment_to_running_time() and rate < 0 If a segment has stop == -1, then gst_segment_to_running_time() would refuse to calculate a running time for negative rates, but gst_segment_do_seek() allows this scenario and uses a valid duration for calculations. Make the 2 functions consistent by using any configured duration to calculate a running time too in that case. https://bugzilla.gnome.org/show_bug.cgi?id=796559 2018-10-27 13:38:57 +0100 Zeeshan Ali * tools/gst-inspect.c: gst-inspect: Pipe stdout to less if not piped already https://bugzilla.gnome.org/show_bug.cgi?id=797344 2018-10-26 09:21:42 +0100 Sebastian Dröge * plugins/elements/gsttypefindelement.c: typefind: Lower debug level of some output related to the URI query It's not a warning if an URI doesn't have an extension, and it's also not mandatory that sources have an URI or even answer the URI query. 2018-10-16 19:35:03 +0300 Jordan Petridis * gst/gstclock.h: * gst/gstinfo.h: * gst/gstvalue.h: gst: skip format specifiers from gir generation GST_TIME_FORMAT, GST_TIME_ARGS, GST_STIME_FORMAT, GST_STIME_ARGS GST_PTR_FORMAT, GST_SEGMENT_FORMAT, GST_FOURCC_FORMAT and GST_FOURCC_ARGS are format specifiers. They can't be used outside of C and should be generated in the gir. https://bugzilla.gnome.org/show_bug.cgi?id=797320 2018-10-16 19:35:03 +0300 Jordan Petridis * gst/gsterror.h: gst/gsterror.h: skip GST_ERROR_SYSTEM during gir generation GST_ERROR_SYSTEM can't really be used outside of C and should be skipped. https://bugzilla.gnome.org/show_bug.cgi?id=797320 2018-10-22 15:26:25 +0200 Edward Hervey * plugins/elements/gstmultiqueue.c: multiqueue: Don't clamp running times for position calculation Since we use full signed running times, we no longer need to clamp the buffer time. This avoids having the position of single queues not advancing for buffers that are out of segment and never waking up non-linked streams (resulting in an apparent "deadlock"). 2018-10-22 13:45:52 +0200 Edward Hervey * plugins/elements/gstqueue2.c: queue2: Reset result flow when retrying If we ever get a GST_FLOW_EOS from downstream, we might retry pushing new data. But if pushing that data doesn't return a GstFlowReturn (such as pushing events), we would end up returning the previous GstFlowReturn (i.e. EOS). Not properly resetting it would cause cases where queue2 would stop pushing on the first GstEvent stored (even if there is more data contained within). 2018-10-17 16:38:42 -0400 Olivier Crête * tests/check/gst/gstpipeline.c: tests: Use GstTestClock for processing-deadline test Use the test clock instead of using a real one to make it easier to run in valgrind. https://bugzilla.gnome.org/show_bug.cgi?id=797291 2018-10-16 10:48:40 +0100 Tim-Philipp Müller * tests/check/gst/gstpipeline.c: tests: pipeline: fix leak 2018-10-15 18:47:16 +0300 Sebastian Dröge * libs/gst/base/gstqueuearray.c: queuearray: Only clear dropped item if it is not returned 2018-10-15 15:24:07 +0300 Sebastian Dröge * libs/gst/base/gstqueuearray.c: queuearray: Clear items when dropping them and a clear function was defined 2018-10-12 15:34:45 +0100 Philippe Normand * docs/gst/gstreamer-sections.txt: * gst/gstelementfactory.h: gstelementfactory: Remove MEDIA_HARDWARE FactoryType Using the MEDIA_ classifier prefix was inappropriate. It is sufficient to specify the additional klass name that element can set in their metadata. (follow-up of commit ca4b61c55562a4b74f241fe54cf1e5639a2aea25) https://bugzilla.gnome.org/show_bug.cgi?id=796921 2018-10-05 12:19:46 +0200 Philippe Normand * docs/gst/gstreamer-sections.txt: * gst/gstelementfactory.h: gstelementfactory: Add MEDIA_HARDWARE klass classifier The Harware factory type classifier allows elements (decoders and encoders, mostly) to advertize they rely on hardware devices to perform encoding or decoding operations. This classifier can be used by applications to filter and select only the elements that use hardware devices, for instance to ensure zero-copy support is enabled for a specific pipeline. https://bugzilla.gnome.org/show_bug.cgi?id=796921 2018-10-10 00:00:14 -0700 Aleix Conchillo Flaqué * scripts/gst-uninstalled: gst-uninstalled: add libnice to LD_LIBRARY_PATH https://bugzilla.gnome.org/show_bug.cgi?id=797269 2018-10-11 14:34:40 +1100 Jan Schmidt * libs/gst/net/gstptpclock.c: ptp clock: Wait for ANNOUNCE before selecting a master Previously, with opportunistic sync we'd track a master clock as soon as we see a SYNC message, and hence sync up faster, but then we'd announce we're synched before seeing the ANNOUNCE, leaving the clock details like grandmaster-clock empty. A better way is to start tracking the clock opportunistically, but not announce we're synched until we've also seen the ANNOUNCE. 2018-10-11 14:33:35 +1100 Jan Schmidt * libs/gst/net/gstptpclock.c: ptp clock: improve debug Log message arrival times. Fix a typo in one debug string 2018-10-11 14:29:47 +1100 Jan Schmidt * libs/gst/net/gstptpclock.c: ptp clock: Increase tolerance for late follow-up and delay-resp The follow-up and delay-resp messages carry precise timestamps for the arrival at the clock master, but the local return time is unimportant, so we should be very lenient in accepting them late. Some PTP masters don't prioritise sending those packets, and we reject all the responses and never sync - or take forever to do so. Increase the tolerance to 20x the mean path delay. Also fix a typo in one debug output that would print the absolute time of the delay-resp message, not the offset from the delay-req that it's actually being compared against. 2018-09-18 09:36:45 +1000 Jan Schmidt * libs/gst/net/gstptpclock.c: ptpclock: Add TRACE level debug output Add some debugging to be able to tell what is happening inside the PTP clock protocol handling. 2018-10-07 19:51:41 +0100 Tim-Philipp Müller * meson.build: meson: use new 'python' module instead of deprecated 'python3' one https://github.com/mesonbuild/meson/pull/4169 2018-10-04 00:30:52 +0100 Tim-Philipp Müller * libs/gst/base/gstaggregator.c: aggregator: document new "min-upstream-latency" property is in nanosecs https://bugzilla.gnome.org/show_bug.cgi?id=797213 2018-10-03 18:23:01 +0200 Thibault Saunier * gst/gstprotection.h: protection: Fix the string to define unspecified system id Setting it to "unspecified-system-id". 2018-10-01 12:11:47 +0200 Yacine Bandou * docs/gst/gstreamer-sections.txt: * gst/gstprotection.h: protection: Add a new definition for unspecified system protection In some cases the system protection ID is not present in the contents or in their metadata. This define is used to set the value of the "system_id" field in GstProtectionEvent, with this value, the application will use an external information to choose which protection system to use. Example: The matroskademux uses this value in the case of encrypted WebM, the application will choose the appropriate protection system based on the information received through EME API. https://bugzilla.gnome.org/show_bug.cgi?id=797231 2018-09-27 17:30:25 +0300 Vivia Nikolaidou * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstqueuearray.c: * libs/gst/base/gstqueuearray.h: queuearray: Add set_clear_func and clear functions gst_queue_array_clear will clear the GstQueueArray, gst_queue_array_set_clear_func will set a clear function for each element to be called on _clear and on _free. https://bugzilla.gnome.org/show_bug.cgi?id=797218 2018-09-27 13:20:10 +0200 Mathieu Duponchelle * libs/gst/base/gstaggregator.c: aggregator: add gtk-doc blurb for new min-upstream-latency prop 2018-09-27 12:42:30 +0200 Mathieu Duponchelle * libs/gst/base/gstaggregator.c: aggregator: add min-upstream-latency property. This is exposed as a solution to the use case of plugging in sources with a higher latency after the aggregator has started playing with an initial set of sources, allowing to avoid resyncing. https://bugzilla.gnome.org/show_bug.cgi?id=797213 2018-09-20 16:28:35 +0200 Mathieu Duponchelle * gst/gstelement.c: element: remove inactive pad g_warning in add_pad The documentation incorrectly used to state that the pads were not automatically activated when added, whereas we actually do that when appropriate. Callers of gst_element_add_pad must not hold the object lock, which implies that they cannot perform the same checks as add_pad in a non-racy manner. This updates the documentation, and removes the g_warning that was output before performing automatic activation. https://bugzilla.gnome.org/show_bug.cgi?id=797181 2018-09-19 19:37:38 +0100 Tim-Philipp Müller * libs/gst/check/meson.build: meson: use library() for libgstcheck instead of always building a shared lib Otherwise we try to build a shared lib when we build the rest of GStreamer statically, which won't work because we pass -DGST_STATIC_COMPILATION when building statically, which means we won't dllimport public symbols from our libs which means that on Windows the unit tests will fail to link to libgstcheck. https://bugzilla.gnome.org/show_bug.cgi?id=797185 2018-08-26 01:23:23 +0200 Tim-Philipp Müller * tests/misc/Makefile.am: * tests/misc/meson.build: * tests/misc/netclock-replay.c: tests: netclock-replay: fix build with new api export/import Can't mix/match imports and exports from the same library here, so just include all .c files needed instead and don't link to gstnet at all then. https://bugzilla.gnome.org/show_bug.cgi?id=797185 2018-08-25 23:56:01 +0200 Tim-Philipp Müller * common: * configure.ac: * gst/gstconfig.h.in: * libs/gst/base/base-prelude.h: * libs/gst/base/gstdataqueue.c: * libs/gst/base/gstflowcombiner.c: * libs/gst/base/gstqueuearray.c: * libs/gst/check/check-prelude.h: * libs/gst/check/gstbufferstraw.c: * libs/gst/check/gstconsistencychecker.c: * libs/gst/controller/controller-prelude.h: * libs/gst/controller/gstargbcontrolbinding.c: * libs/gst/controller/gstdirectcontrolbinding.c: * libs/gst/controller/gstinterpolationcontrolsource.c: * libs/gst/controller/gstlfocontrolsource.c: * libs/gst/controller/gsttimedvaluecontrolsource.c: * libs/gst/controller/gsttriggercontrolsource.c: * libs/gst/controller/meson.build: * libs/gst/net/gstnetaddressmeta.c: * libs/gst/net/gstnetcontrolmessagemeta.c: * libs/gst/net/net-prelude.h: * meson.build: libs: figure out right export define in configure Add new GST_API_EXPORT in config.h and use that for GST_*_API decorators instead of GST_EXPORT. The right export define depends on the toolchain and whether we're using -fvisibility=hidden or not, so it's better to set it to the right thing directly than hard-coding a compiler whitelist in the public header. We put the export define into config.h instead of passing it via the command line to the compiler because it might contain spaces and brackets and in the autotools scenario we'd have to pass that through multiple layers of plumbing and Makefile/shell escaping and we're just not going to be *that* lucky. The export define is only used if we're compiling our lib, not by external users of the lib headers, so it's not a problem to put it into config.h Also, this means all .c files of libs need to include config.h to get the export marker defined, so fix up a few that didn't include config.h. This commit depends on a common submodule commit that makes gst-glib-gen.mak add an #include "config.h" to generated enum/marshal .c files for the autotools build. https://bugzilla.gnome.org/show_bug.cgi?id=797185 2018-08-25 23:09:12 +0200 Tim-Philipp Müller * gst/Makefile.am: * gst/gstconfig.h.in: * gst/meson.build: * gst/parse/Makefile.am: * libs/gst/base/Makefile.am: * libs/gst/base/base-prelude.h: * libs/gst/base/meson.build: * libs/gst/check/Makefile.am: * libs/gst/check/check-prelude.h: * libs/gst/check/meson.build: * libs/gst/controller/Makefile.am: * libs/gst/controller/controller-prelude.h: * libs/gst/controller/meson.build: * libs/gst/net/Makefile.am: * libs/gst/net/meson.build: * libs/gst/net/net-prelude.h: libs: fix 'inconsistent DLL linkage' warnings on Windows For each lib we build export its own API in headers when we're building it, otherwise import the API from the headers. This fixes linker warnings on Windows when building with MSVC. The problem was that we had defined all GST_*_API decorators unconditionally to GST_EXPORT. This was intentional and only supposed to be temporary, but caused linker warnings because we tell the linker that we want to export all symbols even those from externall DLLs, and when the linker notices that they were in external DLLS and not present locally it warns. What we need to do when building each library is: export the library's own symbols and import all other symbols. To this end we define e.g. BUILDING_GST_FOO and then we define the GST_FOO_API decorator either to export or to import symbols depending on whether BUILDING_GST_FOO is set or not. That way external users of each library API automatically get the import. https://bugzilla.gnome.org/show_bug.cgi?id=797185 2018-08-25 22:53:07 +0200 Tim-Philipp Müller * gst/gstconfig.h.in: gstconfig.h: add GST_API_IMPORT define This is for use by the various GST_*_API decorators and will be what they get defined to when a library API is being used by external users of that library (not the library itself whilst it's being compiled). In most cases it will simply map to a plain 'extern' but on Windows with MSVC it will need to map to __declspec(dllimport). For functions this is not strictly needed, but for exported variables it is. https://bugzilla.gnome.org/show_bug.cgi?id=797185 2018-09-21 22:26:00 +0900 Seungha Yang * meson.build: meson: Specify encoding to UTF-8 when building with MSVC Fix build on some non-US locale Windows systems Error: gstreamer/gst/gstdebugutils.c(194): error C2001 https://bugzilla.gnome.org/show_bug.cgi?id=797186 2018-09-20 16:22:14 +0200 Mathieu Duponchelle * libs/gst/base/gstaggregator.h: aggregator: define autoptr cleanup functions 2018-09-19 15:42:06 +0100 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: docs: gst: default to single include also for protection meta API https://bugzilla.gnome.org/show_bug.cgi?id=797165 2018-09-19 15:07:36 +0100 Tim-Philipp Müller * docs/libs/gstreamer-libs-sections.txt: docs: libs: move all includes to canonical single header includes And fix up bogus libs/ prefix for controller lib includes. https://bugzilla.gnome.org/show_bug.cgi?id=797165 2018-09-18 15:44:24 +0200 Linus Svensson * docs/libs/gstreamer-libs-sections.txt: docs: Update include directive for gstreamer-base components Change to always include gst/libs/base.h in order to also include base-prelude.h, but also because it's the right thing for people to include anyway. https://bugzilla.gnome.org/show_bug.cgi?id=797165 2018-09-19 11:31:43 +0100 Tim-Philipp Müller * meson.build: * meson_options.txt: meson: add glib-checks option to disable API guards and such We want this enabled by default, also in releases, but people may want to disable this for performance-critical workloads or on embedded devices. 2018-09-19 11:25:24 +0100 Tim-Philipp Müller * meson_options.txt: meson: fix missing closing bracket in option descriptions 2018-09-17 22:13:22 +1000 Jan Schmidt * tests/check/gst/gstsegment.c: tests: Use a different rate in a segment test. Using a rate of 1.1 in the test is causing the test to fail on 32-bit because ceil(1.1 * 10) can round to 12. Instead use a rate 2.0 that can be expressed as floating point number and doesn't trigger the problem. https://bugzilla.gnome.org/show_bug.cgi?id=797154 2018-09-11 21:32:27 -0400 Nicolas Dufresne * plugins/elements/gstfilesink.c: filesink: Fix wrong printf format We add a guint64 and a guint, the result is a guint64. On 64bit architecture, this is the same, but on 32bit architecture, it's not. https://bugzilla.gnome.org/show_bug.cgi?id=797127 2018-09-08 13:05:13 +0100 Philippe Normand * gst/gstbin.c: bin: Fix use-after-free issue in gst_bin_add() gst_element_post_message() takes ownership of the message so we need to increase its refcount until we no longer require access to its data (context_type). https://bugzilla.gnome.org/show_bug.cgi?id=797099 2018-09-05 16:32:07 +0530 Nirbheek Chauhan * libs/gst/meson.build: * tests/meson.build: meson: Always use a dependency object for dependencies Fixes a configure error with gst-build: subprojects/gst-plugins-base/meson.build:235:2: ERROR: Fetched variable 'gst_check_dep' in the subproject 'gstreamer' is not a dependency object. 2018-09-03 12:06:35 +0100 Philippe Normand * gst/gstutils.c: utils: Set default values for position and duration query results https://bugzilla.gnome.org/show_bug.cgi?id=797066 2018-08-30 17:44:07 +0100 Philippe Normand * libs/gst/base/gstbaseparse.c: baseparse: avg_bitrate calculation critical warning fix The avg_bitrate is an unsigned int, so the gst_util_uin64_scale() function can't be used for it, as it expects signed integers for the fraction parts arguments. https://bugzilla.gnome.org/show_bug.cgi?id=797054 2018-08-31 12:15:16 +0300 Sebastian Dröge * plugins/elements/gstinputselector.c: input-selector: Bring latency handling in sync with GstPad code 2018-08-31 12:12:13 +0300 Sebastian Dröge * gst/gstpad.c: Revert "pad: Don't drop LATENCY queries with default implementation" This reverts commit 794944f779f954375fc74a3fffcc2067bba6a3e5. Accumulating non-live latency values generally makes no sense and often gives invalid results with min>max 2018-08-31 12:12:09 +0300 Sebastian Dröge * gst/gstpad.c: Revert "pad: Accumulate live/non-live latency values separately" This reverts commit f5783e1cacb09867d81ba089b229faa7dd0edd0c. 2018-08-29 02:03:28 +0530 Nirbheek Chauhan * gst/meson.build: * libs/gst/base/meson.build: * libs/gst/check/meson.build: * libs/gst/controller/meson.build: * libs/gst/net/meson.build: * meson.build: meson: Maintain macOS ABI through dylib versioning Requires Meson 0.48, but the feature will be ignored on older versions so it's safe to add it without bumping the requirement. Documentation: https://github.com/mesonbuild/meson/blob/master/docs/markdown/Reference-manual.md#shared_library 2018-08-31 11:47:03 +0300 Sebastian Dröge * plugins/elements/gstinputselector.c: input-selector: Apply GstPad default latency handler fixes here too 2018-08-31 11:41:47 +0300 Sebastian Dröge * gst/gstpad.c: pad: Accumulate live/non-live latency values separately And only ever use the non-live values if all pads are non-live, otherwise only use the results of all live pads. It's unclear what one would use the values for in the non-live case, but by this we at least pass them through correctly then. This is a follow-up for 794944f779f954375fc74a3fffcc2067bba6a3e5, which causes wrong latency calculations if the first pad is non-live but a later pad is actually live. In that case the live values would be accumulated together with the values of the non-live first pad, generally causing wrong min/max latencies to be calculated. 2018-08-29 19:26:04 +0300 Sebastian Dröge * plugins/elements/gstconcat.c: concat: Improve debug output a bit by printing pad names 2018-08-28 14:22:16 +0300 Sebastian Dröge * plugins/elements/gstfilesink.c: filesink: Flush buffers before directly writing out buffers with the SYNC_AFTER flag Otherwise we write out the SYNC_AFTER buffer immediately, and the previously queued up buffers afterwards which then breaks the order of data. Also add various debug output. 2018-08-27 22:32:01 +1000 Jan Schmidt * tests/check/gst/gstsegment.c: gstsegment: Add check for gst_segment_offset_running_time() Add a check for gst_segment_offset_running_time() that values are taken directly from the segment base if possible. 2018-08-23 22:34:47 +1000 Jan Schmidt * gst/gstsegment.c: * tests/check/gst/gstsegment.c: gstsegment: Handle positions before the segment properly Fixes for gst_segment_position_from_running_time_full() when converting running_times that precede the segment start (or stop in a negative rate segment) The return value was incorrectly negated in those cases. Add some more unit test checks for those cases, and especially for segments with offsets. 2018-08-26 00:45:45 +0200 Tim-Philipp Müller * tests/check/gst/gstmeta.c: tests: meta: fix msvc compiler warnings gstmeta.c(167): warning C4090: 'function': different 'const' qualifiers gstmeta.c(172): warning C4090: 'function': different 'const' qualifiers gstmeta.c(211): warning C4090: 'function': different 'const' qualifiers gstmeta.c(216): warning C4090: 'function': different 'const' qualifiers 2018-08-26 00:34:44 +0200 Tim-Philipp Müller * libs/gst/check/check-prelude.h: * libs/gst/check/gsttestclock.h: check: testclock: fix deprecation guards Make our own deprecation marker for libgstcheck, since the function declaration must contain the right API export decorator (GST_CHECK_API) and not the one for GStreamer core. 2018-08-26 00:16:51 +0200 Tim-Philipp Müller * libs/gst/base/gstbitwriter.h: bitwriter: fix compiler warning Don't return a value from a function that doesn't return a value using the returned value from a function that also doesn't return a value. gstbitwriter.h(265): warning C4098: 'gst_bit_writer_align_bytes_unchecked': 'void' function returning a value 2018-08-17 17:24:59 +0300 Sebastian Dröge * tests/check/elements/filesink.c: filesink: Use SYNC_AFTER flag in seeking test Otherwise it's not guaranteed that buffers are actually on disk after pushing them, and reading the file via g_file_get_contents() might not include them yet. 2018-08-17 17:24:19 +0300 Sebastian Dröge * plugins/elements/gstfilesink.c: filesink: Consider the current buffer size when checking the current position 2018-08-17 17:23:52 +0300 Sebastian Dröge * plugins/elements/gstfilesink.c: filesink: Reset the current buffer size to NULL and clear the buffer on close and FLUSH_STOP 2018-08-17 02:54:00 +0530 Nirbheek Chauhan * libs/gst/helpers/meson.build: * meson.build: meson: host_system is 'ios' when building for iOS The cross file sets this value, and we use 'ios' in Cerbero. 2018-08-14 11:28:00 +0300 Sebastian Dröge * plugins/elements/gstfilesink.c: * plugins/elements/gstfilesink.h: filesink: Implement buffering internally We use writev() so every call ends up going to the kernel but for small buffers we generally would prefer to do as few write calls as possible. https://bugzilla.gnome.org/show_bug.cgi?id=794173 2018-08-14 10:58:26 +0300 Sebastian Dröge * plugins/elements/gstfilesink.c: * plugins/elements/gstfilesink.h: filesink: Remove buffer, deprecate line-buffer mode and don't use fflush() fflush() has no effect because we use writev() directly, so fsync() should be used instead which is actually flushing the kernel-side buffers. As a next step, a non-line-buffered buffering mode is to be added. https://bugzilla.gnome.org/show_bug.cgi?id=794173 2018-08-14 12:30:19 +0300 Sebastian Dröge * libs/gst/base/gstaggregator.c: aggregator: Fixup for previous commit to prevent infinite loop if no events are pending 2018-08-13 14:50:57 +0300 Sebastian Dröge * libs/gst/base/gstaggregator.c: aggregator: Return an error directly if negotiation of a sink pad failed And don't give buffers to subclasses in that case. https://bugzilla.gnome.org/show_bug.cgi?id=796951 2018-08-12 22:57:41 +0100 Tim-Philipp Müller * Makefile.am: * win32/MANIFEST: * win32/README.txt: * win32/common/libgstbase.def: * win32/common/libgstcontroller.def: * win32/common/libgstnet.def: * win32/common/libgstreamer.def: win32: remove .def file with exports They're no longer needed, symbol exporting is now explicit via GST_*_API export decorators in all cases, that is autotools and meson, incl. MSVC. 2018-08-12 19:04:51 +0100 Tim-Philipp Müller * configure.ac: * gst/printf/Makefile.am: * libs/gst/check/gstcheck.c: autotools: stop controlling symbol visibility with -export-symbols-regex Instead, use -fvisibility=hidden and explicit exports via GST_EXPORT. This should result in consistent behaviour for the autotools and Meson builds where this is done already, and will allow us to drop the win32 .def files. 2018-08-12 20:07:02 +0100 Tim-Philipp Müller bitwriter: fix g-i scanner warning gstbitwriter.h:45: Warning: GstBase: "@bit_capacity" parameter unexpected at this location: * @bit_capacity: Capacity of the allocated @data 2018-08-11 18:17:29 +0100 Tim-Philipp Müller * libs/gst/check/meson.build: * meson.build: * meson_options.txt: meson: add options to disable gobject cast checks and glib asserts And match what we do for autotools here currently. 2018-08-10 09:22:51 +0100 Tim-Philipp Müller * meson.build: meson: define G_DISABLE_DEPRECATED for development versions Like in autotools. 2018-08-10 01:23:35 +0100 Tim-Philipp Müller * libs/gst/meson.build: * meson_options.txt: * pkgconfig/meson.build: * tests/check/meson.build: meson: add option to disable build of GStreamer unit test library 2018-08-10 00:33:58 +0100 Tim-Philipp Müller * meson.build: * meson_options.txt: meson: add memory-alignment option 2018-08-10 00:18:55 +0100 Tim-Philipp Müller * meson.build: * meson_options.txt: meson: add option to disable command-line option parsing 2018-08-10 00:08:43 +0100 Tim-Philipp Müller * gst/meson.build: * gst/parse/meson.build: * meson_options.txt: * tests/check/meson.build: * tools/meson.build: meson: add option to disable parse-launch pipeline string parser 2018-08-09 23:32:49 +0100 Tim-Philipp Müller * meson.build: * meson_options.txt: * tests/meson.build: meson: add options to disable tests, examples, benchmarks and tools And remove duplicate option 'poisoning' and unused 'build_tools' one. 2018-08-03 13:18:12 +0300 Sebastian Dröge * configure.ac: configure: Enable poisoning by default for non-release builds 2018-08-03 13:16:21 +0300 Sebastian Dröge * gst/gstbufferlist.c: * gst/gstcaps.c: * gst/gstcontext.c: * gst/gstdatetime.c: * gst/gstevent.c: * gst/gstmemory.c: * gst/gstmessage.c: * gst/gstpromise.c: * gst/gstquery.c: * gst/gstsample.c: * gst/gsttaglist.c: * gst/gsttoc.c: * gst/gsturi.c: gst: Add poisoning to more types 2018-08-03 10:36:21 +0100 Tim-Philipp Müller * meson.build: meson: fix setting of extra checks option It's checked for with #ifdef so setting it to 0 or 1 will always enable it. 2018-08-03 10:35:07 +0100 Tim-Philipp Müller * meson.build: * meson_options.txt: meson: add option to enable poisoning of deallocated objects 2018-08-02 10:55:40 +0300 Sebastian Dröge * libs/gst/base/gsttypefindhelper.c: typefindhelper: Mark gst_type_find_helper_get_range_full() as Since 1.14.3 2018-07-31 19:25:03 +0300 Sebastian Dröge * plugins/elements/gstinputselector.c: inputselector: Forward LATENCY query to all sinkpads Otherwise downstream will consider the pipeline not live if the active pad is live, even though some inactive pads might be live and might require a non-zero latency configuration. https://bugzilla.gnome.org/show_bug.cgi?id=796901 2018-07-31 16:46:25 +0300 Sebastian Dröge * gst/gstpad.c: pad: Update pad offsets on the current event if the offset changed in pad probes https://bugzilla.gnome.org/show_bug.cgi?id=796898 2018-07-30 18:51:35 +0300 Sebastian Dröge * gst/gstpad.c: pad: Ensure that the pad is blocked for IDLE probes if they are called from the streaming thread too IDLE probes that are directly called when being added will increase / decrease the "number of IDLE probes running" counter around the call, but when running from the streaming thread this won't happen. This has the effect that when running from a streaming thread it is possible to push serialized events or data out of the pad without problems, but otherwise it would deadlock because serialized data would wait for the IDLE probe to finish first (it is blocking after all!). With this change it will now always consistently deadlock instead of just every once in a while, which should make it obvious why this happens and prevent racy deadlocks in application code. https://bugzilla.gnome.org/show_bug.cgi?id=796895 2018-07-30 18:10:31 +0300 Sebastian Dröge * libs/gst/base/gsttypefindhelper.c: * libs/gst/base/gsttypefindhelper.h: * plugins/elements/gsttypefindelement.c: * win32/common/libgstbase.def: typefind: Add new gst_type_find_helper_get_range_full() that returns flow return And make use of it in the typefind element. It's useful to distinguish between the different errors why typefinding can fail, and especially to not consider GST_FLOW_FLUSHING as an actual error. https://bugzilla.gnome.org/show_bug.cgi?id=796894 2018-07-27 23:22:42 +0200 Mathieu Duponchelle * libs/gst/base/gstaggregator.h: aggregator: annotate GstAggregatorClass::update_src_caps 2018-07-25 07:34:19 +0530 Nirbheek Chauhan * meson.build: * meson_options.txt: * tests/examples/controller/meson.build: * tests/examples/streams/meson.build: * tests/meson.build: meson: Add feature options for optional deps Everything should be behind an option now. https://bugzilla.gnome.org/show_bug.cgi?id=795107 2018-07-26 02:31:05 +0300 Sebastian Dröge * libs/gst/base/gstaggregator.c: aggregator: Don't leak peer pad of inactive pads when (not) forwarding QoS events to them 2018-07-25 18:51:58 -0400 Nicolas Dufresne * meson.build: meson: Install bash completion helper in prefix A regression was causing the helpers to be installed in /share which would lead to permission denied error or PolicyKit to promtp for permission. See: 054fa3aa2 meson: Use new define_variable: feature instead of run_command() 2018-07-25 16:00:28 +0530 Nirbheek Chauhan * libs/gst/check/meson.build: * libs/gst/helpers/meson.build: * meson.build: meson: host_machine.system() is darwin even on iOS Also use host_system everywhere. 2018-07-25 14:25:07 +0530 Nirbheek Chauhan * libs/gst/helpers/meson.build: * plugins/tracers/meson.build: * tests/benchmarks/meson.build: * tools/meson.build: meson: Don't add static printf library to executables They should only need to link to libgstreamer. 2018-07-25 07:30:52 +0530 Nirbheek Chauhan * meson.build: meson: Use new define_variable: feature instead of run_command() 2018-07-25 07:29:51 +0530 Nirbheek Chauhan * meson.build: meson: Small cleanup, unused variable 2018-07-25 07:04:11 +0530 Nirbheek Chauhan * docs/gst/meson.build: * docs/libs/meson.build: * meson.build: meson: Use copy: true for configure_file() Fixes a warning. 2018-07-25 01:12:49 +0300 Sebastian Dröge * libs/gst/base/gsttypefindhelper.c: typefindhelper: Mark extension in gst_type_find_helper_get_range() as allow-none It always allowed NULL and even said so in the documentation. 2018-07-24 17:28:45 +0300 Sebastian Dröge * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gsttypefindhelper.c: * libs/gst/base/gsttypefindhelper.h: * plugins/elements/gsttypefindelement.c: * win32/common/libgstbase.def: typefind: Add _with_extension() variants for typefinding data or a buffer And make use of that in the typefind element to also be able to make use of the extension in push mode. It previously only did that in pull mode and this potentially speeds up typefinding and might also prevent false positives. https://bugzilla.gnome.org/show_bug.cgi?id=796865 2018-07-24 09:58:31 +0300 Sebastian Dröge * gst/gstpadtemplate.c: * gst/gstparse.c: * gst/parse/types.h: gst: Simplify some boolean expressions (!x || (x && y)) is the same as (!x || y) https://bugzilla.gnome.org/show_bug.cgi?id=796847 2018-07-23 23:17:54 +0300 Sebastian Dröge * gst/gstpad.c: * tests/check/gst/gstpad.c: Revert "pad: Handle changing sticky events in pad probes" This reverts commit 11e0f451eb498e92d05d8208f7217625dc62848b. When pushing a sticky event out of a pad with a pad probe or pad offset, those should not be applied to the event that is actually stored in the event but only in the event sent downstream. The pad probe and pad offsets are conceptually *after* the pad, added by external code and should not affect any internal state of pads/elements. Also storing the modified event has the side-effect that a re-sent event would arrive with any previous modifications done by the same pad probe again inside that pad probe, and it would have to check if its modifications are already applied or not. For sink pads and generally for events arriving in a pad, some further changes are still needed and those are tracked in https://bugzilla.gnome.org/show_bug.cgi?id=765049 In addition, the commit also had a refcounting problem with events, causing already destroyed events to be stored inside pads. 2018-07-20 23:51:44 +0200 Mathieu Duponchelle * gst/gstbus.c: bus: add missing (out) annotation to get_poll_fd() 2018-07-18 21:13:57 -0400 Thibault Saunier * libs/gst/base/gstbasetransform.c: basetransform: Do not check if NULL is an emtpy caps gst_base_transform_transform_caps can return NULL in various conditions thus we should not treat its result as valid caps. In all other places NULL is properly handled. 2018-07-16 11:51:05 -0400 Olivier Crête * libs/gst/base/gstbasesink.c: sink: Only add processing latency if upstream is live Only add it if upstream is live, otherwise leave the latency at 0. https://bugzilla.gnome.org/show_bug.cgi?id=640610 2018-07-16 11:50:36 -0400 Olivier Crête * tests/check/gst/gstpipeline.c: pipeline tests: Add test for processing latency 2018-07-13 08:53:53 -0400 Thibault Saunier * tools/gst-inspect.c: gst-inspect: Sort properties names Making it simpler to find properties you are looking for when reading. 2018-07-13 08:52:55 -0400 Thibault Saunier * libs/gst/base/gstbasesink.c: basesink: Minor GI warning fix. 2018-07-10 08:48:47 +0200 Sebastian Dröge * gst/gstsample.c: sample: Set buffer/caps/buffer-lists to NULL correctly when replacing them with NULL 2018-06-29 07:16:28 +0200 Sebastian Dröge * gst/gstbufferlist.c: * tests/check/gst/gstbufferlist.c: bufferlist: Prevent gst_buffer_list_foreach() from modifying non-writeable lists Previously gst_buffer_list_foreach() could modify (drop or replace) buffers in non-writable lists, which could cause all kinds of problems if other code also has a reference to the list and assumes that it stays the same. https://bugzilla.gnome.org/show_bug.cgi?id=796692 2018-06-29 07:16:28 +0200 Sebastian Dröge * tests/check/gst/gstbuffer.c: buffer: Add test to ensure that memories in a non-writable buffer are not writable https://bugzilla.gnome.org/show_bug.cgi?id=796692 2018-06-28 14:13:39 +0200 Sebastian Dröge * tests/check/gst/gstbufferlist.c: bufferlist: Add test to ensure that buffers in an non-writable list are not writable https://bugzilla.gnome.org/show_bug.cgi?id=796692 2018-07-03 20:07:31 +0300 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gstbuffer.c: * gst/gstbufferlist.c: * gst/gstminiobject.c: * gst/gstminiobject.h: * gst/gstsample.c: * win32/common/libgstreamer.def: miniobject: Add parent pointers to the miniobject to influence writability Every container of miniobjects now needs to store itself as parent in the child object, and remove itself again at a later time. A miniobject is only writable if there is at most one parent, and that parent is writable itself, and if the reference count of the miniobject is 1. GstBuffer (for memories), GstBufferList (for buffers) and GstSample (for caps, buffer, bufferlist) was updated accordingly. Without this it was possible to have e.g. a bufferlist with refcount 2 in two places, modifying the same buffer with refcount 1 at the same time. https://bugzilla.gnome.org/show_bug.cgi?id=796692 2018-07-08 20:52:08 -0400 Thibault Saunier * libs/gst/check/gstcheck.h: check: Add a fail_unless_equals_clocktime macro for convenience 2018-07-07 09:15:58 -0400 Nicolas Dufresne * win32/common/libgstbase.def: base: Add processing deadline API to win32 def https://bugzilla.gnome.org/show_bug.cgi?id=640610 2015-05-04 17:30:17 -0400 Olivier Crête * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesink.h: basesink: Add processing deadline The processing deadline is the acceptable amount of time to process the media in a live pipeline before it reaches the sink. This is on top of the algorithmic latency that is normally reported by the latency query. This should make pipelines such as "v4lsrc ! xvimagesink" not claim that all frames are late in the QoS events. Ideally, this should replace max_lateness for most applications. https://bugzilla.gnome.org/show_bug.cgi?id=640610 2018-04-01 16:06:26 +0200 Bastian Köcher * gst/meson.build: * libs/gst/check/meson.build: * libs/gst/controller/meson.build: gstreamer: fix install dir for configure files Nixos installs into a non-standard includedir. https://bugzilla.gnome.org/show_bug.cgi?id=794856 2018-07-04 14:00:35 -0400 Nicolas Dufresne * gst/gststructure.c: structure: Update doc error in ARRAY/LIST helpers 2018-06-22 15:35:42 +0100 Philippe Normand * gst/gstprotection.c: protection: Release decryptors list, even if it's empty https://bugzilla.gnome.org/show_bug.cgi?id=796651 2018-06-23 17:01:09 +0200 Tim-Philipp Müller * gst/gstallocator.c: * gst/gstbin.c: * gst/gstbufferpool.c: * gst/gstbus.c: * gst/gstclock.c: * gst/gstcontrolbinding.c: * gst/gstdevice.c: * gst/gstdevicemonitor.c: * gst/gstdeviceprovider.c: * gst/gstghostpad.c: * gst/gstpad.c: * gst/gstpipeline.c: * gst/gstplugin.c: * gst/gstregistry.c: * gst/gststreamcollection.c: * gst/gststreams.c: * gst/gstsystemclock.c: * gst/gsttask.c: * gst/gsttracer.c: * libs/gst/base/gstaggregator.c: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstcollectpads.c: * libs/gst/base/gstdataqueue.c: * libs/gst/check/gsttestclock.c: * libs/gst/controller/gstinterpolationcontrolsource.c: * libs/gst/controller/gstlfocontrolsource.c: * libs/gst/controller/gsttriggercontrolsource.c: * libs/gst/net/gstnetclientclock.c: * libs/gst/net/gstnettimeprovider.c: * libs/gst/net/gstptpclock.c: * tests/check/gst/gstdevice.c: Update for g_type_class_add_private() deprecation in recent GLib https://gitlab.gnome.org/GNOME/glib/merge_requests/7 2018-06-18 16:29:18 +0200 Edward Hervey * plugins/elements/gstconcat.c: concat: Properly forward the SEGMENT seqnum 2018-06-11 10:22:39 +0300 Sebastian Dröge * gst/gstevent.c: event: Unset SNAP flags when creating a new seek event without KEY_UNIT flag The SNAP flags only make sense in combination with the KEY_UNIT flag, and without they expose all kinds of unexpected behaviour in various elements that don't expect this from happening. Also warn if this ever happens. https://bugzilla.gnome.org/show_bug.cgi?id=796558 2018-06-18 09:17:36 +0300 Sebastian Dröge * gst/gstevent.c: event: Require writable events for setting the running-time-offset and sequence number Otherwise multiple code paths with the same event could change the values on each other. https://bugzilla.gnome.org/show_bug.cgi?id=796615 2018-03-15 12:43:56 +0100 Guillaume Desmottes * gst/gststructure.c: * tests/check/gst/gststructure.c: gst_structure_to_string: display actual value of pointers We used to always display "NULL" which was pretty confusing when debugging. https://bugzilla.gnome.org/show_bug.cgi?id=794355 2018-06-13 16:27:24 -0400 Thibault Saunier * gst/gststreams.c: stream: Add some missing API safe guards 2018-06-08 17:58:43 +0100 Tim-Philipp Müller * gst/gstpoll.c: poll: minor docs clarification 'Not implemented' could be misinterpreted to mean that the API doesn't even exist there. 2018-06-08 17:57:01 +0100 Tim-Philipp Müller * win32/common/libgstreamer.def: win32: update for new API 2018-04-05 12:40:09 +0200 Guillaume Desmottes * gst/gstpoll.c: * gst/gstpoll.h: poll: add API to watch for POLLPRI Windows doesn't seem to have an equivalent of POLLPRI so disabled those functions on this platform. This API can be used, for example, to wait for video4linux events which are using POLLPRI. https://bugzilla.gnome.org/show_bug.cgi?id=794977 2018-04-05 12:19:39 +0200 Guillaume Desmottes * gst/gstpoll.c: poll: stop treating on POLLPRI as 'read' Current code was considering "can read" as having either POLLIN or POLLPRI being set. This may lead to client being awaken because of POLLPRI, starting a blocking read and getting stuck because there is actually nothing to read. This patch removes POLLPRI handling in read code and I'll add specific API to wait for POLLPRI. https://bugzilla.gnome.org/show_bug.cgi?id=794977 2018-06-05 17:02:18 +0200 Edward Hervey * libs/gst/base/gstbaseparse.c: baseparse: Ensure seqnum consistency We need all relevant events of a segment to have consistent seqnum: * GST_EVENT_SEGMENT * GST_EVENT_EOS If we are push-based and create a new segment, use the same seqnum as the upstream event. If we are pull-based, use the seqnum of that newly created segment event everywhere 2018-06-05 17:01:05 +0200 Edward Hervey * gst/gstmessage.c: message: Only allow setting valid seqnum on messages If we want to make sure we never end up with invalid seqnum on messages let's forbid setting them. 2018-06-05 16:59:50 +0200 Edward Hervey * gst/gstevent.c: event: Only allow setting valid seqnum on events If we want to make sure we never end up with invalid seqnum on events let's forbid setting them. 2018-06-05 16:58:21 +0200 Edward Hervey * gst/gstbin.c: bin: Make sure we don't use invalid seqnums on messages There is a possibility that the accumlation functions don't set a seqnum. Make sure we only set/override the seqnum of the new messages if we *have* a valid upstream seqnum to use 2018-06-02 14:02:19 +0200 Dimitrios Katsaros * plugins/elements/gstqueue2.c: * plugins/elements/gstqueue2.h: queue2: use GstQueueArray When using queue2 as a queue it was using GQueue with individually allocated queue items, so two allocs for each item. With GstQueueArray we can avoid those. https://bugzilla.gnome.org/show_bug.cgi?id=796483 2018-06-03 19:37:40 +0200 Mike Wey * libs/gst/base/gstdataqueue.c: dataqueue: add some missing introspection annotations https://bugzilla.gnome.org/show_bug.cgi?id=796488 2018-05-30 14:06:06 +0200 Edward Hervey * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbaseparse.h: baseparse: Documentation improvements * Remove references to old functions and methods * Use proper #ClassName.vmethod() decorator for vmethod 2018-05-22 16:30:58 +0200 Thibault Saunier * meson.build: * meson_options.txt: meson: Add an option to activate extra checks And activate them by default as with autotools 2018-05-21 23:10:21 +0100 Tim-Philipp Müller * meson.build: * meson_options.txt: meson: rename gtkdoc option to gtk_doc 2018-05-21 11:37:00 +0200 Edward Hervey * gst/gstdatetime.c: datetime: Update/fix documentation 2018-05-21 11:36:42 +0200 Edward Hervey * docs/gst/gstreamer-sections.txt: * gst/gstsample.c: * gst/gstsample.h: sample: Update documentation 2018-05-21 11:16:29 +0200 Edward Hervey * gst/gstpadtemplate.h: gst: Add an example to GST_STATIC_PAD_TEMPLATE macro 2018-05-21 09:14:37 +0200 Mark Nauwelaerts * gst/gstmeta.c: * gst/gstprotection.c: gst: add some GIR array annotations 2018-05-20 14:07:15 +0100 Tim-Philipp Müller * meson.build: * meson_options.txt: meson: add 'nls' option to disable translations And enable by default. Was implicitly disabled because ENABLE_NLS was not defined. 2018-05-16 23:25:26 +0100 Tim-Philipp Müller * win32/common/libgstbase.def: win32: update for new aggregator API Fixes make distcheck. 2018-05-05 10:46:09 +0200 Olivier Crête * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstaggregator.c: * libs/gst/base/gstaggregator.h: aggregator: Add get_next_time function for live streams Add a function to do the right thing for live streams. https://bugzilla.gnome.org/show_bug.cgi?id=795486 2018-05-10 00:05:51 +0300 Sebastian Dröge * gst/gstpad.c: pad: Fix race condition causing the same probe to be called multiple times Probes were remembering a cookie that was used to check if the probe was already called this time before the probes list changed. However the same probes could've been called by another thread in between and thus gotten a new cookie, and would then be called a second time. https://bugzilla.gnome.org/show_bug.cgi?id=795987 2018-05-04 09:29:22 +0200 Edward Hervey * gst/gstregistrybinary.c: * libs/gst/helpers/gst-ptp-helper.c: gst: Use memcpy() instead of strncpy() where appropriate strncpy() is assumed to be for strings so the compiler assumes that it will need an extra byte for the string-terminaning NULL. For cases where we know it's actually "binary" data, just copy it with memcpy. https://bugzilla.gnome.org/show_bug.cgi?id=795756 2018-05-07 10:47:00 +0900 Seungha Yang * libs/gst/base/gstbitwriter.h: bitwriter: Fix build error Fix implicit-function-declaration warning for meemst and memcpy gstbitwriter.h:166:3: error: implicit declaration of function ‘memset’ memset (bitwriter->data + clear_pos, 0, (new_bit_size >> 3) - clear_pos); ^ https://bugzilla.gnome.org/show_bug.cgi?id=795867 2018-05-07 01:32:14 +1000 Jan Schmidt * gst/gstevent.h: gstevent: Add some FIXME: 2.0 about removing the timestamp The timestamp field isn't valuable or used well anywhere. We should remove it for GStreamer 2.0 https://bugzilla.gnome.org/show_bug.cgi?id=761462 2014-03-18 16:01:04 +0200 Sreerenj Balachandran * tests/check/Makefile.am: * tests/check/libs/.gitignore: * tests/check/libs/bitwriter.c: * tests/check/meson.build: bitwriter: Add unit tests https://bugzilla.gnome.org/show_bug.cgi?id=707543 2013-11-12 15:00:51 +0800 Wind Yuan * docs/libs/gstreamer-libs-docs.sgml: * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/Makefile.am: * libs/gst/base/gstbitwriter-docs.h: * libs/gst/base/gstbitwriter.c: * libs/gst/base/gstbitwriter.h: * libs/gst/base/meson.build: * win32/common/libgstbase.def: bitwriter: Add a generic bit writer GstBitWriter provides a bit writer that can write any number of bits into a memory buffer. It provides functions for writing any number of bits into 8, 16, 32 and 64 bit variables. https://bugzilla.gnome.org/show_bug.cgi?id=707543 2018-05-05 19:08:09 +0530 Nirbheek Chauhan * gst/meson.build: * libs/gst/helpers/meson.build: * meson.build: * meson_options.txt: * plugins/meson.build: * plugins/tracers/meson.build: * tests/check/meson.build: * tests/meson.build: meson: Update option names to omit disable_ and with- prefixes Also yield common options to the outer project (gst-build in our case) so that they don't have to be set manually. 2018-05-05 16:16:45 +0200 Tim-Philipp Müller * gst/gstbufferlist.c: * tests/check/gst/gstbufferlist.c: bufferlist: fix abort due to underflow when creating 0-sized list gst_buffer_list_new_sized(0) will cause an underflow in a calculation which then makes it try to allocate huge amounts of memory, which may lead to aborts. https://bugzilla.gnome.org/show_bug.cgi?id=795758 2018-05-05 12:16:07 +0200 Tim-Philipp Müller * scripts/create-uninstalled-setup.sh: scripts: create-uninstalled-setup: remove dead wiki link, mention gst-build https://bugzilla.gnome.org/show_bug.cgi?id=795734 2018-05-05 11:32:12 +0200 Tim-Philipp Müller * libs/gst/base/gstaggregator.c: aggregator: since marker for new API Was also backported. https://bugzilla.gnome.org/show_bug.cgi?id=795332 2018-05-04 14:00:21 +0200 Francisco Velazquez * gst/gstdebugutils.h: debugutils: Update configure option in documentation Update documentation on non existent option `gst-enable-gst-debug'. Instead, one has to make sure that the `--disable-gst-debug' option was not used when compiling GStreamer (i.e., `./configure --disable-gst-debug'). https://bugzilla.gnome.org/show_bug.cgi?id=795801 2018-04-27 12:41:58 -0400 luz.paz * docs/random/typefind: * docs/random/wtay/capsnego-cases: * docs/random/wtay/events2: * gst/gstelement.c: * libs/gst/base/gstbasesink.c: * tests/check/gst/gstpreset.c: Source code typo fixes https://bugzilla.gnome.org/show_bug.cgi?id=795610 2018-04-27 12:40:31 -0400 luz.paz * configure.ac: * docs/libs/gstreamer-libs-docs.sgml: * docs/random/TODO-pre-0.9: * docs/random/autoplug1: * docs/random/autoplug2: * docs/random/bbb/streamselection: * docs/random/caps: * docs/random/caps2: * docs/random/company/clocks: * docs/random/company/gstdata: * docs/random/company/gstparse: * docs/random/company/gvadec.txt: * docs/random/company/tagging: * docs/random/company/time: * docs/random/ds/0.9-planning2: * docs/random/dynpads: * docs/random/ensonic/distributed.txt: * docs/random/ensonic/dparams.txt: * docs/random/ensonic/draft-bufferpools.txt: * docs/random/ensonic/draft-registry-change-hooks.txt: * docs/random/ensonic/dynlink.txt: * docs/random/ensonic/embedded.txt: * docs/random/ensonic/interfaces.txt: * docs/random/ensonic/lazycaps.txt: * docs/random/ensonic/logging.txt: * docs/random/ensonic/media-device-daemon.txt: * docs/random/ensonic/profiling.txt: * docs/random/error: * docs/random/events: * docs/random/gdp: * docs/random/matth/scheduling.txt: * docs/random/negotiation: * docs/random/old/ChangeLog.gstreamer: * docs/random/omega/TODO-0.1.0: * docs/random/omega/caps2: * docs/random/omega/plan-generation: * docs/random/omega/sched-commit1: * docs/random/omega/sched2: * docs/random/phonon-gst: * docs/random/plan-0.11.txt: * docs/random/plugins: * docs/random/porting-to-1.0.txt: * docs/random/queue: * docs/random/rtp: * docs/random/thomasvs/0.10: * docs/random/thomasvs/packaging: * docs/random/types: * docs/random/types2: * docs/random/types3: * docs/random/uraeus/gstreamer_and_midi.txt: * docs/random/wtay/CORBA: * docs/random/wtay/autoplug2: * docs/random/wtay/caps-negociation: * docs/random/wtay/capsnego2: * docs/random/wtay/capsnego2-docs: * docs/random/wtay/clocking: * docs/random/wtay/eos2: * docs/random/wtay/events: * docs/random/wtay/events3: * docs/random/wtay/interactivity: * docs/random/wtay/messages: * docs/random/wtay/namespaces: * docs/random/wtay/negotiation3: * docs/random/wtay/padprobes: * docs/random/wtay/pipelineinfo: * docs/random/wtay/plugin_guidelines: * docs/random/wtay/registry: * docs/random/wtay/scheduling_ideas: * docs/random/wtay/threading: * docs/random/wtay/threads_hilevel: * docs/random/wtay/timecache: * gst/gst.c: * gst/gstbin.c: * gst/gstcapsfeatures.c: * gst/gstdebugutils.c: * gst/gstdebugutils.h: * gst/gstdevice.h: * gst/gstdeviceprovider.c: * gst/gstelement.c: * gst/gstelement.h: * gst/gstevent.c: * gst/gstinfo.h: * gst/gstmemory.c: * gst/gstmessage.h: * gst/gstminiobject.c: * gst/gstobject.c: * gst/gstpad.c: * gst/gstpreset.c: * gst/gstregistrybinary.c: * gst/gstregistrychunks.c: * gst/gstsegment.c: * gst/gststreams.c: * gst/gsttaglist.c: * gst/gsttracerrecord.h: * gst/gsttracerutils.c: * gst/gsttypefindfactory.c: * gst/gsturi.c: * gst/gstutils.c: * gst/gstvalue.c: * gst/parse/grammar.y: * hooks/pre-commit.hook: * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstcollectpads.c: * libs/gst/base/gstcollectpads.h: * libs/gst/base/gstflowcombiner.c: * libs/gst/base/gstindex.c: * libs/gst/check/gstcheck.h: * libs/gst/check/gstharness.c: * libs/gst/check/libcheck/check.h.in: * libs/gst/check/libcheck/check_impl.h: * libs/gst/controller/gstinterpolationcontrolsource.c: * libs/gst/controller/gsttimedvaluecontrolsource.c: * libs/gst/net/gstptpclock.c: * plugins/elements/gstcapsfilter.c: * plugins/elements/gstconcat.c: * plugins/elements/gstinputselector.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gsttee.c: * plugins/elements/gsttypefindelement.c: * plugins/tracers/gstlatency.c: * scripts/gst-plot-traces.sh: * tests/check/elements/funnel.c: * tests/check/elements/selector.c: * tests/check/elements/streamiddemux.c: * tests/check/gst/gstbuffer.c: * tests/check/gst/gstmemory.c: * tests/check/gst/gstmessage.c: * tests/check/gst/gstpad.c: * tests/check/libs/aggregator.c: * tests/examples/helloworld/helloworld.c: Fix typos in comments and docs Found via `codespell` https://bugzilla.gnome.org/show_bug.cgi?id=795610 2018-04-25 19:47:11 +0100 Tim-Philipp Müller * win32/common/libgstbase.def: win32: add new symbol 2018-04-25 14:30:04 -0400 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Improve doc for gst_aggregator_pad_has_buffer 2018-04-23 11:34:19 -0400 Olivier Crête * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstaggregator.c: * libs/gst/base/gstaggregator.h: aggregator: Add API to check if a pad has a new buffer https://bugzilla.gnome.org/show_bug.cgi?id=795332 2018-04-25 18:28:00 +0100 Tim-Philipp Müller * gst/gstbuffer.c: buffer: don't over-allocate internal GstMeta items We would allocate space for two GstMeta structs even though there is only one in the end (the one in GstMetaItem and in GstFooMeta overlap). 2018-03-23 12:48:37 -0400 Xavier Claessens * gst/meson.build: * libs/gst/base/meson.build: * libs/gst/controller/meson.build: * libs/gst/net/meson.build: * meson.build: * meson_options.txt: * plugins/elements/meson.build: Meson: Use library() to build both static and shared libs Meson supports building both static and shared libraries in a single library() call. It has the advantage of reusing the same .o objects and thus avoid double compilation. https://bugzilla.gnome.org/show_bug.cgi?id=794627 2018-04-24 14:37:40 -0400 Xavier Claessens * meson.build: Meson: Fix check for linker args https://bugzilla.gnome.org/show_bug.cgi?id=795513 2018-04-22 19:23:50 +0100 Tim-Philipp Müller * pkgconfig/gstreamer-uninstalled.pc.in: pkgconfig: set pluginsdir to plugins/ sub-directory for uninstalled .pc file So we don't unnecessarily scan directories that have no plugins (or try to open libs). Matches how we limit the search space for plugin modules to gst/ ext/ sys/ subdirs. 2018-04-20 12:30:24 +0100 Tim-Philipp Müller * meson.build: meson: fix invalid keyword argument warnings cc.compiles() doesn't have a 'prefix' argument (yet) and the prefix has already been prepended to the source code snippets. https://github.com/mesonbuild/meson/issues/2364 2018-04-18 11:35:20 -0300 Thibault Saunier * gst/gstevent.c: Revert "docs: Minor fix in event_new_select_streams" This reverts commit f218917d02760f8f32a35e4e635e23230c47c0c6. 2018-04-17 20:03:09 -0300 Thibault Saunier * gst/gstevent.c: docs: Minor fix in event_new_select_streams 2018-04-17 11:24:31 +0100 Tim-Philipp Müller * plugins/elements/gstinputselector.c: * plugins/elements/gstmultiqueue.c: multiqueue, inputselector: show pad properties in gst-inspect-1.0 2018-04-17 11:01:09 +0100 Tim-Philipp Müller * plugins/elements/gstinputselector.c: * plugins/elements/gstoutputselector.c: inputselector, outputselector: add guards for wrong pads being set as active pads Catch users wrongly setting foreign pads or wrong pads as the selector's active pad, which leads to all kinds of other issues. It's a programming error so handle it just like we would if we had direct API. https://bugzilla.gnome.org/show_bug.cgi?id=795309 2018-04-17 14:00:20 -0300 Thibault Saunier * gst/gstcaps.c: * gst/gstcaps.h: caps: Add a macro based variant of gst_caps_copy This way we do not hit the performance overhead of having the method not inlined but still can use it from bindings. 2018-04-16 16:30:27 -0300 Thibault Saunier * gst/gstpad.c: * tests/check/gst/gstpad.c: pad: Handle changing sticky events in pad probes In the case where the user sets a new padprobeinfo->data in a probe where the data is a sticky event, the new sticky event should be automatically sticked on the probed pad. https://bugzilla.gnome.org/show_bug.cgi?id=795330 2018-04-17 09:33:02 -0300 Thibault Saunier * gst/gstinfo.c: debug: Make PADS debug background blue Red on red was... suboptimal! https://bugzilla.gnome.org/show_bug.cgi?id=795330 2018-04-17 17:00:53 +0100 Tim-Philipp Müller * win32/common/libgstreamer.def: win32: update defs for new exports 2018-04-16 16:27:57 -0300 Thibault Saunier * libs/gst/check/gstharness.c: harness: Handle harness->element not being a GstBin It is totally valid but in gst_harness_find_element we were not handling that case. https://bugzilla.gnome.org/show_bug.cgi?id=795308 2018-04-04 17:36:57 -0300 Thibault Saunier * gst/gstcaps.c: * gst/gstcaps.h: gst: Stop inlining gst_caps_copy This way it gets exposed to bindings through GObject Introspection. 2018-04-16 10:52:46 +0100 Tim-Philipp Müller * README: * common: Automatic update of common submodule From f0c2dc9 to ed78bee 2018-04-15 00:49:55 +0200 Aurelien Jarno * gst/gstconfig.h.in: gstconfig.h.in: initial RISC-V support RISC-V supports unaligned accesses, but these might run extremely slowly depending on the implementation. Therefore set GST_HAVE_UNALIGNED_ACCESS to 0 on this architecture. https://bugzilla.gnome.org/show_bug.cgi?id=795271 2018-04-11 17:16:54 +0200 Mathieu Duponchelle * libs/gst/base/gstadapter.c: adapter: port the buffer list from GSList to GstQueueArray Significantly reduces the amount of memory allocation operations. https://bugzilla.gnome.org/show_bug.cgi?id=795167 2018-04-11 15:38:36 +0200 Mathieu Duponchelle * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstqueuearray.c: * libs/gst/base/gstqueuearray.h: * tests/check/libs/queuearray.c: * win32/common/libgstbase.def: API: gst_queue_array_peek_nth https://bugzilla.gnome.org/show_bug.cgi?id=795157 2018-04-11 13:44:33 +0200 Mathieu Duponchelle * libs/gst/base/gstqueuearray.c: gstqueuearray: make find() return a 0-based index And make the drop() functions expect a 0-based index too, this addresses a longstanding FIXME. This will not break backward compatibility, because the drop() functions were previously only meant to be used with the index returned by find(). https://bugzilla.gnome.org/show_bug.cgi?id=795156 2018-04-11 00:49:02 +0200 Mathieu Duponchelle * docs/gst/gstreamer-sections.txt: * gst/gstsample.c: * gst/gstsample.h: * win32/common/libgstreamer.def: gstsample: new API gst_sample_set_buffer gst_sample_set_caps gst_sample_set_segment gst_sample_set_info gst_sample_is_writable gst_sample_make_writable This commit makes it possible to reuse a sample object and avoid unnecessary memory allocations, for example in appsink. In addition, writability is now required to set the buffer list. https://bugzilla.gnome.org/show_bug.cgi?id=795144 2018-04-13 20:15:46 +0200 Mark Nauwelaerts * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbytereader.c: * libs/gst/base/gstbytewriter.c: * libs/gst/base/gstcollectpads.c: * libs/gst/base/gstcollectpads.h: * libs/gst/base/gsttypefindhelper.c: * libs/gst/base/gsttypefindhelper.h: base: fix some GIR annotations Mostly related to out parameters and their transfer 2018-03-29 18:59:43 +0200 Mark Nauwelaerts * gst/gstbuffer.c: * gst/gstutils.c: gst: add some GIR array annotations 2018-04-13 09:58:05 +0200 Víctor Manuel Jáquez Leal * gst/gstdebugutils.c: debugutils: Add missing parameters documentation 2018-04-11 19:56:01 +0100 Tim-Philipp Müller * gst/gstinfo.c: gstdebug: fix occasional deadlocks on windows when outputting debug logging When outputting debug logs on Windows, some sections are protected with a non-recursive lock. Turns out though that gst_debug_message_get() might indirectly, via our printf format extensions, call code which in turn would try to log something when it can't handle something. If that happens we end up in gst_debug_log_default() again recursively and try to again take the lock that's already taken, thus deadlocking. Format the debug message string outside of the critical section instead to avoid this. https://bugzilla.gnome.org/show_bug.cgi?id=784382 2018-04-09 14:19:19 +0100 Tim-Philipp Müller * gst/gsturi.h: gsturi: include gstconfig.h earlier for GST_API define 2018-03-27 10:25:46 +0200 Jan Alexander Steffens (heftig) * gst/gstinfo.c: * tests/check/gst/gstinfo.c: gstinfo: fix debug levels being applied in the wrong order Remove unneeded reapplication of patterns. Besides being superfluous (gst_debug_reset_threshold already applies patterns) it was also wrong and didn't stop checking patterns after the first match (broken in 67e9d139). Also fix up unit test which checked for the wrong order. https://bugzilla.gnome.org/show_bug.cgi?id=794717 2018-03-27 10:15:46 +0200 Jan Alexander Steffens (heftig) * gst/gstinfo.c: gstinfo: Simplify gst_debug_reset_threshold() implementation Replace the while+goto with a for+break and check walk to determine whether we had a match. Move up the unlock to keep the locked section as small as possible. https://bugzilla.gnome.org/show_bug.cgi?id=794717 2018-03-27 10:14:27 +0200 Jan Alexander Steffens (heftig) * gst/gstinfo.c: gstinfo: Reduce code duplication around level pattern matching Move the match, logging and set_threshold to a new function. The log levels are different, so choose the higher one (LOG). Having two equivalent messages at two different levels seems like a bad idea anyway. https://bugzilla.gnome.org/show_bug.cgi?id=794717 2018-03-27 17:16:05 +0100 Tim-Philipp Müller * gst/gststreamcollection.c: streamcollection: embed GQueue into the private struct 2018-04-02 12:44:15 +0200 Edward Hervey * docs/libs/Makefile.am: * docs/libs/gstreamer-libs-sections.txt: docs: Update libs documentation * Make sure all libcheck headers are ignored * Add all missing symbols 2018-04-02 12:43:57 +0200 Edward Hervey * docs/gst/gstreamer-sections.txt: docs: Update gst core doc 2018-04-02 12:42:30 +0200 Edward Hervey * gst/gstparamspecs.h: * gst/gsttracerutils.h: gst: Documentation fixes * Fix copy-paste error for GstParamSpecArray documentation * Use proper field name for tracer utils documentation 2018-04-02 12:41:48 +0200 Edward Hervey * libs/gst/base/gstaggregator.h: * libs/gst/check/gstcheck.h: libs: Documentation fixes * Symbols not properly exposed or wrongly named 2018-03-29 12:36:11 +1100 Matthew Waters * gst/gstbin.c: bin: fix deep-element-added signal debug log message Adding the bin to the child element doesn't really make sense. 2018-03-22 13:00:21 +0000 Tim-Philipp Müller * meson.build: meson: bump meson req for gnome.mkenums_simple() 2018-03-22 12:18:28 +0000 Tim-Philipp Müller * gst/gstenumtypes.c.template: * gst/gstenumtypes.h.template: meson: remove no longer needed core enumtypes template files 2017-07-20 18:12:43 +1000 Alessandro Decina * Makefile.am: * gst/meson.build: meson: use gnome.mkenums_simple() to generate core enumtypes 2017-07-20 13:03:55 +1000 Alessandro Decina * Makefile.am: * libs/gst/controller/controller_mkenum.py: * libs/gst/controller/meson.build: * meson.build: meson: use gnome.mkenums_simple() to generate controller enumtypes 2017-07-19 19:37:02 +1000 Alessandro Decina * libs/gst/controller/meson.build: meson: delete unused variable 2018-03-21 20:02:50 -0400 Nicolas Dufresne * tests/check/gst/gstbufferpool.c: test: Pool now try to reset the size As a side effect, buffers are no longer expected to be discarded on resize. 2016-11-14 15:35:50 +0100 Petr Kulhavy * gst/gstbufferpool.c: gstbuffer: reset buffer to its original size if intact Enhance default_reset_buffer() to resize the buffer to its full size if the memory hasn't changed. This allows to reuse the buffer even if the offset has changed or the size has shrunk, rather than freeing the buffer. Change related to: https://bugzilla.gnome.org/show_bug.cgi?id=772841 2018-03-21 10:20:14 +0200 Sebastian Dröge * libs/gst/net/net.h: net: Include gstnetcontrolmessagemeta.h in net.h 2018-03-21 10:13:44 +0200 Sebastian Dröge * gst/gstparamspecs.h: paramspecs: Set g-i annotation values for GST_PARAM_* constants 2018-03-21 10:11:30 +0200 Sebastian Dröge * gst/gstelementfactory.h: elementfactory: GST_ELEMENT_FACTORY_TYPE_DECODABLE had DECRYPTOR added, update g-i annotation value 2018-03-20 16:11:01 +0200 Sebastian Dröge * gst/gstchildproxy.c: * gst/parse/grammar.y: gst: Fix compilation with latest GLib g_object_ref() forwards the type of its argument nowadays. ./grammar.y:409:14: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types] gstchildproxy.c:212:7: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types] 2018-03-20 09:02:34 +0000 Tim-Philipp Müller * NEWS: * RELEASE: * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coretracers.xml: * meson.build: Back to development === release 1.14.0 === 2018-03-19 20:09:51 +0000 Tim-Philipp Müller * ChangeLog: * NEWS: * RELEASE: * configure.ac: * gstreamer.doap: * meson.build: Release 1.14.0 2018-03-19 20:09:51 +0000 Tim-Philipp Müller * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coretracers.xml: Update docs === release 1.13.91 === 2018-03-13 19:08:54 +0000 Tim-Philipp Müller * ChangeLog: * NEWS: * RELEASE: * configure.ac: * gstreamer.doap: * meson.build: Release 1.13.91 2018-03-13 19:08:54 +0000 Tim-Philipp Müller * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coretracers.xml: Update docs 2018-03-13 11:54:42 +0000 Tim-Philipp Müller * docs/gst/meson.build: * docs/libs/meson.build: meson: docs: update api decorators to ignore 2018-03-12 23:12:13 +0000 Tim-Philipp Müller * docs/libs/Makefile.am: docs: fixup for new libs API export decorators 2018-03-12 23:03:26 +0000 Tim-Philipp Müller * libs/gst/net/Makefile.am: * libs/gst/net/gstnet.h: * libs/gst/net/gstnetaddressmeta.h: * libs/gst/net/gstnetclientclock.h: * libs/gst/net/gstnetcontrolmessagemeta.h: * libs/gst/net/gstnettimepacket.h: * libs/gst/net/gstnettimeprovider.h: * libs/gst/net/gstptpclock.h: * libs/gst/net/meson.build: * libs/gst/net/net-prelude.h: * libs/gst/net/net.h: net: GST_EXPORT -> GST_NET_API We need different export decorators for the different libs. For now no actual change though, just rename before the release, and add prelude headers to define the new decorator to GST_EXPORT. 2018-03-12 23:03:26 +0000 Tim-Philipp Müller * common: * libs/gst/controller/Makefile.am: * libs/gst/controller/controller-prelude.h: * libs/gst/controller/controller.h: * libs/gst/controller/controller_mkenum.py: * libs/gst/controller/gstargbcontrolbinding.h: * libs/gst/controller/gstdirectcontrolbinding.h: * libs/gst/controller/gstinterpolationcontrolsource.h: * libs/gst/controller/gstlfocontrolsource.h: * libs/gst/controller/gstproxycontrolbinding.h: * libs/gst/controller/gsttimedvaluecontrolsource.h: * libs/gst/controller/gsttriggercontrolsource.h: * libs/gst/controller/meson.build: controller: GST_EXPORT -> GST_CONTROLLER_API We need different export decorators for the different libs. For now no actual change though, just rename before the release, and add prelude headers to define the new decorator to GST_EXPORT. 2018-03-12 23:03:26 +0000 Tim-Philipp Müller * libs/gst/check/Makefile.am: * libs/gst/check/check-prelude.h: * libs/gst/check/check.h: * libs/gst/check/gstbufferstraw.h: * libs/gst/check/gstcheck.h: * libs/gst/check/gstconsistencychecker.h: * libs/gst/check/gstharness.h: * libs/gst/check/gsttestclock.h: * libs/gst/check/meson.build: check: GST_EXPORT -> GST_CHECK_API We need different export decorators for the different libs. For now no actual change though, just rename before the release, and add prelude headers to define the new decorator to GST_EXPORT. 2018-03-12 23:03:26 +0000 Tim-Philipp Müller * libs/gst/base/Makefile.am: * libs/gst/base/base-prelude.h: * libs/gst/base/base.h: * libs/gst/base/gstadapter.h: * libs/gst/base/gstaggregator.h: * libs/gst/base/gstbaseparse.h: * libs/gst/base/gstbasesink.h: * libs/gst/base/gstbasesrc.h: * libs/gst/base/gstbasetransform.h: * libs/gst/base/gstbitreader.h: * libs/gst/base/gstbytereader.h: * libs/gst/base/gstbytewriter.h: * libs/gst/base/gstcollectpads.h: * libs/gst/base/gstdataqueue.h: * libs/gst/base/gstflowcombiner.h: * libs/gst/base/gstindex.h: * libs/gst/base/gstpushsrc.h: * libs/gst/base/gstqueuearray.h: * libs/gst/base/gsttypefindhelper.h: * libs/gst/base/meson.build: base: GST_EXPORT -> GST_BASE_API We need different export decorators for the different libs. For now no actual change though, just rename before the release, and add prelude headers to define the new decorator to GST_EXPORT. 2018-03-12 23:03:26 +0000 Tim-Philipp Müller * docs/gst/Makefile.am: * gst/Makefile.am: * gst/gst.h: * gst/gst_private.h: * gst/gstallocator.h: * gst/gstatomicqueue.h: * gst/gstbin.h: * gst/gstbuffer.h: * gst/gstbufferlist.h: * gst/gstbufferpool.h: * gst/gstbus.h: * gst/gstcaps.h: * gst/gstcapsfeatures.h: * gst/gstchildproxy.h: * gst/gstclock.h: * gst/gstconfig.h.in: * gst/gstcontext.h: * gst/gstcontrolbinding.h: * gst/gstcontrolsource.h: * gst/gstdatetime.h: * gst/gstdebugutils.h: * gst/gstdevice.h: * gst/gstdevicemonitor.h: * gst/gstdeviceprovider.h: * gst/gstdeviceproviderfactory.h: * gst/gstdynamictypefactory.h: * gst/gstelement.h: * gst/gstelementfactory.h: * gst/gstenumtypes.h.template: * gst/gsterror.h: * gst/gstevent.h: * gst/gstformat.h: * gst/gstghostpad.h: * gst/gstinfo.h: * gst/gstiterator.h: * gst/gstmemory.h: * gst/gstmessage.h: * gst/gstmeta.h: * gst/gstminiobject.h: * gst/gstobject.h: * gst/gstpad.h: * gst/gstpadtemplate.h: * gst/gstparamspecs.h: * gst/gstparse.h: * gst/gstpipeline.h: * gst/gstplugin.h: * gst/gstpluginfeature.h: * gst/gstpoll.h: * gst/gstpreset.h: * gst/gstpromise.h: * gst/gstprotection.h: * gst/gstquery.h: * gst/gstregistry.h: * gst/gstsample.h: * gst/gstsegment.h: * gst/gststreamcollection.h: * gst/gststreams.h: * gst/gststructure.h: * gst/gstsystemclock.h: * gst/gsttaglist.h: * gst/gsttagsetter.h: * gst/gsttask.h: * gst/gsttaskpool.h: * gst/gsttoc.h: * gst/gsttocsetter.h: * gst/gsttracer.h: * gst/gsttracerfactory.h: * gst/gsttracerrecord.h: * gst/gsttypefind.h: * gst/gsttypefindfactory.h: * gst/gsturi.h: * gst/gstutils.h: * gst/gstvalue.h: gst: GST_EXPORT -> GST_API We need different export decorators for the different libs. For now no actual change though, just rename before the release, and add prelude headers to define the new decorator to GST_EXPORT. 2018-03-08 13:30:30 +1100 Matthew Waters * gst/gstpromise.c: promise: be more explicit in docs about who/when to use reply/interrupt/expire https://bugzilla.gnome.org/show_bug.cgi?id=794153 2018-03-07 11:19:25 -0500 Nicolas Dufresne * libs/gst/base/gstbasesrc.c: basesrc: Balance unlock/unlock_stop in _src_stop() Otherwise it's possible that we won't be able to start again depending the implementation. We do start/stop in normal use cases whenever GST_QUERY_SCHEDULING happens before we are started. https://bugzilla.gnome.org/show_bug.cgi?id=794149 2018-03-07 11:16:00 -0500 Nicolas Dufresne * libs/gst/base/gstbasesrc.c: basesrc: No need to stop flushing in start_complete The flushing state is handled a bit differently, there is no need to stop flushing in start_complete. This would other result in unlock_stop being called without unlock_start. Unlike what the old comment says, there is no need to take the live lock here, we are still single threaded at this point (app thread or the state change thread). Also, we will wait for playing state in create/getrange, no need to do that twice. https://bugzilla.gnome.org/show_bug.cgi?id=794149 2018-03-05 11:52:24 +0200 Sebastian Dröge * gst/gstdebugutils.c: debugutils: Change dot-file functions documentation to proper gtk-doc This way gobject-introspection also picks it up and handles our annotations. See https://gitlab.gnome.org/GNOME/gobject-introspection/issues/194 2018-03-04 10:53:10 +0200 Sebastian Dröge * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstqueuearray.c: * libs/gst/base/gstqueuearray.h: * win32/common/libgstbase.def: queuearray: Implement pop_tail_struct() for completeness All other variants of {peek,pop}_{head,tail}_{,struct} were already implemented. https://bugzilla.gnome.org/show_bug.cgi?id=794035 2018-03-04 10:24:49 +0200 Sebastian Dröge * gst/gstpreset.c: * gst/gsturi.c: gst: Add some more (type filename) annotations === release 1.13.90 === 2018-03-03 21:51:49 +0000 Tim-Philipp Müller * ChangeLog: * NEWS: * RELEASE: * configure.ac: * gstreamer.doap: * meson.build: Release 1.13.90 2018-03-03 21:51:49 +0000 Tim-Philipp Müller * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coretracers.xml: Update docs 2018-02-13 22:20:18 +1100 Matthew Waters * plugins/elements/gstfdsink.c: * plugins/elements/gstfdsrc.c: * plugins/elements/gstfilesink.c: * plugins/elements/gstfilesrc.c: * plugins/elements/gstqueue2.c: * plugins/elements/gstsparsefile.c: plugins: Don't force 64-bit file/seek functions variants on android Most functions are automatically chosen from the _FILE_OFFSET_BITS define, the remaining one (fstat) is only available on API >= 21 so check for that 2018-03-01 22:21:17 +0000 Tim-Philipp Müller * docs/libs/gstreamer-libs-sections.txt: * win32/common/libgstbase.def: Add new symbol to docs and .def file Fixes make check 2018-03-01 16:19:09 -0500 Olivier Crête * libs/gst/base/gstqueuearray.c: * libs/gst/base/gstqueuearray.h: * plugins/elements/gstqueue.c: * tests/check/elements/queue.c: queue: Ignore thresholds if a query is queued The queue gets filled by the tail, so a query will always be the tail object, not the head object. Also add a _peek_tail_struct() method to the GstQueueArray to enable looking at the tail. With unit test to prevent future regression. https://bugzilla.gnome.org/show_bug.cgi?id=762875 2018-03-01 18:38:01 +0100 Mathieu Duponchelle * meson.build: meson: -Wformat-* require -Wformat 2018-03-01 17:20:06 +0100 Mathieu Duponchelle * gst/printf/meson.build: * libs/gst/check/libcheck/meson.build: * meson.build: meson: enable more warnings Modeled on the autotools build, -W flags are only added if the compiler supports them. https://bugzilla.gnome.org/show_bug.cgi?id=793958 2018-03-01 00:31:11 +0100 Mathieu Duponchelle * libs/gst/base/gstaggregator.c: * libs/gst/base/gstaggregator.h: * tests/check/libs/aggregator.c: gstaggregator: pads must inherit from #GstAggregatorPad Document this, and take advantage of that fact to use GstAggregator.srcpad.segment instead of GstAggregator.segment https://bugzilla.gnome.org/show_bug.cgi?id=793942 2018-03-01 01:15:34 +0100 Mathieu Duponchelle * libs/gst/base/gstaggregator.c: * libs/gst/base/gstaggregator.h: * tests/check/libs/aggregator.c: Revert "gstaggregator: pads must inherit from #GstAggregatorPad" This reverts commit 9774b3775d8483e5697f9196a26c1e5831113bd6. Pushed by mistake 2018-03-01 01:12:07 +0100 Mathieu Duponchelle * gst/gstghostpad.c: ghostpad: ensure we build a ghost pad .. When we construct from a custom GType 2018-03-01 01:09:48 +0100 Mathieu Duponchelle * gst/gstpad.c: pad: fix mixed declarations 2018-03-01 00:31:11 +0100 Mathieu Duponchelle * libs/gst/base/gstaggregator.c: * libs/gst/base/gstaggregator.h: * tests/check/libs/aggregator.c: gstaggregator: pads must inherit from #GstAggregatorPad Document this, and take advantage of that fact to use GstAggregator.srcpad.segment instead of GstAggregator.segment https://bugzilla.gnome.org/show_bug.cgi?id=793942 2018-02-28 19:53:42 +0100 Mathieu Duponchelle * libs/gst/base/gstaggregator.c: aggregator: allow src GstAggregatorPads See https://bugzilla.gnome.org/show_bug.cgi?id=793917 https://bugzilla.gnome.org/show_bug.cgi?id=793934 2018-02-28 19:51:44 +0100 Mathieu Duponchelle * gst/gstghostpad.c: * gst/gstpad.c: * gst/gstpadtemplate.c: pad, ghostpad: use the template gtype if specified Also make sure the GType passed to the with_gtype versions of the template constructors is_a GstPad https://bugzilla.gnome.org/show_bug.cgi?id=793933 2018-02-21 22:25:25 -0500 Nicolas Dufresne * libs/gst/base/gstbaseparse.c: baseparse: Fix integer overflow in bitrate calculation https://bugzilla.gnome.org/show_bug.cgi?id=793284 2018-02-21 22:01:36 -0500 Nicolas Dufresne * libs/gst/base/gstbaseparse.c: baseparse: Avoid overflow in update_interval calculation https://bugzilla.gnome.org/show_bug.cgi?id=793284 2018-02-21 21:43:59 -0500 Nicolas Dufresne * libs/gst/base/gstbaseparse.c: baseparse: Fix check for update_interval update_interval may be -1 https://bugzilla.gnome.org/show_bug.cgi?id=793284 2018-02-19 15:39:46 +0900 Justin Kim * meson.build: meson: Use .dylib suffix if darwin For Mac OS, GST_EXTRA_MODULE_SUFFIX should be set as '.dylib'. Otherwise, GStreamer fails to load its plugins. https://bugzilla.gnome.org/show_bug.cgi?id=793584 2018-02-01 18:29:27 +0000 Tim-Philipp Müller * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstqueuearray.c: * libs/gst/base/gstqueuearray.h: * tests/check/libs/queuearray.c: * win32/common/libgstbase.def: queuearray: add _peek_tail() and _pop_tail() API: gst_queue_array_pop_tail() API: gst_queue_array_peek_tail() These will be needed later for appsrc. 2018-02-13 12:38:33 +0100 Mark Nauwelaerts * gst/gstbuffer.c: * gst/gstevent.c: * gst/gstmemory.c: * gst/gstmessage.c: * gst/gstquery.c: * gst/gstsegment.c: * gst/gsttaglist.c: * gst/gsturi.c: gst: fix some GIR annotations Mostly related to out parameters and their transfer 2018-01-10 04:08:57 +0100 Alicia Boya García * libs/gst/base/gstbasesink.c: * tests/check/libs/basesink.c: gstbasesink: Include segment.offset in the computation of position Position queries with GST_FORMAT_TIME are supposed to return stream time. gst_base_sink_get_position() estimates the current stream time on its own instead of using gst_segment_to_stream_time(), but the algorithm used was not taking segment.offset into account, resulting in invalid values when this field was set to a non-zero value. https://bugzilla.gnome.org/show_bug.cgi?id=792434 2018-02-15 12:58:43 +1100 Matthew Waters * plugins/tracers/gstlatency.c: tracers: latency: allow for non parented pads to send latency probes Such a setup is used in rtspsrc for its TCP connection https://bugzilla.gnome.org/show_bug.cgi?id=793478 2018-02-15 19:44:14 +0000 Tim-Philipp Müller * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coretracers.xml: * meson.build: Back to development === release 1.13.1 === 2018-02-15 16:31:16 +0000 Tim-Philipp Müller * NEWS: * configure.ac: * docs/plugins/gstreamer-plugins.args: * docs/plugins/gstreamer-plugins.hierarchy: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coretracers.xml: * gstreamer.doap: * meson.build: Release 1.13.1 2018-02-15 13:36:26 +0000 Tim-Philipp Müller * tests/check/gst/gstpipeline.c: tests: pipeline: try to make test_pipeline_reset_start_time more reliable Occasionally this test would fail, especially if the system is under load, because the position query would pick up the last position from the last buffer timestamp which has a lower timestamp than what we're looking for. The sleep is long enough, however. It's unclear to me why exactly this happens but there seems to be some kind of scheduling issue going on as the streaming thread floods the sink with buffers. Let's throttle the fakesrc to 100 buffers per second and make the sink sync to the clock to restore some sanity. It should be totally sufficient to test what we want to test, and seems to make things reliable here. 2018-02-15 12:03:20 +0000 Tim-Philipp Müller * tests/check/gst/gsturi.c: tests: uri: fix build without -DGST_DISABLE_DEPRECATED Must undefine it before including gst headers, since the test tests deprecated API. 2018-02-15 12:09:31 +0000 Tim-Philipp Müller * gst/gstconfig.h.in: gstconfig.h: want deprecation warnings if GST_DISABLE_DEPRECATED is *set* Fix inverted logic. If GST_DISABLE_DEPRECATED is undefined, we don't want warnings about deprecated API, and if it's defined we do want warnings. 2018-02-15 11:28:23 +0000 Tim-Philipp Müller * po/bg.po: * po/cs.po: * po/da.po: * po/de.po: * po/fr.po: * po/hr.po: * po/hu.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/ru.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: po: update translations 2018-02-14 19:37:35 +0000 Tim-Philipp Müller * docs/libs/gstreamer-libs-sections.txt: docs: add flow combiner ref/unref to docs So new-in-1.12 index actually has some entries. 2018-02-14 19:13:28 +0000 Tim-Philipp Müller * docs/libs/gstreamer-libs-docs.sgml: docs: add index for new symbols in 1.14 2018-02-14 19:12:06 +0000 Tim-Philipp Müller * docs/libs/gstreamer-libs-docs.sgml: docs: add index for new symbols in 1.12 2018-02-08 17:22:14 +0000 Tim-Philipp Müller * meson.build: meson: make version numbers ints and fix int/string comparison WARNING: Trying to compare values of different types (str, int). The result of this is undefined and will become a hard error in a future Meson release. 2018-02-03 17:56:04 +0100 Tim-Philipp Müller * configure.ac: * gst/printf/Makefile.am: autotools: use -fno-strict-aliasing where supported https://bugzilla.gnome.org/show_bug.cgi?id=769183 2018-02-03 17:55:29 +0100 Tim-Philipp Müller * gst/gstbuffer.h: buffer: fix gtk-doc warning regarding _get_n_meta() declaration 2018-02-02 00:24:20 +1100 Matthew Waters * gst/gstpromise.c: * gst/gstpromise.h: gstpromise: add since 1.14 markers 2017-10-18 21:24:19 +1100 Matthew Waters * scripts/gst-uninstalled: gst-uninstalled: add webrtc to libraries 2018-01-31 14:01:36 +0100 Mathieu Duponchelle * gst/gstbuffer.h: gstbuffer.h: move FLAG_LAST documentation back to the bottom 2018-01-31 13:36:15 +0100 Mathieu Duponchelle * libs/gst/base/gstbasetransform.h: basetransform: annotate virtual methods 2018-01-30 16:41:39 +0100 Mathieu Duponchelle * gst/gstbuffer.h: gstbuffer: add GST_BUFFER_FLAG_NON_DROPPABLE This can be used to identify buffers for which a higher percentage of redundancy should be allocated when performing forward error correction, or to prevent still video frames from being dropped by elements due to QoS. https://bugzilla.gnome.org/show_bug.cgi?id=793008 2018-01-30 20:30:47 +0000 Tim-Philipp Müller * meson.build: meson: use -fno-strict-aliasing if supported https://bugzilla.gnome.org/show_bug.cgi?id=769183 2017-12-23 16:45:18 +0100 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gstbuffer.c: * gst/gstbuffer.h: * win32/common/libgstreamer.def: buffer: add gst_buffer_get_n_meta() convenience function Counts how many metas there are for a certain api type. https://bugzilla.gnome.org/show_bug.cgi?id=791918 2017-10-22 18:05:30 +0530 Arun Raghavan * gst/gst.c: * gst/gstallocator.c: * gst/gstbin.c: * gst/gstbuffer.c: * gst/gstbus.c: * gst/gstcaps.c: * gst/gstcapsfeatures.c: * gst/gstdatetime.c: * gst/gstdevice.c: * gst/gstdevicemonitor.c: * gst/gstdeviceprovider.c: * gst/gstelement.c: * gst/gstevent.c: * gst/gstinfo.c: * gst/gstmessage.c: * gst/gstmeta.c: * gst/gstminiobject.c: * gst/gstpad.c: * gst/gstpadtemplate.c: * gst/gstparamspecs.c: * gst/gstparse.c: * gst/gstplugin.c: * gst/gstprotection.c: * gst/gstquery.c: * gst/gstsample.c: * gst/gststreamcollection.c: * gst/gststreams.c: * gst/gststructure.c: * gst/gsttaglist.c: * gst/gsttoc.c: * gst/gsturi.c: * gst/gstutils.c: * gst/gstvalue.c: gst: Fix up a bunch of GIR annotations This is mostly on nullable return values, and some other minor ones that I ran across. https://bugzilla.gnome.org/show_bug.cgi?id=789319 2017-05-27 05:19:20 +0530 Arun Raghavan * gst/gstdevicemonitor.c: devicemonitor: Return NULL instead of FALSE Same effect, meaning is clearer. https://bugzilla.gnome.org/show_bug.cgi?id=789319 2018-01-26 12:42:28 +0100 François Laignel * docs/gst/gstreamer-sections.txt: * gst/gstmessage.c: * gst/gstmessage.h: * tests/check/gst/gstmessage.c: * win32/common/libgstreamer.def: message: Add gst_message_writable_structure() Add gst_message_writable_structure() to be able to add extra fields to messages (and be on par with GstEvent). https://bugzilla.gnome.org/show_bug.cgi?id=792928 2018-01-23 22:49:52 +0100 Mathieu Duponchelle * libs/gst/base/gstaggregator.c: aggregator: delegate buffer skipping to the aggregate thread As we do that for serialized events as well, and the subclass will most likely need to access pad->segment to make its decisions, doing that from the sinkpad's streaming threads was racy. 2017-12-28 12:12:45 +0100 Mathieu Duponchelle * libs/gst/base/gstaggregator.c: * libs/gst/base/gstaggregator.h: API: GstAggregatorPad.skip_buffer virtual method Allows subclasses to prevent buffers from being queued. https://bugzilla.gnome.org/show_bug.cgi?id=781928 2018-01-23 20:04:02 +0100 Mathieu Duponchelle * libs/gst/base/gstbasesrc.h: basesrc: Annotate some of the virtual methods 2018-01-23 08:56:34 +0000 Tim-Philipp Müller * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstaggregator.c: * libs/gst/base/gstaggregator.h: * tests/check/libs/aggregator.c: * win32/common/libgstbase.def: aggregator: rename _get_buffer() -> _peek_buffer() and _steal -> _pop https://bugzilla.gnome.org/show_bug.cgi?id=791204 2018-01-20 15:30:53 +0000 Tim-Philipp Müller * gst/gstchildproxy.c: childproxy: gracefully handle methods being NULL Do this for all method invoke functions for consistency. https://bugzilla.gnome.org/show_bug.cgi?id=750154 2018-01-18 18:11:59 +0000 Tim-Philipp Müller * win32/common/libgstreamer.def: win32: fix .def file for new API Fixes check + distcheck 2017-08-01 10:43:32 +0200 Michele Dionisio * libs/gst/net/gstptpclock.c: ptp: fix build failure with #undef USE_MEASUREMENT_FILTERING "Label ‘out’ used but not defined", since it's also used by the USE_MEDIAN_PRE_FILTERING branch. https://bugzilla.gnome.org/show_bug.cgi?id=785631 2018-01-18 19:16:12 +0200 Sebastian Dröge * gst/gstpadtemplate.h: padtemplate: And add missing GST_EXPORT to gst_pad_template_new_with_gtype() 2018-01-18 19:15:09 +0200 Sebastian Dröge * gst/gstpadtemplate.c: padtemplate: Add missing Since: 1.14 marker to gst_pad_template_new_with_gtype() 2018-01-18 19:08:10 +0200 Sebastian Dröge * gst/gstpadtemplate.c: * gst/gstpadtemplate.h: padtemplate: Add gst_pad_template_new_with_gtype() For being able to create a pad template with GType without having a static pad template. 2018-01-18 19:07:49 +0200 Sebastian Dröge * gst/gstpadtemplate.c: padtemplate: Add Since: 1.14 marker to gst_pad_template_new_from_static_pad_template_with_gtype() 2018-01-16 10:17:58 +0100 Edward Hervey * gst/gstpad.c: gstpad: Avoid stream-dead-lock on deactivation The following case can happen when two thread try to activate and deactivate a pad at the same time: T1: starts to deactivate, calls pre_activate(), sets in_activation to TRUE and carries on T2: starts to activate, calls pre_activate(), in_activation is TRUE so it waits on the GCond T1: calls post_activate(), tries to acquire the streaming lock .. but can't because T2 is currently holding it With this patch, the deadlock will no longer happen but does not solve the problem that: T2: will resume activation of the pad, set the pad mode to the target one (PUSH or PULL) and eventually the streaming lock gets released. T1: is able to finish calling post_activate() ... but ... the pad wasn't deactivated (T2 was the last one to "activate" the pad. https://bugzilla.gnome.org/show_bug.cgi?id=792341 2018-01-15 18:13:45 +0100 Edward Hervey * gst/gstpad.c: gstpad: Release pending g_cond_wait() when stopping/pausing task Otherwise we would deadlock waiting forever for the streaming lock to be released https://bugzilla.gnome.org/show_bug.cgi?id=792341 2018-01-13 11:08:00 +0800 Jun Xie * libs/gst/base/gsttypefindhelper.c: typefindhelper: fix confusing debug log message In case of a short buffer, the debug log is quite confusing. Distinguish the two types of failure cases to make it clearer. https://bugzilla.gnome.org/show_bug.cgi?id=792486 2018-01-12 18:47:17 +0000 Tim-Philipp Müller * gst/gstobject.c: docs: explicit refer to GObject docs for floating refs https://bugzilla.gnome.org/show_bug.cgi?id=788477 2018-01-11 19:52:41 +0000 Tim-Philipp Müller * tests/check/elements/fakesink.c: tests: fakesink: make notify stress test work better on Windows Set up all ten pipelines and preroll them first, and only set them to playing to run wild after they're all set up. If we set them to PLAYING directly and let those threads run wild, then it might take ages (many seconds) for the other pipelines to even get up and running, especially on machines with only one or two cores, and operating systems that suck at scheduling. Now the fakesink test takes 19 secs instead of 71 secs on a single-cpu windows machine. 2018-01-11 19:32:08 +0000 Tim-Philipp Müller * tests/check/elements/filesrc.c: tests: filesrc: more Windows fixes Fix typo in newly-added windows uri test. 2018-01-11 18:44:50 +0000 Tim-Philipp Müller * gst/gstutils.c: utils: use g_get_monotonic_time() as fallback in gst_utils_get_timestamp() This is a better fit given that the function docs say this should (only) be used for interval measurements, but also this seems to give much better granularity on Windows systems, where before this change there would often be 10-20 lines of debug log with the same timestamp up front. 2018-01-11 18:39:50 +0000 Tim-Philipp Müller * tests/check/gst/gstsystemclock.c: tests: systemclock: scale stress test threads according to number of cpus Scale the number of threads used in the stress tests according to the number of cores/cpus. We want some contention, but we also don't want too much contention, as some operating systems are better at handling 100 threads running wild on a single core than others. 2018-01-11 17:10:45 +0000 Tim-Philipp Müller * gst/gstplugin.c: plugin: plugin_load() must return a ref even if it was loaded already Fix refcounting issue when plugin was loaded already. gst_plugin_load() is supposed to return a ref, so it must always return a ref. This also fixes the gstplugin unit test on windows where fork is not available and where test_load_coreelements() would unref a plugin ref it didn't get and then mess up the internal registry plugin list state for the next test, in case where the test registry does not exist yet. 2018-01-11 14:56:42 +0000 Tim-Philipp Müller * tests/check/elements/filesrc.c: tests: filesrc: fix for windows Location paths have backslashes on windows when converted from URI. 2018-01-11 12:27:18 +0000 Tim-Philipp Müller * libs/gst/check/gstcheck.c: libs: check: print stacktrace on unexpected criticals 2018-01-11 12:02:47 +0000 Tim-Philipp Müller * tests/check/Makefile.am: * tests/check/gst/gstabi.c: * tests/check/gst/struct_x86_64w.h: tests: abi: fix abi test on 64-bit Windows Add header with structure sizes for 64-bit windows as well. They're almost the same as on Linux, but it looks like things like padding unions get aligned slightly differently so there are a handful of differences: sizeof(GstGhostPad) is 528, expected 536 sizeof(GstPad) is 512, expected 520 sizeof(GstPadProbeInfo) is 64, expected 72 sizeof(GstProxyPad) is 520, expected 528 2018-01-11 11:38:53 +0000 Tim-Philipp Müller * tests/check/gst/gstinfo.c: tests: info: fix post init cat reg test on windows and with CK_FORK=no The test checks that categories not covered by the pattern in the GST_DEBUG string have debug level GST_LEVEL_DEFAULT set, but previous tests mess with the default threshold, which made this test fail on Windows or when run with CK_FORK=no. Fix this by resetting everything at the beginning, and then also do a sanity check afterwards. 2018-01-11 11:36:53 +0000 Tim-Philipp Müller * gst/gstinfo.c: info: reset default threshold to LEVEL_DEFAULT not 0 in set_threshold_from_string(). 2017-11-08 20:05:03 +0100 Håvard Graff * libs/gst/check/libcheck/check.h.in: * libs/gst/check/libcheck/libcompat/libcompat.h: * libs/gst/check/libcheck/meson.build: * libs/gst/check/meson.build: * libs/gst/meson.build: * pkgconfig/meson.build: * tests/meson.build: meson: make check and tests build on Windows with msvc 2018-01-02 10:02:45 +0100 Edward Hervey * libs/gst/check/gstharness.c: gstharness: Remove double free 2017-12-26 18:08:31 +0100 Sebastian Dröge * gst/gststreams.h: streams: GstStreamType/GstStream are available since 1.10 Annotate them as such. 2017-12-26 13:46:20 +0100 Tim-Philipp Müller * meson.build: meson: skip translations if gettext is not available 2017-12-26 12:51:22 +0100 Stefan Sauer * libs/gst/base/gstaggregator.c: aggregator: remove DEBUG_FUNCPTR The new gst_element_do_foreach_pad() does not print the functions anymore. 2017-12-26 12:17:53 +0100 Stefan Sauer * tools/gst-inspect.c: inspect: add comment for how to improve tracer support 2017-12-26 11:29:39 +0100 Stefan Sauer * gst/gstsegment.c: segment: add a FIXME-2.0 for the format parameters Capture the somewhat not ordinary use of the extra format parameter in a comment. See https://bugzilla.gnome.org/show_bug.cgi?id=788979 2017-12-24 16:21:38 +0100 Tim-Philipp Müller * gst/gst.c: * tests/check/Makefile.am: * tests/check/gst/.gitignore: * tests/check/gst/gstdeinit.c: * tests/check/meson.build: Skip gst_deinit() if gstreamer was not initialized properly Can happen if an error occurs during option parsing, for example. https://bugzilla.gnome.org/show_bug.cgi?id=781914 2017-12-23 23:43:33 +0100 Jan Alexander Steffens (heftig) * tests/check/elements/multiqueue.c: tests: multiqueue: Replace large test macro with function Just a bit of cleanup. https://bugzilla.gnome.org/show_bug.cgi?id=756867 2017-12-15 09:43:40 +0100 Jan Alexander Steffens (heftig) * tests/check/elements/multiqueue.c: tests: multiqueue: Check we get CREATE+ENTER stream-statuses when adding pads https://bugzilla.gnome.org/show_bug.cgi?id=756867 2017-12-15 09:14:57 +0100 Jan Alexander Steffens (heftig) * plugins/elements/gstmultiqueue.c: multiqueue: Don't start new pads until parented Start task on new source pads added at runtime after they have been added to the element, not during activation. This ensures the pads can post their CREATE stream-status messages and the application can set thread priorities. https://bugzilla.gnome.org/show_bug.cgi?id=756867 2017-12-15 09:14:07 +0100 Jan Alexander Steffens (heftig) * plugins/elements/gstmultiqueue.c: multiqueue: Split task handling from gst_single_queue_flush https://bugzilla.gnome.org/show_bug.cgi?id=756867 2017-12-23 23:25:58 +0100 Jan Alexander Steffens (heftig) * libs/gst/base/gstaggregator.c: aggregator: Avoid a maybe-uninitialized warning Arch Linux x86_64, gcc 7.2.1-2, -Og -g3 2017-12-21 13:47:52 +0200 Sebastian Dröge * plugins/elements/gstdownloadbuffer.c: downloadbuffer: Don't hold the mutex while posint the download-complete message Something might handle it from a sync message handler and call back into downloadbuffer, causing a deadlock. 2017-12-20 18:56:23 +0200 Sebastian Dröge * gst/gstsystemclock.c: systemclock: set_default() clock parameter can be NULL 2017-12-20 18:11:48 +0200 Sebastian Dröge * gst/gstelement.c: element: Annotate set_clock() clock parameter with allow-none 2017-12-20 18:09:28 +0200 Sebastian Dröge * gst/gstelement.c: element: Annotate set_bus() bus parameter as allow-none It's possible to replace the bus with NULL/None 2017-12-10 22:50:05 +0000 Tim-Philipp Müller * scripts/gst-uninstalled: gst-uninstalled: update for gl lib move from bad to base 2017-12-11 20:58:16 -0500 Nicolas Dufresne * libs/gst/base/gstbasetransform.c: basetransform: Allow going passthrough inside decide_allocation Sub-class may want to decide to go passthrough/in-place by inspecting the support meta APIs. This patch duplicates the check for this mode, so we still don't do uneeded allocation query while we allow sub-classes to switch the behaviour during it's own decide_allocation call. Notice that such sub-class need to reset the class to non-passthrough in set_caps() in order for decide_allocation to be called again. This is needed otherwise we'd be doing an allocation query in element in which it make no sense (notably capsfilter). https://bugzilla.gnome.org/show_bug.cgi?id=791453 2017-12-17 14:18:38 +0200 Sebastian Dröge * gst/gstplugin.c: plugin: Annotate add_dependency() arguments as NULL-terminated arrays 2017-12-14 00:03:04 +0530 Umang Jain * gst/gstbus.c: docs: GstBus: Provide more information for ref/unref during bus watch. https://bugzilla.gnome.org/show_bug.cgi?id=791588 2017-12-14 16:05:00 +1100 Matthew Waters * win32/common/libgstreamer.def: update win32 defs for tracer API addition 2017-12-14 14:48:47 +1100 Matthew Waters * common: Automatic update of common submodule From e8c7a71 to 3fa2c9e 2017-12-05 21:36:34 +1100 Matthew Waters * docs/gst/gstreamer-sections.txt: * docs/plugins/Makefile.am: * docs/plugins/gstreamer-plugins-docs.sgml: * docs/plugins/gstreamer-plugins-sections.txt: * docs/plugins/inspect/plugin-coretracers.xml: * gst/gsttracerfactory.c: * gst/gsttracerfactory.h: * plugins/tracers/gstlatency.c: * plugins/tracers/gstleaks.c: * plugins/tracers/gstlog.c: * plugins/tracers/gstrusage.c: * plugins/tracers/gststats.c: docs: include tracers in the documentation Requires exposing the tracer GType from the GstTracerFactory in order to link the plugin with the tracer in the documentation. https://bugzilla.gnome.org/show_bug.cgi?id=791253 2017-12-05 20:56:09 +1100 Matthew Waters * libs/gst/check/gstharness.c: check/harness: fix transfer annotations on buffer passing functions 2017-08-30 13:03:28 +0100 Tim-Philipp Müller * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasesrc.h: * tests/check/libs/basesrc.c: * win32/common/libgstbase.def: basesrc: add buffer list support Add a gst_base_src_submit_buffer_list() function that allows subclasses to produce a bufferlist containing multiple buffers in the ::create() function. The buffers in the buffer list will then also be pushed out in one go as a GstBufferList. This can reduce push overhead significantly for sources with packetised inputs (such as udpsrc) in high-throughput scenarios. The _submit_buffer_list() approach was chosen because it is fairly straight-forward, backwards-compatible, bindings-friendly (as opposed to e.g. making the create function return a mini object instead), and it allows the subclass maximum control: the subclass can decide dynamically at runtime whether to return a list or a single buffer (which would be messier if we added a create_list virtual method). https://bugzilla.gnome.org/show_bug.cgi?id=750241 2017-08-31 01:18:28 +0100 Tim-Philipp Müller * libs/gst/base/gstbasesrc.c: basesrc: minor code readability improvement 2017-12-07 12:05:23 +0000 Tim-Philipp Müller * gst/gstbus.c: * gst/gstevent.c: * gst/gsttracer.c: * gst/gsttracerutils.h: * gst/gstvalue.h: docs: Fix a few gtk-doc warnings Broken links mostly. 2017-12-06 20:58:42 +0000 Tim-Philipp Müller * tests/check/libs/aggregator.c: tests: aggregator: fix caps leak in unit test 2017-12-06 17:07:29 +0100 Edward Hervey * gst/gstpad.c: gstpad: Handle GST_PAD_PROBE_HANDLED on sticky event push When actually pushing an event, if we get GST_FLOW_CUSTOM_SUCCESS_1 (which is the conversion of GST_PAD_PROBE_HANDLED return value), don't consider the stick event push as ignored, but as handled 2017-12-06 13:40:46 +0200 Sebastian Dröge * gst/gstevent.c: * gst/gstmessage.c: * gst/gstquery.c: event/query/message: Annotate get_structure() return value as nullable 2017-12-06 13:36:30 +0200 Sebastian Dröge * gst/gstquery.c: query: Add an empty structure in writable_structure() if there is none yet This is consistent with how it works for GstEvent already. 2017-12-05 18:21:00 +0100 Edward Hervey * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * gst/gstpromise.c: * gst/gststreamcollection.h: * gst/gststreams.h: docs: Misc addition/fixes And also add the "Since" API sections for 1.12 and 1.14 2017-12-05 18:20:34 +0100 Edward Hervey * docs/gst/gstreamer-sections.txt: * gst/gstutils.c: * gst/gstutils.h: docs: Add documentation for GST_SEQNUM_INVALID And link to it 2017-12-05 17:28:55 +0100 Edward Hervey * docs/gst/gstreamer-sections.txt: * gst/gstutils.c: * gst/gstutils.h: utils: Never return a group_id of 0, add GST_GROUP_ID_INVALID Various plugins use special values (0 or G_MAXUINT32) as an invalid/unset group_id, but nothing guarantees a groupid won't have that value. Instead define a value which group_id will never have and make gst_group_id_next() always return a value different from that. API: GST_GROUP_ID_INVALID 2017-12-05 16:42:57 +0000 Tim-Philipp Müller * libs/gst/check/gstharness.c: harness: make bindings use the GBytes variant for _take_all_data() 2016-11-23 13:12:36 +0100 Havard Graff * libs/gst/check/gstharness.c: harness: use new take_all_data() function in _dump_to_file(). 2017-12-05 15:28:43 +0000 Tim-Philipp Müller * docs/libs/gstreamer-libs-sections.txt: * libs/gst/check/Makefile.am: * libs/gst/check/gstharness.c: * libs/gst/check/gstharness.h: * tests/check/libs/gstharness.c: harness: add gst_harness_take_all_data() + _take_all_data_as_{bytes,buffer}() Convenience function to just grab all pending data from the harness, e.g. if we just want to check if it matches what we expect and we don't care about the chunking or buffer metadata. Based on patch by: Havard Graff 2017-12-05 15:16:36 +0000 Tim-Philipp Müller * gst/gstbuffer.c: buffer: document that _extract_dup() will return NULL for 0-sized buf And make it explicit, and don't call _extract() on NULL data buffer. 2017-12-05 12:27:18 +0530 Nirbheek Chauhan * tests/check/meson.build: meson: Use array syntax instead of .get() in tests 2017-11-24 02:39:43 +0530 Nirbheek Chauhan * gst/parse/meson.build: meson: Use new find_program fallback syntax We use this syntax in libs/gst/helpers/meson.build already. 2017-12-04 18:08:39 +0200 Sebastian Dröge * gst/gstelement.c: gst: gst_element_remove_pad() is transfer none for the pad While the refcount of the pad is decreased, it's the refcount that is owned by the parent (i.e. the element) and not the one passed in by the caller. Fixes a memory leak in bindings. 2017-12-04 11:24:47 +0000 Tim-Philipp Müller * libs/gst/base/gstaggregator.c: * libs/gst/base/gstaggregator.h: aggregator: add finish_buffer() vfunc So subclasses can override the finish behaviour and/or decorate or modify buffers before they get pushed out. https://bugzilla.gnome.org/show_bug.cgi?id=760981 2017-12-04 12:29:05 +0000 Tim-Philipp Müller * libs/gst/base/gstaggregator.c: aggregator: disable tag merging and forwarding for now Subclasses should handle this for now. 2017-11-06 20:23:12 +0100 Jan Alexander Steffens (heftig) * gst/gstdevicemonitor.c: devicemonitor: Avoid maybe-uninitialized compiler warning On Arch Linux x86_64, gcc 7.2.0-3, -Og -g3: gstdevicemonitor.c: In function ‘bus_sync_message’: gstdevicemonitor.c:276:8: error: ‘matches’ may be used uninitialized in this function [-Werror=maybe-uninitialized] This commit also simplifies the code a bit. https://bugzilla.gnome.org/show_bug.cgi?id=789983 2017-12-03 14:48:22 +0200 Sebastian Dröge * gst/gstdebugutils.c: * gst/gstplugin.c: * gst/gstregistry.c: gst: Annotate various strings as type filename if they represent a path/filename 2017-12-02 15:44:48 +0000 Tim-Philipp Müller * docs/libs/gstreamer-libs-docs.sgml: * docs/libs/gstreamer-libs-sections.txt: * docs/libs/gstreamer-libs.types: * libs/gst/base/gstaggregator.c: aggregator: hook up to docs 2017-12-02 15:24:22 +0000 Tim-Philipp Müller * libs/gst/base/Makefile.am: * libs/gst/base/base.h: * libs/gst/base/gstaggregator.h: * libs/gst/base/meson.build: * tests/check/Makefile.am: * tests/check/libs/.gitignore: * tests/check/meson.build: * win32/common/libgstbase.def: aggregator: hook up to build system https://bugzilla.gnome.org/show_bug.cgi?id=739010 2017-12-02 15:12:25 +0000 Tim-Philipp Müller Move GstAggregator from -bad to core Merge branch 'aggregator-move' https://bugzilla.gnome.org/show_bug.cgi?id=739010 2017-11-06 21:07:51 +0100 Mathieu Duponchelle * libs/gst/base/gstaggregator.c: * libs/gst/base/gstaggregator.h: aggregator: Remove klass->sinkpads_type This posed problems for the python bindings (and possibly others). Instead, subclasses now use add_pad_template_with_gtype. https://bugzilla.gnome.org/show_bug.cgi?id=789986 2017-11-02 18:32:55 +0000 Tim-Philipp Müller * libs/gst/base/gstaggregator.c: aggregator: add doc blurb for gst_aggregator_pad_is_eos() 2017-11-02 16:05:12 +0000 Tim-Philipp Müller * libs/gst/base/gstaggregator.h: aggregator: also remove now-unused PadForeachFunc declaration https://bugzilla.gnome.org/show_bug.cgi?id=785679 2017-08-02 12:08:26 -0400 Olivier Crête * libs/gst/base/gstaggregator.c: * libs/gst/base/gstaggregator.h: aggregator: Remove pad iterator function Use new gst_element_foreach_sink_pad() from core instead. https://bugzilla.gnome.org/show_bug.cgi?id=785679 2017-11-02 12:46:26 +0000 Tim-Philipp Müller * libs/gst/base/gstaggregator.c: aggregator: use new gst_element_foreach_sink_pad() Instead of gst_aggregator_iterate_sinkpads() which will soon be removed. https://bugzilla.gnome.org/show_bug.cgi?id=785679 2017-11-01 15:18:08 +0100 Stefan Sauer * libs/gst/base/gstaggregator.c: aggregator: add more comments 2017-10-23 11:52:38 +0200 Stefan Sauer * tests/check/libs/aggregator.c: tests: comment and logging cleanups for audiomixer and aggregator Remove some references to 'collectpads'. Logs pads through the object variants. Add some more comments. Remove a left over comment. 2017-10-22 19:43:17 +0200 Stefan Sauer * libs/gst/base/gstaggregator.c: aggregator: fix type for latency property (int64 -> GStClockTime) The value is used as GstClockTiem in the code. Adapt the hack^H^H^H^Hcode in live-adder. 2017-07-13 19:03:19 -0400 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Don't take flush lock from output thread Instead just take it in the chain function. https://bugzilla.gnome.org/show_bug.cgi?id=784911 2017-07-13 18:38:34 -0400 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Don't block if adding to the tail of the queue If we're adding to the tail of the queue, it's because we're converting a gap event, so don't block there it means we're calling from the output thread. https://bugzilla.gnome.org/show_bug.cgi?id=784911 2017-10-17 08:03:02 +0200 Stefan Sauer * libs/gst/base/gstaggregator.c: aggregator: review code related to time level Add a comment for when the state matters. Use a local var for priv in update_time_level() to improve readability. Move the our_latency local var below the query results checks. 2017-10-17 07:51:51 +0200 Stefan Sauer * libs/gst/base/gstaggregator.c: aggregator: init latency values with 0 instead of FALSE 2017-10-15 20:46:09 +0200 Stefan Sauer * libs/gst/base/gstaggregator.c: aggregator: code cleanup for event and query func Only look up klass for non serialized events/queries. For events remove superfluous assignment for the return value in the flushing case. 2017-10-15 17:46:45 +0200 Stefan Sauer * libs/gst/base/gstaggregator.c: aggregator: simplify pad_event_func for FLUSH_STOP events We want to skip serialization for FLUSH_STOP events (apparently). We can simplify the code to add it to the top-level conditions. There was nothing done in the first code path if the event was FLUSH_STOP. 2017-10-15 16:57:13 +0200 Stefan Sauer * libs/gst/base/gstaggregator.c: aggregator: drop special casing for eos Just queue it like any other serialized event. This way we don't need to check if there still are buffers in the queue. Validated with the tests and gst-launch-1.0 pipelines. 2017-10-15 16:51:21 +0200 Stefan Sauer * libs/gst/base/gstaggregator.c: aggregator: add a doc-blob for the event_func 2017-10-15 16:48:21 +0200 Stefan Sauer * libs/gst/base/gstaggregator.c: aggregator: rename a local variable The variable tracks wheter the queue is not empty, but num_buffers==0. That means we have events or queries to process. Rename accordingly. 2017-10-15 12:17:42 +0200 Stefan Sauer * libs/gst/base/gstaggregator.c: aggregator: remove commented code The SEGMENT_DONE event does not require any special treatment. This is commented out in 6efc106a67. 2017-10-15 12:14:28 +0200 Stefan Sauer * libs/gst/base/gstaggregator.c: aggregator: move the comment for the locks to the lock macros Looks like some code was inserted afterwards. 2017-10-15 10:44:44 +0200 Stefan Sauer * libs/gst/base/gstaggregator.c: aggregator: improve section docs Mention how data ends up in the queues. Document the relation of the pad functions and the class vmethods to get events and queries. 2017-10-14 18:18:44 +0200 Stefan Sauer * tests/check/libs/aggregator.c: aggregator: add two more tests for a sequence of data This verifies that we handle events and queries at the head of the queue and then buffers. 2017-10-14 13:26:02 +0200 Stefan Sauer * tests/check/libs/aggregator.c: aggregator: refactor the test helper Make the test helpers use a queue. This lets us also test sequences of events, queries and data. 2017-10-14 12:08:19 +0200 Stefan Sauer * tests/check/libs/aggregator.c: aggregator: test cleanup Remove gst_init() from a few tests. Use _OBJECT variants in logging. Remove arbitrary extra blank lines. Make push_event() more like push_buffer() - set the event to NULL and add cleanup to _chain_data_clear(). 2017-10-03 12:36:10 +0200 Stefan Sauer * libs/gst/base/gstaggregator.c: aggregator: cleanup event forwarding Don't copy the whole event struct. Set the input params when we call the forwarding helper. Initialize the internal fields and return values in the helper. 2017-10-03 12:08:42 +0200 Stefan Sauer * libs/gst/base/gstaggregator.c: aggregator: simplify src_event Avoid extra ref/unref, we have a ref and do_seek unrefs. Just return the result as we have. This lets us remove the local var plus the label. 2017-09-17 12:37:03 -0700 Stefan Sauer * libs/gst/base/gstaggregator.c: aggregator: register func for do_events_and_queries This fixes logging the func ptr from _iterate_sinkpads(). 2017-09-17 12:30:37 -0700 Stefan Sauer * libs/gst/base/gstaggregator.c: aggregator: only set clipped_buffer to NULL if needed 2017-09-17 12:25:37 -0700 Stefan Sauer * libs/gst/base/gstaggregator.c: aggregator: rename check_events This function also handles queries. Update the code to loop until all events and queuries are handled. 2017-09-17 12:24:54 -0700 Stefan Sauer * libs/gst/base/gstaggregator.c: aggregator: add a few more comments to PadPrivate struct 2017-09-17 11:39:12 -0700 Stefan Sauer * libs/gst/base/gstaggregator.c: aggregator: rename buffers field to data The queue stores buffers, events and queries. 2017-09-17 10:18:56 -0700 Stefan Sauer * libs/gst/base/gstaggregator.c: * libs/gst/base/gstaggregator.h: aggregator: documentaion fixes Fix typos and remove params docs, where the param was moved. 2017-09-05 14:26:52 +0200 Edward Hervey * tests/check/libs/aggregator.c: check: Fix usage of dual probes Using two (or more) probes on the same pad where one of the probe returns HANDLED or DROP is tricky since the other probes might not be called. Instead use regular probes and a proper pad (the sinkpad already existed, it only required to be activated and have a dummy chain function for the events/buffers to be received/handled properly) 2017-07-30 12:17:57 +0200 Stefan Sauer * libs/gst/base/gstaggregator.c: aggregator: log all events We already log a few events explicitly, just log them all with more detail. 2017-07-29 16:54:38 +0100 Tim-Philipp Müller * libs/gst/base/gstaggregator.h: aggregator: fix header formatting 2017-07-24 18:38:57 +0300 Sebastian Dröge * libs/gst/base/gstaggregator.c: aggregator: Remove the GAP event from the queue before queueing up the GAP buffer Otherwise check_events() will not remove the GAP event (as the queue tail is not the event anymore but the GAP buffer), then the GAP buffer is handled, then the GAP event is handled again, ... forever. 2017-07-18 00:30:51 +0100 Tim-Philipp Müller * libs/gst/base/gstaggregator.h: aggregator: mark symbols explicitly for export with GST_EXPORT 2017-07-13 22:00:58 +0200 Stefan Sauer * libs/gst/base/gstaggregator.c: aggregator: remove duplicated code fragment This code already runs above when (event || query). 2017-07-13 21:55:55 +0200 Stefan Sauer * libs/gst/base/gstaggregator.c: aggregator: code cleanups Fix comment typos, some copy'n'paste in logging. Add more doc comments. 2017-04-13 22:11:55 +0200 Mathieu Duponchelle * libs/gst/base/gstaggregator.c: aggregator: Invalidate pad's tail position ... when dequeuing a segment event. https://bugzilla.gnome.org/show_bug.cgi?id=784593 2017-07-01 20:23:25 +0200 Stefan Sauer * libs/gst/base/gstaggregator.c: aggregator: fix "'aggclass' may be used uninitialized in this function" 2017-05-23 00:53:57 +0200 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Process serialized queries through the queue This ensures that they really get processed in order with buffers. Just waiting for the queue to be empty is sometimes not enough as the buffers are dropped from the pad before the result is pushed to the next element, sometimes resulting in surprising re-ordering. 2017-05-23 00:53:23 +0200 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Set flow to FLUSHING on pad stop Fixes a rare race where the pad is being stopped while doing a query. 2016-11-18 14:44:16 -0500 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Request pad templates which are not request pad https://bugzilla.gnome.org/show_bug.cgi?id=782920 2016-11-18 14:41:54 -0500 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Don't restrict sink pad names Sink pads could have other names than sink_%u https://bugzilla.gnome.org/show_bug.cgi?id=782920 2017-05-21 15:19:17 +0200 Olivier Crête * libs/gst/base/gstaggregator.c: * libs/gst/base/gstaggregator.h: aggregator: Implement propose allocation https://bugzilla.gnome.org/show_bug.cgi?id=782918 2017-05-21 14:34:13 +0200 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Check for the result of caps events https://bugzilla.gnome.org/show_bug.cgi?id=782918 2017-05-21 14:28:00 +0200 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Caps event always goes to the aggregate thread So no need to check it here. https://bugzilla.gnome.org/show_bug.cgi?id=782918 2017-05-20 16:58:54 +0200 Olivier Crête * libs/gst/base/gstaggregator.c: * libs/gst/base/gstaggregator.h: aggregator: Add downstream allocation query https://bugzilla.gnome.org/show_bug.cgi?id=746529 2017-05-20 15:56:16 +0200 Olivier Crête * libs/gst/base/gstaggregator.h: aggregator: Remove unused GST_FLOW_NOT_HANDLED 2017-05-20 14:24:57 +0200 Matthew Waters * libs/gst/base/gstaggregator.c: * libs/gst/base/gstaggregator.h: aggregator: add simple support for caps handling Modelled off the videoaggregator caps handling as that seems the most mature aggregtor-using implementation that has caps handling there is. https://bugzilla.gnome.org/show_bug.cgi?id=776931 2017-05-20 13:10:53 +0200 Nicolas Dufresne * libs/gst/base/gstaggregator.c: aggregator: Reset upstream latency on first buffer In the case an aggregator is created and pads are requested but only linked later, we end up never updating the upstream latency. This was because latency queries on pads that are not linked succeed, so we never did a new query once a live source has been linked, so the thread was never started. https://bugzilla.gnome.org/show_bug.cgi?id=757548 2016-05-14 15:52:37 +0200 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Always handle sync'ed events on output thread Having all synchronized events always be handled on the output thread should make synchronization easier. https://bugzilla.gnome.org/show_bug.cgi?id=781673 2016-07-06 16:39:17 -0400 Olivier Crête * libs/gst/base/gstaggregator.c: * libs/gst/base/gstaggregator.h: aggregator: Delay clipping to output thread This is required because the synchronized events like caps or segments may only be processed on the output thread. https://bugzilla.gnome.org/show_bug.cgi?id=781673 2016-07-07 16:13:57 -0400 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Make pad eos as soon as all buffers are processed, dont way for events https://bugzilla.gnome.org/show_bug.cgi?id=781673 2016-07-07 11:47:40 -0400 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Only count buffers when declaring queue full https://bugzilla.gnome.org/show_bug.cgi?id=781673 2016-07-06 16:41:44 -0400 Olivier Crête * libs/gst/base/gstaggregator.c: * libs/gst/base/gstaggregator.h: aggregator: Simplify clip function The return value was ignored anyway https://bugzilla.gnome.org/show_bug.cgi?id=781673 2016-05-15 16:04:58 +0300 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Only declare first buffer on actual buffer The function needs to be unlocked if any data is received, but only end the first buffer processing on an actual buffer, synchronized events don't matter on the first buffer processing. https://bugzilla.gnome.org/show_bug.cgi?id=781673 2017-05-09 20:20:07 -0400 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Set initial position on first buffer Set the initial position on the first buffer, otherwise the queue will grow without limits before the output thread is started. https://bugzilla.gnome.org/show_bug.cgi?id=781673 2017-05-09 20:06:29 -0400 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Reset the pad's first buffer flag with the rest There is not reason to have separate code to reset this one. https://bugzilla.gnome.org/show_bug.cgi?id=781673 2017-05-09 20:05:55 -0400 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Reset pad on init Factor out the pad reset code from the flushing and use it on init as well https://bugzilla.gnome.org/show_bug.cgi?id=781673 2017-05-09 20:13:58 -0400 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Fix indentation https://bugzilla.gnome.org/show_bug.cgi?id=781673 2017-03-08 15:01:13 -0300 Thibault Saunier * libs/gst/base/gstaggregator.c: docs: Port all docstring to gtk-doc markdown 2017-04-12 12:06:52 -0300 Thibault Saunier * libs/gst/base/gstaggregator.h: aggregator: Make instance var name match between .c and .h Making GI happy 2017-04-07 10:19:43 +0100 Vincent Penquerc'h * libs/gst/base/gstaggregator.c: gstaggregator: fix event use after free https://bugzilla.gnome.org/show_bug.cgi?id=781017 2016-09-06 16:05:53 -0300 Thibault Saunier * libs/gst/base/gstaggregator.c: aggregator: Use the event_full function for GstAggregatorPads Allowing us to tell GstPad why we are failing an event, which might be because we are 'flushing' even if the sinkpad is not in flush state at that point. 2016-05-25 13:38:47 -0400 Nicolas Dufresne * libs/gst/base/gstaggregator.c: Revert "aggregator: Start the task when linked" This reverts commit 302580c3815136d29479c3a8cae611d6e2ff3709. 2016-04-13 16:30:28 -0400 Nicolas Dufresne * libs/gst/base/gstaggregator.c: aggregator: Start the task when linked Until now we would start the task when the pad is activated. Part of the activiation concist of testing if the pipeline is live or not. Unfortunatly, this is often too soon, as it's likely that the pad get activated before it is fully linked in dynamic pipeline. Instead, start the task when the first serialized event arrive. This is a safe moment as we know that the upstream chain is complete and just like the pad activation, the pads are locked, hence cannot change. https://bugzilla.gnome.org/show_bug.cgi?id=757548 2016-04-22 10:15:39 -0400 Nicolas Dufresne * libs/gst/base/gstaggregator.c: aggregator: Check all pads for data when live When live, we still need to inspect all pads queue in order to determin if we have received the first buffer or not. https://bugzilla.gnome.org/show_bug.cgi?id=765431 2016-04-15 16:51:17 -0400 Nicolas Dufresne * libs/gst/base/gstaggregator.c: aggregator: Fix locking when using the clock This fixes a race where we check if there is a clock, then it get removed and we endup calling gst_clock_new_single_shot_id() with a NULL pointer instead of a valid clock and also calling gst_object_unref() with a NULL pointer later. https://bugzilla.gnome.org/show_bug.cgi?id=757548 2016-04-03 17:56:06 +0200 Aurélien Zanelli * libs/gst/base/gstaggregator.c: aggregator: remove duplicated test of flow_return in pad_chain_internal https://bugzilla.gnome.org/show_bug.cgi?id=764549 2016-03-28 13:52:07 +0300 Sebastian Dröge * tests/check/libs/aggregator.c: aggregator: Fix leak in unit test GST_PAD_PROBE_HANDLED means that we should've unreffed the probe data, it was handled by us in one way or another. 2016-03-27 19:06:50 +0530 Nirbheek Chauhan * libs/gst/base/gstaggregator.c: aggregator: Fix strcmp test for sink template 2016-03-27 18:41:30 +0530 Nirbheek Chauhan * libs/gst/base/gstaggregator.c: aggregator: Don't try to be too smart while allocating pad names Previously, while allocating the pad number for a new pad, aggregator was maintaining an interesting relationship between the pad count and the pad number. If you requested a sink pad called "sink_6", padcount (which is badly named and actually means number-of-pads-minus-one) would be set to 6. Which means that if you then requested a sink pad called "sink_0", it would be assigned the name "sink_6" again, which fails the non-uniqueness test inside gstelement.c. This can be fixed by instead setting padcount to be 7 in that case, but this breaks manual management of pad names by the application since it then becomes impossible to request a pad called "sink_2". Instead, we fix this by always directly using the requested name as the sink pad name. Uniqueness of the pad name is tested separately inside gstreamer core. If no name is requested, we use the next available pad number. Note that this is important since the sinkpad numbering in aggregator is not meaningless. Videoaggregator uses it to decide the Z-order of video frames. 2016-03-04 15:50:26 +0900 Vineeth TM * tests/check/libs/aggregator.c: bad: use new gst_element_class_add_static_pad_template() https://bugzilla.gnome.org/show_bug.cgi?id=763081 2015-11-09 16:08:30 +0900 Hyunjun Ko * tests/check/libs/aggregator.c: tests:aggregator: fix tc failure and correct check value Failure by this commit 2dfa548f3645844082c3db65d96d87255701b3ad, which is to append hooks instead of prepend. Because of this change, aggretated_cb is not called and leads to failure. And correct to check flush stop value instead of flush start value https://bugzilla.gnome.org/show_bug.cgi?id=757801 2015-11-05 12:36:48 +0000 Luis de Bethencourt * libs/gst/base/gstaggregator.c: aggregator: use GST_STIME_FORMAT for GstClockTimeDiff No need to manually handle negative value of deadline, GST_STIME_FORMAT does exactly this. 2015-11-03 19:09:33 -0800 Stefan Sauer * libs/gst/base/gstaggregator.c: aggregator: don't compare templ instance pointers One can pass the PadTemplate from the element_class or the one from the factory. While they have the same content, the addresses are different. 2015-11-03 14:41:57 -0500 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Set to running in a single place Only set to running when the thread is actually started. 2015-11-03 14:37:26 -0500 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Document more locking 2015-11-02 20:10:35 -0500 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Hold object lock while manipulating the segment Make sure the object lock is held when aggregator->segment is modified. 2015-11-02 19:05:01 -0500 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Remove dead code This code will never be called as max>=min in all cases. If the upstream latency query returned min>max, the function already returned and all values that are added to those have max>= min. 2015-10-23 15:42:24 +0300 Sebastian Dröge * libs/gst/base/gstaggregator.c: * libs/gst/base/gstaggregator.h: aggregator: Add create_new_pad() vfunc to allow subclasses to override the default behaviour Not all aggregator subclasses will have a single pad template called sink_%u and might do something special depending on what the application requests. https://bugzilla.gnome.org/show_bug.cgi?id=757018 2015-09-30 19:05:35 +0200 Sebastian Dröge * libs/gst/base/gstaggregator.c: aggregator: Convert GST_ERROR_OBJECT() for seek events to GST_DEBUG_OBJECT() 2015-09-30 19:03:05 +0200 Sebastian Dröge * libs/gst/base/gstaggregator.c: aggregator: For the start time selection, only set the segment position segment.time and segment.start can stay the same, and were always the same before anyway because of a mistake. https://bugzilla.gnome.org/show_bug.cgi?id=755623 2015-08-31 16:12:40 +0300 Sebastian Dröge * libs/gst/base/gstaggregator.c: aggregator: Don't forward QOS events to sinkpads that had no buffer yet Otherwise they will receive a QOS event that has earliest_time=0 (because we can't have negative timestamps), and consider their buffer as too late https://bugzilla.gnome.org/show_bug.cgi?id=754356 2015-09-17 19:42:34 -0400 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Keep at least two buffers in the queue in live mode When in live mode, the queue needs to hold the currently processed buffer and one more at least. https://bugzilla.gnome.org/show_bug.cgi?id=754851 2015-09-11 12:21:50 +0200 Sebastian Dröge * libs/gst/base/gstaggregator.h: aggregator: Document that get_next_time() should return running time https://bugzilla.gnome.org/show_bug.cgi?id=753196 2015-08-28 23:05:20 -0400 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Also ignore start-time on seek from gst_element_send_event() https://bugzilla.gnome.org/show_bug.cgi?id=753806 2015-07-02 19:34:43 -0400 Olivier Crête * tests/check/libs/aggregator.c: tests: Add test for seeking live pipelines https://bugzilla.gnome.org/show_bug.cgi?id=745768 2015-07-02 19:19:33 -0400 Olivier Crête * tests/check/libs/aggregator.c: tests: Make source live to re-enable aggregator timeout tests The live mode is only enabled if one of the sources if live. https://bugzilla.gnome.org/show_bug.cgi?id=745768 2015-03-06 19:50:08 -0500 Olivier Crête * libs/gst/base/gstaggregator.c: * libs/gst/base/gstaggregator.h: aggregator: Queue "latency" buffers at each sink pad. In the case where you have a source giving the GstAggregator smaller buffers than it uses, when it reaches a timeout, it will consume the first buffer, then try to read another buffer for the pad. If the previous element is not fast enough, it may get the next buffer even though it may be queued just before. To prevent that race, the easiest solution is to move the queue inside the GstAggregatorPad itself. It also means that there is no need for strange code cause by increasing the min latency without increasing the max latency proportionally. This also means queuing the synchronized events and possibly acting on them on the src task. https://bugzilla.gnome.org/show_bug.cgi?id=745768 2015-07-29 20:07:09 -0400 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Default to "zero" start time selection mode as documented 2015-07-29 20:06:11 -0400 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Ignore the "first" mode if the segment not a time segment 2015-06-15 18:30:20 +0200 Sebastian Dröge * libs/gst/base/gstaggregator.c: aggregator: Add property to select how to decide on a start time Before aggregator based elements always started at running time 0, now it's possible to select the first input buffer running time or explicitly set a start-time value. https://bugzilla.gnome.org/show_bug.cgi?id=749966 2015-07-28 21:15:43 +0300 Sebastian Dröge * libs/gst/base/gstaggregator.c: aggregator: Query the peer latency again on the next opportunity after a pad was added or removed Adding a pad will add a new upstream that might have a bigger minimum latency, so we might have to wait longer. Or it might be the first live upstream, in which case we will have to start deadline based aggregation. Removing a pad will remove a new upstream that might have had the biggest latency, so we can now stop waiting a bit earlier. Or it might be the last live upstream, in which case we can stop deadline based aggregation. 2015-05-06 13:07:52 -0300 Thiago Santos * libs/gst/base/gstaggregator.h: aggregator: add a convenience macro to get the source pad Easier than casting or acessing the parent everywhere 2015-06-01 18:50:14 -0400 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Document that the latency is in ns 2015-05-28 00:59:39 +1000 Jan Schmidt * libs/gst/base/gstaggregator.c: aggregator: Push EOS on error return. Before shutting down the srcpad task due to a downstream error, push an EOS to give downstream a chance to shut down somewhat cleanly. 2015-03-29 17:53:23 -0300 Reynaldo H. Verdejo Pinochet * libs/gst/base/gstaggregator.c: aggregator: document gap handling behavior https://bugzilla.gnome.org/show_bug.cgi?id=746249 2015-03-27 19:36:42 -0300 Reynaldo H. Verdejo Pinochet * libs/gst/base/gstaggregator.c: aggregator: drop stale white space at warning 2015-03-27 19:28:05 -0300 Reynaldo H. Verdejo Pinochet * tests/check/libs/aggregator.c: aggregator: fix typo in test suite 2015-03-27 18:32:27 -0300 Reynaldo H. Verdejo Pinochet * tests/check/libs/aggregator.c: aggregator: add gap event handling unit test https://bugzilla.gnome.org/show_bug.cgi?id=746249 2015-03-17 22:13:06 -0300 Reynaldo H. Verdejo Pinochet * libs/gst/base/gstaggregator.c: aggregator: implement gap handling https://bugzilla.gnome.org/show_bug.cgi?id=746249 2015-04-01 22:10:11 -0400 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Unify downstream flow return and flushing Also means that having a non-OK downstream flow return wakes up the chain functions. https://bugzilla.gnome.org/show_bug.cgi?id=747220 2015-04-01 21:45:01 -0400 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Flushing is always in pad lock, no need to atomics The usage of atomics was always doubtful as it was used to release a GCond https://bugzilla.gnome.org/show_bug.cgi?id=747220 2015-04-01 21:38:11 -0400 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Reset pending_eos on pad flush https://bugzilla.gnome.org/show_bug.cgi?id=747220 2015-04-01 21:37:25 -0400 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Unify code to set a pad flushing https://bugzilla.gnome.org/show_bug.cgi?id=747220 2015-03-06 21:12:52 -0500 Olivier Crête * libs/gst/base/gstaggregator.c: * libs/gst/base/gstaggregator.h: aggregator: Query latency on first incoming buffer. And keep on querying upstream until we get a reply. Also, the _get_latency_unlocked() method required being calld with a private lock, so removed the _unlocked() variant from the API. And it now returns GST_CLOCK_TIME_NONE when the element is not live as we think that 0 upstream latency is possible. https://bugzilla.gnome.org/show_bug.cgi?id=745768 2015-03-06 21:12:13 -0500 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Be more aggressive with invalid replies to our latency query https://bugzilla.gnome.org/show_bug.cgi?id=745768 2015-03-08 02:04:11 +1100 Matthew Waters * libs/gst/base/gstaggregator.h: aggregatory: don't redefine GST_FLOW_CUSTOM_SUCCESS 2015-02-27 00:26:00 +0530 Arun Raghavan * libs/gst/base/gstaggregator.c: aggregator: Use standard upstream latency querying logic The same functionality is duplicated in the default latency querying now. 2015-02-19 21:21:56 -0500 Olivier Crete * libs/gst/base/gstaggregator.c: aggregator: Use src_lock to protect latency related members One has to use the src_lock anyway to protect the min/max/live so they can be notified atomically to the src thread to wake it up on changes, such as property changes. So no point in having a second lock. Also, the object lock was being held across a call to GST_ELEMENT_WARNING, guaranteeing a deadlock. 2015-02-19 18:53:32 -0500 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Remove untrue comment 2015-02-19 18:30:35 -0500 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Don't try to push tags while flush seeking The downstream segment could have been flushed already, so need to re-send the segment event before re-sending the tags. https://bugzilla.gnome.org/show_bug.cgi?id=742684 2015-02-19 11:04:28 +0200 Sebastian Dröge * libs/gst/base/gstaggregator.c: aggregator: Use the sinkpads iterator directly to query upstream latencies While gst_aggregator_iterate_sinkpads() makes sure that every pad is only visited once, even when the iterator has to resync, this is not all we have to do for querying the latency. When the iterator resyncs we actually have to query all pads for the latency again and forget our previous results. It might have happened that a pad was removed, which influenced the result of the latency query. 2015-02-19 10:57:09 +0200 Sebastian Dröge * libs/gst/base/gstaggregator.c: aggregator: Move gst_aggregator_get_latency_unlocked() a bit It was between another function and its helper function before, which was confusing when reading the code as it had nothing to do with the other functions. 2015-02-19 01:28:06 +0200 Sebastian Dröge * libs/gst/base/gstaggregator.c: aggregator: Fail the latency query if one of the upstream queries fails 2015-02-18 15:53:53 -0500 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Document locking order https://bugzilla.gnome.org/show_bug.cgi?id=742684 2015-02-18 15:11:14 -0500 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Rename confusinly named SRC_STREAM_LOCK macros to SRC_LOCK This will match the name of the lock itself. It is also not a stream lock as it not recursive and not held while pushing. https://bugzilla.gnome.org/show_bug.cgi?id=742684 2015-02-18 15:06:01 -0500 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Rename confusingly named stream lock to flush lock This lock is not what is commonly known as a "stream lock" in GStremer, it's not recursive and it's taken from the non-serialized FLUSH_START event. https://bugzilla.gnome.org/show_bug.cgi?id=742684 2015-02-18 15:04:04 -0500 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Fix macro indendation Changes no code https://bugzilla.gnome.org/show_bug.cgi?id=742684 2015-02-13 23:45:20 +0000 Tim-Philipp Müller * libs/gst/base/gstaggregator.c: aggregator: drop GAP events until we handle them properly 2015-02-13 15:53:19 +0000 Tim-Philipp Müller * libs/gst/base/gstaggregator.c: * tests/check/libs/aggregator.c: aggregator: use new gst_aggregator_pad_drop_buffer() 2015-02-13 15:49:50 +0000 Tim-Philipp Müller * libs/gst/base/gstaggregator.c: * libs/gst/base/gstaggregator.h: aggregator: add gst_aggregator_pad_drop_buffer() steal_buffer() + unref seems to be a wide-spread idiom (which perhaps indicates that something is not quite right with the way aggregator pad works currently). 2015-02-12 13:32:39 +0000 Tim-Philipp Müller * libs/gst/base/gstaggregator.c: aggregator: only post latency message if anything changed Perhaps we should check for element state as well and only post it if in PLAYING state. 2015-02-11 14:16:21 +0100 Sebastian Dröge * libs/gst/base/gstaggregator.c: Improve and fix LATENCY query handling This now follows the design docs everywhere, especially the maximum latency handling. https://bugzilla.gnome.org/show_bug.cgi?id=744106 2015-02-10 10:49:16 +0100 Sebastian Dröge * libs/gst/base/gstaggregator.c: aggregator: Pause srcpad task on flow errors Otherwise we will call the task function over and over again until upstream finally handled the flow return and shuts us down. 2015-02-06 10:59:27 +0100 Sebastian Dröge * libs/gst/base/gstaggregator.c: aggregator: Streamline latency calculations Min latency can never be invalid, latency property can never be invalid either. So no need to check for all these things in various places. 2015-02-06 10:36:28 +0100 Sebastian Dröge * libs/gst/base/gstaggregator.c: aggregator: If upstream has no max latency but the subclass has, take the subclass max latency 2015-02-06 10:33:59 +0100 Sebastian Dröge * libs/gst/base/gstaggregator.c: aggregator: Fix min>max latency error check We have to include the upstream latency, our own latency and the subclass latency in the calculations. FIXME: This is still not entirely correct 2015-02-06 10:30:59 +0100 Sebastian Dröge * libs/gst/base/gstaggregator.c: aggregator: Don't add the latency property to the max latency It has no meaning for the max latency and is only used to increase the min latency. 2015-01-26 17:06:29 +0100 Thibault Saunier * libs/gst/base/gstaggregator.c: aggregator: Cleanup locking around AggregatorPad flush related fields And document the locking https://bugzilla.gnome.org/show_bug.cgi?id=742684 2015-01-26 13:11:05 +0100 Mathieu Duponchelle * libs/gst/base/gstaggregator.c: aggregator: keep chain functions as dumb as possible. + A pad chain function has no business checking other pads, that's what the aggregate thread is for. https://bugzilla.gnome.org/show_bug.cgi?id=742684 2015-01-26 11:32:47 +0100 Thibault Saunier * libs/gst/base/gstaggregator.c: aggregator: More fixes around locking when accessing protected private fields In some more places we were accessing GstAggregator->segment and GstAggregator->seqnum without holding the GST_OBJECT_LOCK https://bugzilla.gnome.org/show_bug.cgi?id=742684 2015-01-26 11:29:08 +0100 Thibault Saunier * libs/gst/base/gstaggregator.c: * libs/gst/base/gstaggregator.h: aggregator: Make the PAD_LOCK private Instead of using the GST_OBJECT_LOCK we should have a dedicated mutex for the pad as it is also associated with the mutex on the EVENT_MUTEX on which we wait in the _chain function of the pad. The GstAggregatorPad.segment is still protected with the GST_OBJECT_LOCK. Remove the gst_aggregator_pad_peak_unlocked method as it does not make sense anymore with a private lock. https://bugzilla.gnome.org/show_bug.cgi?id=742684 2015-01-26 11:25:54 +0100 Thibault Saunier * libs/gst/base/gstaggregator.c: * libs/gst/base/gstaggregator.h: * tests/check/libs/aggregator.c: aggregator: Hide GstAggregatorPad buffer and EOS fileds And add a getter for the EOS. The user should always use the various getters to access those fields https://bugzilla.gnome.org/show_bug.cgi?id=742684 2015-01-21 18:41:43 -0500 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Document locking of GstAggregatorPrivate members Most of them are protected by the object lock, specify which ones use a different lock. https://bugzilla.gnome.org/show_bug.cgi?id=742684 2015-01-21 18:47:09 -0500 Olivier Crête * libs/gst/base/gstaggregator.h: aggregator: Document how the segment is protected Document that it can only be accessed with the object lock. https://bugzilla.gnome.org/show_bug.cgi?id=742684 2015-01-21 19:44:57 -0500 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Protect all latency related members with the object lock The locking was not consistent, now consistently use the object lock. https://bugzilla.gnome.org/show_bug.cgi?id=742684 2015-01-21 19:43:12 -0500 Olivier Crête * libs/gst/base/gstaggregator.c: * libs/gst/base/gstaggregator.h: aggregator: Document locking for gst_aggregator_get_latency_unlocked() Renamed it to _unlocked() to make it clear. https://bugzilla.gnome.org/show_bug.cgi?id=742684 2015-01-21 19:35:25 -0500 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Protect the srcpad caps negotiation with the stream lock Instead of adding another lock, use the srcpad stream lock, which is already taken anyway to push out the new caps if needed. https://bugzilla.gnome.org/show_bug.cgi?id=742684 2015-01-21 19:33:18 -0500 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Protect the tags with the object lock The tags related variables were sometimes protected, sometimes not and sometimes atomic. Put them all under the object lock. https://bugzilla.gnome.org/show_bug.cgi?id=742684 2015-01-21 18:53:20 -0500 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Consistenly lock the flow_return state Use the object's lock to protect it. https://bugzilla.gnome.org/show_bug.cgi?id=742684 2015-01-21 18:45:36 -0500 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Consistently lock some members Some members sometimes used atomic access, sometimes where not locked at all. Instead consistently use a mutex to protect them, also document that. https://bugzilla.gnome.org/show_bug.cgi?id=742684 2015-01-14 14:38:09 -0500 Olivier Crête * libs/gst/base/gstaggregator.c: * libs/gst/base/gstaggregator.h: aggregator: Protect exported pad members with the pad's object lock https://bugzilla.gnome.org/show_bug.cgi?id=742684 2015-01-14 14:35:15 -0500 Olivier Crête * libs/gst/base/gstaggregator.c: * libs/gst/base/gstaggregator.h: aggregator: Replace event lock with pad's object lock Reduce the number of locks simplify code, what is protects is exposed, but the lock was not. Also means adding an _unlocked version of gst_aggregator_pad_steal_buffer(). https://bugzilla.gnome.org/show_bug.cgi?id=742684 2015-01-09 22:01:00 -0500 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Protect data with the same mutex as GCond Whenever a GCond is used, the safest paradigm is to protect the variable which change is signalled by the GCond with the same mutex that the GCond depends on. https://bugzilla.gnome.org/show_bug.cgi?id=742684 2015-01-14 23:47:19 +0530 Nirbheek Chauhan * libs/gst/base/gstaggregator.c: aggregator: Nitpick spacing/punctuation in debug logging 2015-01-09 21:51:40 -0500 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Remove pointless atomic It is only modified from the streaming thread 2015-01-09 21:30:36 -0500 Olivier Crête * libs/gst/base/gstaggregator.c: aggregator: Fix query leak 2015-01-09 16:43:39 +0100 Sebastian Dröge * libs/gst/base/gstaggregator.c: aggregator: Print jitter from clock waiting in the debug logs 2015-01-04 17:15:37 +0000 Tim-Philipp Müller * libs/gst/base/gstaggregator.c: aggregator: don't use iterator when setting flush pending on pads 2015-01-04 16:57:05 +0000 Tim-Philipp Müller * libs/gst/base/gstaggregator.c: aggregator: check if pads are ready more efficiently No need to use an iterator for this which creates a temporary structure every time and also involves taking and releasing the object lock many times in the course of iterating. Not to mention all that GList handling in gst_aggregator_iterate_sinkpads(). 2015-01-04 12:59:19 +0000 Tim-Philipp Müller * libs/gst/base/gstaggregator.h: aggregator: name vfunc arguments consistently 2015-01-01 15:46:00 +0000 Tim-Philipp Müller * libs/gst/base/gstaggregator.c: aggregator: add g-i transfer and scope annotations 2015-01-01 14:10:05 +0000 Tim-Philipp Müller * libs/gst/base/gstaggregator.c: aggregator: register names of iterate_sinkpads functions with debug system 2015-01-01 14:03:02 +0000 Tim-Philipp Müller * libs/gst/base/gstaggregator.c: aggregator: reduce debug messages for taking/releasing logs to TRACE level Don't spam debug log with this stuff. 2014-12-31 18:16:21 +0000 Tim-Philipp Müller * libs/gst/base/gstaggregator.c: * libs/gst/base/gstaggregator.h: aggregator: move property member into private structure Our locking (or lack thereof) while accessing this also looks generally quite dodgy. 2014-12-31 14:50:58 +0000 Tim-Philipp Müller * libs/gst/base/gstaggregator.c: aggregator: remove empty dispose function 2014-12-30 23:58:34 +0000 Tim-Philipp Müller * libs/gst/base/gstaggregator.c: * libs/gst/base/gstaggregator.h: aggregator: give private functions namespace prefix Especially the GST_DEBUG_FUNCPTR ones. 2014-12-31 12:35:06 +0000 Tim-Philipp Müller * libs/gst/base/gstaggregator.h: aggregator: fix up some docs comments in header 2014-12-30 23:44:46 +0000 Tim-Philipp Müller * libs/gst/base/gstaggregator.c: * libs/gst/base/gstaggregator.h: aggregator: remove now-unused system clock member 2014-12-30 19:22:01 +0000 Tim-Philipp Müller * libs/gst/base/gstaggregator.c: * libs/gst/base/gstaggregator.h: aggregator: make GstAggregatorPadForeachFunc take an GstAggregatorPad 2014-12-30 17:50:17 +0000 Tim-Philipp Müller * libs/gst/base/gstaggregator.c: aggregator: bring start/stop vfunc semantics in line with other baseclasses Sub-class should not have to chain up to GstAggregator's start/stop vfuncs, same as in GstBaseSrc, GstBaseSink, GstBaseTransform etc. 2014-12-28 18:26:49 +0000 Tim-Philipp Müller * libs/gst/base/gstaggregator.c: aggregator: remove pointless GST_DEBUG_FUNCPTR Not useful for GObject vfuncs. 2014-12-28 18:24:21 +0000 Tim-Philipp Müller * libs/gst/base/gstaggregator.c: aggregator: remove duplicate pad parent_class variable G_DEFINE_TYPE already provides one, just need to use it. 2014-12-28 18:22:57 +0000 Tim-Philipp Müller * libs/gst/base/gstaggregator.h: aggregator: add _CAST() variants for cast macros 2014-12-28 01:13:33 +0000 Tim-Philipp Müller * libs/gst/base/gstaggregator.h: aggregator: make padding larger Esp. the class structures, can't have enough spare space for virtual functions. 2014-12-27 16:15:41 +0530 Nirbheek Chauhan * libs/gst/base/gstaggregator.c: aggregator: Log to the pad instead of the element More correct way of doing the same thing as before 2014-12-27 09:49:43 +0100 Sebastian Dröge * libs/gst/base/gstaggregator.c: aggregator: Make sure that the minimum latencies are never GST_CLOCK_TIME_NONE 2014-12-27 09:42:57 +0100 Sebastian Dröge * libs/gst/base/gstaggregator.c: aggregator: Wait for the minimum latency, not the maximum The minimum latency is the latency we have to wait at least to guarantee that all upstreams have produced data. The maximum latency has no meaning like that and shouldn't be used for waiting. 2014-12-27 04:21:36 +0530 Nirbheek Chauhan * libs/gst/base/gstaggregator.c: aggregator: Clamp the min latency at the max if it's greater 2014-12-27 04:21:26 +0530 Nirbheek Chauhan * libs/gst/base/gstaggregator.c: aggregator: Print the sinkpad name while logging latency queries Very useful while debugging. 2014-12-27 04:19:52 +0530 Nirbheek Chauhan * libs/gst/base/gstaggregator.c: aggregator: Take the stream lock when iterating sink pads When iterating sink pads to collect some data, we should take the stream lock so we don't get stale data and possibly deadlock because of that. This fixes a definitive deadlock in _wait_and_check() that manifests with high max latencies in a live pipeline, and fixes other possible race conditions. 2014-12-23 11:45:05 +0100 Sebastian Dröge * libs/gst/base/gstaggregator.c: aggregator: Don't leak flush-start events 2014-12-23 10:24:27 +0100 Sebastian Dröge * libs/gst/base/gstaggregator.c: aggregator: Also change the default latency to 0, not just the minimum 2014-12-23 09:52:20 +0100 Sebastian Dröge * libs/gst/base/gstaggregator.c: aggregator: Fix docs and default value of the latency property 2014-12-22 22:19:52 +0100 Sebastian Dröge * libs/gst/base/gstaggregator.c: aggregator: Also include the subclass latency in the result of the latency query 2014-12-22 15:26:37 +0100 Sebastian Dröge * libs/gst/base/gstaggregator.c: aggregator: Post a latency message if the value of the latency property changes 2014-12-22 15:03:59 +0100 Sebastian Dröge * libs/gst/base/gstaggregator.c: aggregator: Wake up the src thread after handling a latency query Due to changed latencies or changed live-ness we might have to adjust if we wait on a deadline at all and how long. 2014-12-22 15:00:36 +0100 Sebastian Dröge * libs/gst/base/gstaggregator.c: aggregator: Don't count the number of times we need to wake up but instead check all conditions for waiting again This simplifies the code and also makes sure that we don't forget to check all conditions for waiting. Also fix a potential deadlock caused by not checking if we're actually still running before starting to wait. 2014-12-17 19:51:32 +0100 Sebastian Dröge * libs/gst/base/gstaggregator.c: * libs/gst/base/gstaggregator.h: aggregator: Add function to allow subclasses to set their own latency For audiomixer this is one blocksize, for videoaggregator this should be the duration of one output frame. 2014-12-17 17:54:09 +0100 Sebastian Dröge * libs/gst/base/gstaggregator.c: * libs/gst/base/gstaggregator.h: * tests/check/libs/aggregator.c: aggregator: Add a timeout parameter to ::aggregate() When this is TRUE, we really have to produce output. This happens in live mixing mode when we have to output something for the current time, no matter if we have enough input or not. 2014-12-16 19:49:35 +0000 Tim-Philipp Müller * tests/check/libs/aggregator.c: tests: fix aggregator unit test after property renaming 2014-12-16 17:33:01 +0100 Sebastian Dröge * libs/gst/base/gstaggregator.c: aggregator: Some minor cleanup 2014-12-05 18:19:54 +1100 Matthew Waters * libs/gst/base/gstaggregator.c: * libs/gst/base/gstaggregator.h: aggregator: make the src pad task drive the pipeline for live pipelines This removes the uses of GAsyncQueue and replaces it with explicit GMutex, GCond and wakeup count which is used for the non-live case. For live pipelines, the aggregator waits on the clock until either data arrives on all sink pads or the expected output buffer time arrives plus the timeout/latency at which time, the subclass produces a buffer. https://bugzilla.gnome.org/show_bug.cgi?id=741146 2014-12-14 01:29:26 +0100 Sebastian Rasmussen * tests/check/libs/aggregator.c: tests/aggregator: Use correct type when setting property Fixes https://bugzilla.gnome.org/show_bug.cgi?id=741495 2014-11-19 17:17:06 +0100 Sebastian Dröge * libs/gst/base/gstaggregator.c: aggregator: Unblock events/queries immediately if the pad is flushing https://bugzilla.gnome.org/show_bug.cgi?id=740376 2014-11-19 17:15:02 +0100 Sebastian Dröge * libs/gst/base/gstaggregator.c: aggregator: Drop serialized events/queries if the pad is flushing https://bugzilla.gnome.org/show_bug.cgi?id=740376 2014-11-19 17:03:41 +0100 Sebastian Dröge * libs/gst/base/gstaggregator.c: aggregator: Block serialized events/queries until the pad has consumed all buffers Otherwise the caps of the pad might change while the subclass still works with a buffer of the old caps, assuming the the current pad caps apply to that buffer. Which then leads to crashes and other nice effects. https://bugzilla.gnome.org/show_bug.cgi?id=740376 2014-11-19 17:03:33 +0100 Sebastian Dröge * libs/gst/base/gstaggregator.c: aggregator: Fix typo in debug output 2014-11-17 14:00:10 +1100 Matthew Waters * libs/gst/base/gstaggregator.c: * libs/gst/base/gstaggregator.h: aggregator: add _get_latency() for subclass usage API: gst_aggregator_get_latency https://bugzilla.gnome.org/show_bug.cgi?id=739996 2014-10-20 18:25:08 +0530 Vineeth T M * libs/gst/base/gstaggregator.c: audiomixer: critical error for blocksize, timeout min/max values Audiomixer blocksize, cant be 0, hence adjusting the minimum value to 1 timeout value of aggregator is defined with MAX of MAXINT64, but it cannot cross G_MAXLONG * GST_SECOND - 1 Hence changed the max value of the same https://bugzilla.gnome.org/show_bug.cgi?id=738845 2014-10-07 16:57:27 +1100 Matthew Waters * tests/check/libs/aggregator.c: tests/aggregator: add timeout handling test for the timeout parameter 2014-10-06 21:46:24 +1100 Matthew Waters * libs/gst/base/gstaggregator.c: aggregator: add latency query handling 2014-10-06 18:23:03 +1100 Matthew Waters * libs/gst/base/gstaggregator.c: * libs/gst/base/gstaggregator.h: aggregator: add a timeout property determining buffer wait time Determines the amount of time that a pad will wait for a buffer before being marked unresponsive. Network sources may fail to produce buffers for an extended period of time, currently causing the pipeline to stall possibly indefinitely, waiting for these buffers to appear. Subclasses should render unresponsive pads with either silence (audio), the last (video) frame or what makes the most sense in the given context. 2014-09-17 16:48:02 +0200 Jan Alexander Steffens (heftig) * libs/gst/base/gstaggregator.c: aggregator: Replace GMainContext with GAsyncQueue (v2) The previous implementation kept accumulating GSources, slowing down the iteration and leaking memory. Instead of trying to fix the main context flushing, replace it with a GAsyncQueue which is simple to flush and has less overhead. https://bugzilla.gnome.org/show_bug.cgi?id=736782 2014-08-05 15:36:30 +0200 Mathieu Duponchelle * libs/gst/base/gstaggregator.c: aggregator: Set seqnum only when segments are received. 2014-08-02 18:25:01 +0200 Thibault Saunier * libs/gst/base/gstaggregator.c: aggregator: Add a streaming lock so to secure flush start action Without a lock that is taken in FLUSH_START we had a rare race where we end up aggregating a buffer that was before the whole FLUSH_START/STOP dance. That could lead to very wrong behaviour in subclasses. 2014-07-18 13:58:55 +0200 Thibault Saunier * libs/gst/base/gstaggregator.c: aggregator: Query seeking when a seek failed to see if it was expected And do not worry if seeking failed on a stream that is not seekable 2014-07-18 01:41:26 +0200 Mathieu Duponchelle * libs/gst/base/gstaggregator.c: aggregator: set future seqnum before propagating the seek event. So the seqnum is properly set for the following events. 2014-07-08 16:16:55 +0200 Thibault Saunier * libs/gst/base/gstaggregator.c: aggregator: Store segment when seeked in READY for later use 2014-10-06 10:11:23 +0300 Sebastian Dröge * libs/gst/base/gstaggregator.c: aggregator: Unref the taglist in GstAggregator::stop() 2014-10-03 12:34:15 +0200 Thibault Saunier * libs/gst/base/gstaggregator.c: aggregator: Take lock to ensure set_caps is not called concurently Avoiding to be in an inconsistent state where we do not have actual negotiate caps set as srccaps and leading to point where we try to unref ->srccaps when they have already been set to NULL. https://bugzilla.gnome.org/show_bug.cgi?id=735042 2014-08-11 23:38:40 +1000 Matthew Waters * libs/gst/base/gstaggregator.c: aggregator: fix up doc comment for set_src_caps It does not occur 'later' anymore https://bugzilla.gnome.org/show_bug.cgi?id=732662 2014-08-07 19:54:36 +1000 Matthew Waters * libs/gst/base/gstaggregator.c: videoaggregator: push the caps event as soon as we receive it Along with the required mandatory dependent events. Some elements need to perform an allocation query inside ::negotiated_caps(). Without the caps event being sent prior, downstream elements will be unable to answer and will return an error. https://bugzilla.gnome.org/show_bug.cgi?id=732662 2014-07-16 16:57:35 +0200 Mathieu Duponchelle * libs/gst/base/gstaggregator.c: aggregator: Reset flow_return *after* stopping the srcpad task. Otherwise it might be set in an already running aggregate function. 2014-07-10 13:18:21 +0200 Thibault Saunier * libs/gst/base/gstaggregator.c: aggregator: Flush sinkpads when stopping All values are meaningless in that case, so we should make sure that we clean everything 2014-07-10 13:15:55 +0200 Thibault Saunier * libs/gst/base/gstaggregator.c: aggregator: Do not forget to reset the flow return when stoping Setting it to FLUSHING when the element is not started, and to OK when it starts. 2014-07-08 16:48:08 +0200 Thibault Saunier * libs/gst/base/gstaggregator.c: aggregator: Handle event seqnum 2014-07-06 16:17:06 +0100 Tim-Philipp Müller * libs/gst/base/gstaggregator.c: aggregator: fix locking We would unlock a mutex we never locked on SEGMENT events. 2014-06-30 12:22:07 +0200 Thibault Saunier * libs/gst/base/gstaggregator.c: * tests/check/libs/aggregator.c: aggregator: Avoid destroying sources we do not own + Unref the maincontext in a new dispose function + Make sure to remove all sources on dispose https://bugzilla.gnome.org/show_bug.cgi?id=732445 2014-06-28 11:20:43 -0300 Thiago Santos * tests/check/libs/aggregator.c: tests: aggregator: fix various leaks in the tests 2014-06-28 09:34:05 -0300 Thiago Santos * libs/gst/base/gstaggregator.c: aggregator: always store or unref the buffer on the _chain function Otherwise it leaks, and it is very common to go to flushing when the pipeline is stopping, leaking a buffer. 2014-06-28 09:32:32 -0300 Thiago Santos * libs/gst/base/gstaggregator.c: aggregator: always unref the buffer on _finish function Otherwise the user doesn't know if it was unref'd or not 2014-06-28 09:31:55 -0300 Thiago Santos * libs/gst/base/gstaggregator.c: aggregator: add dispose/finalize functions Add functions to be able to cleanup the mutex/cond and pending buffers on the aggregator and on its pad 2014-06-26 10:53:16 +1000 Matthew Waters * libs/gst/base/gstaggregator.c: aggregator: plug a memory leak of the srccaps 2014-06-21 16:51:01 +0200 Thibault Saunier * libs/gst/base/gstaggregator.h: libs:base: Properly declare APIs as UNSTABLE 2014-06-21 13:45:13 +0200 Thibault Saunier * libs/gst/base/gstaggregator.c: aggregator: Fix requested pad name 2014-05-22 19:44:37 +0200 Thibault Saunier * libs/gst/base/gstaggregator.c: * libs/gst/base/gstaggregator.h: * tests/check/libs/aggregator.c: aggregator: Add new GstAggregator base class This base class has been added to a newly created libgstbadbase library Co-Authored by: Mathieu Duponchelle https://bugzilla.gnome.org/show_bug.cgi?id=731917 2017-12-02 12:02:15 +0000 Tim-Philipp Müller * tests/check/gst/gstinfo.c: tests: info: add test for post-gst_init() category registration perf When registering categories after gst_init() we would re-check *all* categories against the existing GST_DEBUG patterns again, whereas it's enough to just check the new category. Moreover, we would parse the GST_DEBUG pattern string again and re-add that to the existing pattern list for every newly-registered debug category, and then check that against all categories of course. This made registering categories after gst_init() very very slow. 2017-12-02 12:29:20 +0000 Tim-Philipp Müller * gst/gstinfo.c: info: always check match patterns for new debug categories Not only if a match pattern was set originally via GST_DEBUG. Patterns might be set programmatically as well after all. 2017-12-02 12:22:47 +0000 Tim-Philipp Müller * gst/gstinfo.c: info: fix performance issue with registering categories after gst_init() When registering a new debug category after gst_init(), simply check the existing patterns against that new category. No need to iterate over all categories and recheck them all against the existing patterns. Also, no need to re-parse the existing pattern string set via GST_DEBUG and add the same set of match patterns all over again to the existing list of match patterns every time we register a new debug category. Combined with iterating all debug categories on a change this would make adding debug categories after gst_init() very very very slow. 2017-12-01 13:33:48 -0500 Nicolas Dufresne * gst/gstplugin.c: plugin-scanner: Measure string length in bytes g_strndup() wants a number of bytes to copy, so use strlen intead of UTF-8 strlen function. 2017-11-30 17:49:10 +0100 Michael Tretter * libs/gst/net/gstptpclock.c: ptpclock: do not require a name to create a clock The gst_ptp_clock_new() does not actually require a name. However, for example the rtpjitterbuffer may create a clock without a name, fail, and fall back to not using the PTP clock. https://bugzilla.gnome.org/show_bug.cgi?id=791034 2017-11-28 23:37:47 +0000 Tim-Philipp Müller * tools/gst-inspect.c: tools: gst-inspect: fix readable flag printing for pad properties 2017-11-27 20:09:42 +1100 Matthew Waters * common: Automatic update of common submodule From 3f4aa96 to e8c7a71 2017-11-26 13:31:28 -0300 Thibault Saunier * gst/gstpreset.c: Revert "preset: Do not save deprecated properties" This reverts commit 81e10f61231ad56ca4aa07278993b87c6ec0f058. A mistake lead to committing it twice in a weird way. 2017-11-03 12:20:47 -0300 Thibault Saunier * gst/gstpreset.c: preset: Do not save deprecated properties It will g_warn upon deserialization and we should not use those anyway. https://bugzilla.gnome.org/show_bug.cgi?id=789871 2017-11-08 12:46:44 -0300 Thibault Saunier * gst/gsttaglist.c: taglist: Avoid assertions when getting tag nick from unregister tag With serialized GstDiscovererInfos we might end up trying to use tags that have not been registered. 2017-11-03 12:23:50 -0300 Thibault Saunier * gst/gstpreset.c: preset: Do not save deprecated properties It will g_warn upon desarialization and we should not use those anyway. https://bugzilla.gnome.org/show_bug.cgi?id=789871 2017-10-13 00:21:03 +0100 Tim-Philipp Müller * plugins/tracers/Makefile.am: * plugins/tracers/gstlog.c: tracers: log: no need to link to our internal printf implementation The call to __gst_vasprintf() was removed in commit 1a3e218b8. 2017-11-26 00:20:13 +0000 Tim-Philipp Müller * tools/gst-inspect.c: tools: gst-inspect: don't print element flags whch are always 'none' We print the interesting flags like clocking capabilities separately later, this function just always prints 'none', so remove it. 2017-11-25 23:43:56 +0000 Tim-Philipp Müller * gst/gstpadtemplate.c: * tools/gst-inspect.c: tools: gst-inspect: print pad properties where we know the subclass type 2017-11-25 22:27:08 +0000 Tim-Philipp Müller * tools/gst-inspect.c: tools: gst-inspect: refactor way indentation is done during printing 2017-11-25 13:07:12 +0100 Edward Hervey * gst/gstinfo.c: gstinfo: Use free instead of g_free Because 2017-11-25 12:44:11 +0100 Edward Hervey * gst/gstinfo.c: gstinfo: Don't leak array of strings The array provided by backtrace_symbols needs to be freed. 2017-11-24 12:08:07 +0100 Edward Hervey * tests/check/gst/gstbuffer.c: check/buffer: Remove usless memcmp with empty size 1) checking nothing against nothing is pointless 2) memcmp needs to be provided non-NULL arguments 2017-11-24 12:05:26 +0100 Edward Hervey * gst/gstutils.c: gstutils: Fix linear regression comparision The check for dropping precision was wrong when sxx and syy were negative. if they are negative then "G_MAXINT64 - val" would always overflow The check was meant to use G_MININT64 (like in the loop contained just after). 2017-11-24 13:58:01 +1100 Matthew Waters * libs/gst/check/Makefile.am: check: add missing harness function to symbol export list Fixes in user code: undefined reference to `gst_harness_add_element_sink_pad' Also reorder harness function list to be strictly in alphabetical order and double check the list with: awk '{ if ($1 !~ /#define/) if ($2 ~ /gst_harness_/) { print $2 }; if ($3 ~ /gst_harness_/) { print $3} }' libs/gst/check/gstharness.h | sort 2017-11-24 13:41:20 +0100 Tim-Philipp Müller * tests/check/elements/capsfilter.c: * tests/check/elements/dataurisrc.c: * tests/check/elements/fakesink.c: * tests/check/elements/fakesrc.c: * tests/check/elements/fdsrc.c: * tests/check/elements/filesink.c: * tests/check/elements/filesrc.c: * tests/check/elements/identity.c: * tests/check/elements/multiqueue.c: * tests/check/elements/queue.c: * tests/check/elements/queue2.c: * tests/check/elements/selector.c: * tests/check/elements/tee.c: * tests/check/elements/valve.c: * tests/check/generic/sinks.c: * tests/check/generic/states.c: * tests/check/gst/gst.c: * tests/check/gst/gstabi.c: * tests/check/gst/gstatomicqueue.c: * tests/check/gst/gstbin.c: * tests/check/gst/gstbufferlist.c: * tests/check/gst/gstbufferpool.c: * tests/check/gst/gstbus.c: * tests/check/gst/gstcaps.c: * tests/check/gst/gstcapsfeatures.c: * tests/check/gst/gstchildproxy.c: * tests/check/gst/gstclock.c: * tests/check/gst/gstcontext.c: * tests/check/gst/gstcontroller.c: * tests/check/gst/gstcpp.cc: * tests/check/gst/gstevent.c: * tests/check/gst/gstghostpad.c: * tests/check/gst/gstindex.c: * tests/check/gst/gstinfo.c: * tests/check/gst/gstiterator.c: * tests/check/gst/gstmessage.c: * tests/check/gst/gstminiobject.c: * tests/check/gst/gstpad.c: * tests/check/gst/gstparamspecs.c: * tests/check/gst/gstplugin.c: * tests/check/gst/gstpoll.c: * tests/check/gst/gstpreset.c: * tests/check/gst/gstprintf.c: * tests/check/gst/gstpromise.c: * tests/check/gst/gstprotection.c: * tests/check/gst/gstquery.c: * tests/check/gst/gstsegment.c: * tests/check/gst/gststream.c: * tests/check/gst/gststructure.c: * tests/check/gst/gstsystemclock.c: * tests/check/gst/gsttag.c: * tests/check/gst/gsttagsetter.c: * tests/check/gst/gsttask.c: * tests/check/gst/gsttoc.c: * tests/check/gst/gsttocsetter.c: * tests/check/gst/gsttracerrecord.c: * tests/check/gst/gsturi.c: * tests/check/gst/gstvalue.c: * tests/check/libs/adapter.c: * tests/check/libs/gstharness.c: * tests/check/libs/gstnetclientclock.c: * tests/check/libs/gstnettimeprovider.c: * tests/check/libs/gsttestclock.c: tests: include config.h and don't include unix headers In many cases the unistd.h includes weren't actually needed. Preparation for making tests work on Windows with MSVC. 2017-11-24 13:21:47 +0100 Tim-Philipp Müller * tests/check/libs/test_transform.c: tests: add missing license header to test_transform.c 2017-11-10 16:26:50 +0100 Mikhail Fludkov * configure.ac: * gst/gsttracerutils.c: * gst/gsttracerutils.h: * plugins/Makefile.am: gsttraceutils: actually disable tracing system hooks if configured `./configure --disable-gst-tracer-hooks` didn't do anything, hooks were always enabled regardless of the option. It works correctly in the Meson build though. 2017-10-26 12:09:07 +0200 Havard Graff * docs/gst/gstreamer-sections.txt: * gst/gstutils.c: * gst/gstutils.h: * win32/common/libgstreamer.def: utils: add gst_utils_dump_buffer() Useful for debugging. 2017-10-10 15:44:51 +0200 Håvard Graff * pkgconfig/meson.build: meson.build: use join_paths() on prefix So that "/" are correct on Windows and the paths in the .pc files are like C:/some/where and not C:\some\where. 2017-11-24 09:49:27 +0100 Tim-Philipp Müller * libs/gst/base/gstbasetransform.c: * libs/gst/net/gstptpclock.c: libs: fix indentation 2017-08-18 14:30:32 +0200 Stian Selnes * gst/gstpad.c: * tests/check/gst/gstghostpad.c: pad: gst_pad_activate_mode() always succeed if same mode Checking that the pad is in the correct mode before the parent is checked makes the call always succeed if the mode is ok. This fixes a race with ghostpad where gst_pad_activate_mode() could trigger a g_critical() if the ghostpad is unparented while the proxypad is deactivating, for instance if the ghostpad is released. More specifically, gst_ghost_pad_internal_activate_push_default()'s call to gst_pad_activate_mode() would fail if ghostpad doesn't have a parent. With this patch it will return true of mode is already correct. 2017-03-31 16:36:05 +0200 Havard Graff * libs/gst/base/gstbasetransform.c: * plugins/elements/gstfunnel.c: * plugins/elements/gstfunnel.h: gstbasetranform: replace GST_BASE_TRANSFORM with GST_BASE_TRANSFORM_CAST To avoid a global type-lock on chain etc. 2017-11-24 09:53:41 +0100 Tim-Philipp Müller * gst/gstghostpad.c: ghostpad: return TRUE if target pad was already set The state is as it should be, so no reason to return FALSE really, everything's good. 2017-11-24 09:40:07 +0100 Tim-Philipp Müller * gst/gstghostpad.c: ghostpad: access internal pad with lock held 2017-03-30 09:17:08 +0200 Havard Graff * gst/gstghostpad.c: * tests/check/gst/gstghostpad.c: ghostpad: fix race-condition while tearing down An upstream query will take a ref on the internal proxypad, and can hence end up owning the last reference to that pad, causing a crash. 2013-03-23 13:44:51 +0100 Haakon Sporsheim * libs/gst/check/gstcheck.c: check: Add test suite time elapsed output 2017-11-23 15:28:39 +0100 Edward Hervey * plugins/elements/gstqueue.c: queue: Only calculate level if we have valid levels Doing calculations with GST_CLOCK_STIME_NONE would result in completely bogus levels 2017-11-23 13:56:51 +0100 Tim-Philipp Müller * gst/gstvalue.c: gstvalue: allocate slightly larger than needed tables at startup If we pre-allocate only *exactly* as many nodes as we need for the core types, we are practically guaranteed a re-alloc when external code like GstVideoTimeCode or GstEncodingProfile register their own GstValue things. So allocate a bit more than strictly needed. 2017-11-06 21:10:54 +0100 Mathieu Duponchelle * docs/gst/gstreamer-sections.txt: * gst/gstelement.c: * gst/gstelement.h: * gst/gstpadtemplate.c: * gst/gstpadtemplate.h: * win32/common/libgstreamer.def: pad templates: Allow specifying GType See https://bugzilla.gnome.org/show_bug.cgi?id=731301 https://bugzilla.gnome.org/show_bug.cgi?id=789986 2017-11-22 15:59:39 +0100 Tim-Philipp Müller * win32/common/libgstreamer.def: win32: update for latest promise api changes 2017-04-03 22:20:51 +1000 Matthew Waters * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * docs/gst/gstreamer.types.in: * gst/Makefile.am: * gst/gst.c: * gst/gst.h: * gst/gstpromise.c: * gst/gstpromise.h: * gst/meson.build: * tests/check/Makefile.am: * tests/check/gst/.gitignore: * tests/check/gst/gstpromise.c: * tests/check/meson.build: * win32/common/libgstreamer.def: gst: add a promise object An object that can be waited on and asked for asynchronous values. In much the same way as promise/futures in js/java/etc A callback can be installed for when the promise changes state. Original idea by Jan Schmidt With contributions from Nirbheek Chauhan Mathieu Duponchelle https://bugzilla.gnome.org/show_bug.cgi?id=789843 2017-11-20 17:01:04 +0100 Edward Hervey * gst/gstregistrychunks.c: registrychunks: Make sure we use aligned memory This is in the same vein as for all other features. Some systems might not allow unaligned read. 2017-11-17 00:15:17 +0000 Tim-Philipp Müller * tools/gst-inspect.c: tools: gst-inspect: stop printing element state_change function This is really not interesting at all, not sure why we print this. 2017-11-17 00:14:35 +0000 Tim-Philipp Müller * tools/gst-inspect.c: tools: gst-inspect: fix double empty line after pad templates 2017-11-16 10:47:46 +0100 Edward Hervey gstpad: Make pad (de)activation atomic The following could happen previously: * T1: calls gst_pad_set_active() * T2: currently (de)activating it * T1: gst_pad_set_active() returns, caller assumes that the pad has completed the requested (de)activation ... whereas it is not the case since the actual (de)activation in T2 might still be going on. To ensure atomicity of pad (de)activation, we use a internal variable (and cond) to ensure only one thread at a time goes through the actual (de)activation block https://bugzilla.gnome.org/show_bug.cgi?id=790431 2017-11-16 08:26:12 +0100 Edward Hervey * gst/gstpad.c: gstpad: Make calls to GstPadActivateFunction MT-safe checking whether we already were in the target GstPadMode was being done too early and there was the risk that we *would* end up (de)activating a pad more than once. Instead, re-do the check for pad mode when entering the final pad (de)activation block. https://bugzilla.gnome.org/show_bug.cgi?id=790431 2017-11-10 12:07:28 -0500 Nicolas Dufresne * gst/gstparamspecs.c: paramspec: Move condition check inside the g_return It's mostly a debug check and crash avoidance, it's better to keep all the condition inside the macro. 2017-11-10 12:03:00 -0500 Nicolas Dufresne * gst/gstparamspecs.c: paramspec: Add missing since for _spec_array() 2017-11-10 14:10:31 +0100 Edward Hervey * plugins/elements/gstconcat.c: concat: Handle single-pad use-cases When EOS reaches concat, it will switch to the next candidate as its activate pad. The problem arises when there is only one sinkpad, the "active" pad becomes NULL. This results in concat becoming unusable after it receives a *single* EOS on its single sinkpad. If we detect there is a single sinkpad and there is no current active pad: * If we are waiting (from selected sink event/buffer), become the current active pad. * If there is a seek request, send it upstream. We don't switch the active_sinkpad property at that point in time, since the seek could fail. If the seek succeeds, the following SEGMENT (or STREAM_START) will cause the pad_wait() to elect that pad as the new active one. * Flush events get forwarded https://bugzilla.gnome.org/show_bug.cgi?id=790167 2017-11-09 17:38:19 +0100 Edward Hervey * plugins/elements/gstconcat.c: concat: Make QoS forward MT-safe In the same way it's done for other event forwarding. 2017-04-13 16:28:54 +0200 Guillaume Desmottes * plugins/tracers/gstlatency.c: latency tracer: add timestamp to tracer records Include the timestamp of the recorded log as in the 'stats' tracer. This can be useful, for example, to plot a graph showing the latency over time. https://bugzilla.gnome.org/show_bug.cgi?id=781315 2017-11-04 11:45:54 +0100 Edward Hervey * libs/gst/base/gsttypefindhelper.c: typefindhelper: Fix overflow some more Nothing guaranteed that off+size wouldn't exceed a 2**64 value. Instead we reverse the operation and use a subtraction. 2017-11-04 10:34:10 +0100 Edward Hervey * libs/gst/base/gsttypefindhelper.c: typefindhelper: Fix signed integer overflow Make sure the whole calculation is done with 64bit unsigned values (To be ready for people want to typefind exabyte files). 2017-08-01 11:06:32 +0100 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gstelement.c: * gst/gstelement.h: * tests/check/gst/gstelement.c: * win32/common/libgstreamer.def: element: add gst_element_foreach_*pad() Add convenience API that iterates over all pads, sink pads or source pads and makes sure that the foreach function is called exactly once for each pad. This is a KISS implementation. It doesn't use GstIterator and doesn't try to do clever things like resync if pads are added or removed while the function is executing. We can still do that in future if we think it's needed, but in practice it will likely make absolutely no difference whatsoever, since these things will have to be handled properly elsewhere by the element anyway if they're important. After all, it's always possible that a pad is added or removed just after the iterator finishes iterating, but before the function returns. This is also a replacement for gst_aggregator_iterate_sink_pads(). https://bugzilla.gnome.org/show_bug.cgi?id=785679 2017-10-27 14:58:28 +0200 Mathieu Duponchelle * plugins/tracers/gstleaks.c: gstleaks.c: always log leaks listing https://bugzilla.gnome.org/show_bug.cgi?id=789556 2017-11-01 12:27:31 +0200 Sebastian Dröge * libs/gst/net/meson.build: net: Add new file to the meson.build 2017-11-01 11:31:52 +0200 Sebastian Dröge * tests/misc/netclock-replay.c: examples/netclock-replay: Fix build 2017-10-30 10:49:06 +0100 Robert Rosengren * libs/gst/net/Makefile.am: * libs/gst/net/gstnetclientclock.c: * libs/gst/net/gstnettimeprovider.c: * libs/gst/net/gstnetutils.c: * libs/gst/net/gstnetutils.h: netutils: Add util for setting socket DSCP Util function for setting QoS DSCP added, to remove duplicated code in netclientclock and nettimeprovider. Fix build error if missing IP_TOS. https://bugzilla.gnome.org/show_bug.cgi?id=784737 2017-10-31 11:39:23 +0100 Edward Hervey * gst/gstvalue.h: gstvalue: Cast GST_MAKE_FOURCC arguments To make it explicit that we are dealing with uint32 targets Avoids erroneous runtime error: left shift of negative value -1 https://bugzilla.gnome.org/show_bug.cgi?id=789700 2017-10-11 11:08:12 -0400 Nicolas Dufresne * plugins/tracers/gstlatency.c: latency-tracer: Exclude synchronization time The goal of this tracer is to measure the processing latency between a src and a sink. In push mode, the time was read after the chain function have returned. As the amount of time we wait to get synched is reverse to the amount of latency the source introduced, the result was quite surprising. This patch moves the latency calculation in the pre-push hook. When there is no processing in a a pipeline (e.g. fakesrc ! fakesink), the latency will now be 0 as it's supposed to. For pull mode, the code was already correct. When GstBaseSink operate in pull mode, the processing time is done durring the pull, so pull-post is the right hook. The synchronization will happen after the pull has ended. Note that GstBaseSink rarely operate in pull mode. https://bugzilla.gnome.org/show_bug.cgi?id=788431 2017-10-27 09:53:06 +0200 Edward Hervey * gst/gstevent.c: event: Don't allow invalid SELECT_STREAMS event creation Asking to select no streams makes no sense and can create various issues. If one doesn't one any stream it should deactivate (or not use) the element in question. 2017-10-25 17:10:15 +0200 Edward Hervey * gst/gst.c: gst: Fix build with option parsing disabled 2017-10-20 17:28:11 +0200 Stefan Sauer * tests/check/gst/gstsegment.c: segment: update the tests Boy scout rule. Make is a little less painful to debug the tests by using fail_unless_equals_{uint64,int64,float} where appropriate. Ideally the large tests would be splitted to avoid guessing data dependencies. 2017-10-20 16:15:01 +0200 Stefan Sauer * gst/gstsegment.h: segment: clarify the segment docs for the duration 2017-10-20 16:11:44 +0200 Stefan Sauer * gst/gstsegment.c: Revert "segment: also intialize the duration" This reverts commit f1baaae17557fa75a9bcd940b994597714be2f74. 2017-10-20 14:30:42 +0200 Stefan Sauer * gst/gstsegment.c: segment: also intialize the duration If start and stop are set, calculate the duration and set it too. 2017-10-20 13:02:35 +0200 Stefan Sauer * tools/gst-inspect.c: gst-inspect: print more details for typefind and tracer features Print full details for typefind features. Print some of the available features for tracers and add some todos for the ones we'd like to see. 2017-10-20 11:16:46 +0200 Stefan Sauer * tools/gst-inspect.c: gst-inspect: reduce casting back and forth Refactor the print_element_info() to take a GstPluginFeature. Reduces the need to cast to and from GstElementFactory. 2017-10-20 11:08:14 +0200 Stefan Sauer * tools/gst-inspect.c: gst-inspect: simplify the code for printing feature info Rename print_element_features() to print_feature_info() and move the code that handles the ElementFactory there. This simplifies the calling code and improves readability. Also don't leak the features for other factories. 2017-06-02 16:27:29 +0200 Robert Rosengren * libs/gst/net/gstnetclientclock.c: netclientclock: Add possibility to set QoS DSCP value https://bugzilla.gnome.org/show_bug.cgi?id=784737 2017-06-01 15:48:16 +0200 Robert Rosengren * libs/gst/net/gstnettimeprovider.c: nettimeprovider: Add possibility to set QoS DSCP value https://bugzilla.gnome.org/show_bug.cgi?id=784737 2017-10-18 02:31:12 +1100 Jan Schmidt * gst/gstutils.c: * gst/gstutils.h: seqnum: Never return a seqnum of 0, reset GST_SEQNUM_INVALID Various plugins use the value of '0' as an invalid seqnum value (qtdemux for matching duplicated seek events, for example). Make that behaviour explicit, create a GST_SEQNUM_INVALID value, and ensure gst_util_seqnum_next never returns it. 2017-10-16 16:06:37 +0530 Ashish Kumar * libs/gst/base/gstqueuearray.c: queuearray: Fix for possible crashes due to null pointer dereferencing https://bugzilla.gnome.org/show_bug.cgi?id=788838 2017-10-15 15:59:11 +0200 Stefan Sauer * libs/gst/base/gstcollectpads.c: collectpads: mention the query function in the docs as well 2017-10-06 21:59:03 +0200 Mathieu Duponchelle * gst/gstbuffer.c: * tests/check/gst/gstmeta.c: gstbuffer: fix meta removal in gst_buffer_foreach_meta When updating the linked list, prev->next = next is correct if prev is actually updated after being set to the head of the list at the start. https://bugzilla.gnome.org/show_bug.cgi?id=788617 2017-10-10 15:53:38 +0200 fengalin * libs/gst/base/gstflowcombiner.c: flowcombiner: Fix version for ref and unref functions The functions were introduced in version 1.12.1, GstFlowCombiner was introduced in 1.4. https://bugzilla.gnome.org/show_bug.cgi?id=788778 2017-10-05 13:35:14 +0100 Tim-Philipp Müller * libs/gst/base/gstbasesink.c: basesink: use new gst_buffer_list_calculate_size() utility function 2017-10-05 10:24:24 +0530 Ashish Kumar * gst/gstdeviceprovider.c: device-provider: gst_device_provider_unhide_provider() always fails https://bugzilla.gnome.org/show_bug.cgi?id=788520 2017-10-04 14:16:46 +0200 Havard Graff * gst/meson.build: * libs/gst/base/meson.build: * libs/gst/controller/meson.build: * libs/gst/net/meson.build: * meson.build: meson: remove vs_module_defs The GST_EXPORT should handle it. 2017-10-03 13:54:25 -0700 Reynaldo H. Verdejo Pinochet * libs/gst/base/gstbasetransform.h: * libs/gst/net/gstnettimepacket.c: * libs/gst/net/gstntppacket.c: * plugins/elements/gstidentity.c: Use proper GtkDoc notation for NULL/FALSE/TRUE 2017-10-02 17:59:17 +0200 Edward Hervey * gst/gstbin.c: * tests/check/gst/gstbin.c: bin: iterate_sorted: Ensure sources are always returned last For linked elements, the resulting gst_bin_iterate_sorted() will properly return elements from sink to sources. If we have some elements that are not linked, we *still* want to ensure that we return: * In priority any sinks * Last of all any sources * And in between any element which is neither source nor sink For this to work, when looking for the next candidate element, not only check the degree order, but if there are two candidates with the same degree order, prefer the non-source one. Amongst other things, this fixes the case where we activating a bin containing unlinked sources and other elements. Without this we could end up activating sources (which might start adding pads to be linked) before other (to which those new source element pads might be linked) are not activated https://bugzilla.gnome.org/show_bug.cgi?id=788434 2017-10-02 14:11:19 -0400 Nicolas Dufresne * tests/check/elements/tee.c: tee-test: Test a real use case The real use case is when downstream didn't set a pool or allocation params, in which case we expect the tee to not create a pool or param from thin air. Dowstream setting an pool with size=0 was in fact testing a downstream element bug. The fact we handle that is accidental. 2017-10-02 16:26:33 +0200 Stefan Sauer * plugins/elements/gsttee.c: * tests/check/elements/tee.c: tee: don't create a pool if none is needed If the aggregated size is 0 and we create a pool, the pool would provide buffers with no memory assigned. Handle that case and skip the pool. This was the behaviour before cf803ea9f4e3fde92c1da86ecc47444035f7c0a7. Add a test for this scenario. https://bugzilla.gnome.org/show_bug.cgi?id=730758 2017-10-02 13:35:52 -0400 Nicolas Dufresne * tests/check/elements/tee.c: tee: Re-enabled alloc query + allow-not-linked test In the unit test refactoring, the unlinked pad required to test the different behaviour induced by "allow-not-linked" property was removed. Commit e364d7944ecbab86dea73c0ee3e639e766938d36 Move all the code for this test in the proper function, and re-add the missing unlinked pad. This makes the test useful again. 2017-10-02 16:25:00 +0200 Stefan Sauer * tests/check/elements/tee.c: tee: split the allocation query test Split the large allocation_query test into seperate tests. Add a setup helper to reduce code duplication. Fix the original test that used fail_unless instead of ck_assert_int_eq and had it accidentially working. 2017-10-02 16:22:00 +0200 Stefan Sauer * gst/gststructure.c: structure: add a todo comment Printing NULL is confusing when the type is e.g. a GArray that is not empty. 2017-10-02 13:14:21 +0200 Stefan Sauer * gst/gstquery.c: query: doc consistency Mention that it is the 'buffer size', like we do elsewhere. 2017-09-28 10:17:53 +0200 Edward Hervey * win32/common/libgstreamer.def: win32: update exports file 2017-09-27 20:29:06 +0200 Mathieu Duponchelle * gst/gst.c: * gst/gstplugin.c: gst: Modify behaviour of gst_get_main_executable_path To actually return the path of the executable, not its directory. https://bugzilla.gnome.org/show_bug.cgi?id=788256 2017-09-26 21:51:53 +0200 Mathieu Duponchelle * docs/gst/gstreamer-sections.txt: * gst/gst.c: * gst/gst.h: * win32/common/libgstreamer.def: gst: API: gst_get_main_executable_path() This is useful for plugins that need to inspect the folder of the main executable in order to determine the set of features they will expose, for example: https://github.com/centricular/gstreamer-vst3 https://bugzilla.gnome.org/show_bug.cgi?id=788214 2017-09-27 13:07:25 +0200 Mathieu Duponchelle * gst/gst.c: gst: Do not try to determine executable path on iOS. The method used relies on "libproc.h", which is only available on OSX. https://bugzilla.gnome.org/show_bug.cgi?id=788234 2017-09-27 13:01:13 +0200 Mathieu Duponchelle * gst/gst.c: gst: Fix typo in windows function name. GetModuleFilename -> GetModuleFileName https://bugzilla.gnome.org/show_bug.cgi?id=788234 2017-09-27 10:06:12 +0200 Edward Hervey * win32/common/libgstreamer.def: win32: Update export file 2017-09-26 15:15:27 +0200 Mathieu Duponchelle * gst/gst.c: * libs/gst/helpers/gst-plugin-scanner.c: plugin dependencies: fix 6cddce7663cb4b6ee061950d20365f42cb755851 There were a few errors: * The plugin scanner now accepts executable path as an argument. In case it is NULL, argc == 2 * We find the executable path in init_pre instead of gst_init, allowing this to work when gst is initialized through the option group (eg gst-inspect) * There was a semi-colon missing in the __APPLE__ #ifdef 2017-09-25 20:35:59 +0200 Mathieu Duponchelle * gst/gst.c: * gst/gst_private.h: * gst/gstplugin.c: * gst/gstplugin.h: * gst/gstpluginloader.c: * libs/gst/helpers/gst-plugin-scanner.c: * win32/common/libgstreamer.def: plugin: API: GST_PLUGIN_DEPENDENCY_FLAG_PATHS_ARE_RELATIVE_TO_EXE When a plugin declares a dependency using this flag, all the relative paths are considered to be relative to the path of the main executable. We try to determine the path of the executable portably, with implementations provided for Linux, Windows and Mac. If retrieval of the path fails, we will not detect changes. In order for the main executable path to be the same when scanning a plugin in a child process, a new variable is exposed in gst_private.h, _gst_executable_path https://bugzilla.gnome.org/show_bug.cgi?id=788152 2017-09-21 14:13:47 +0300 Vivia Nikolaidou * scripts/git-update.sh: git-update: Also build $EXTRA_MODULES Doing a git pull but not autogen.sh / make is not consistent behaviour. https://bugzilla.gnome.org/show_bug.cgi?id=787981 2017-09-19 23:58:26 +0200 Mathieu Duponchelle * tools/gst-inspect.c: gst-inspect: Print GstValueArray properties nicely https://bugzilla.gnome.org/show_bug.cgi?id=787924 2017-04-01 07:15:22 +0200 Mathieu Duponchelle * plugins/elements/gstmultiqueue.c: Multiqueue: don't allow dropping SEGMENT_DONE events https://bugzilla.gnome.org/show_bug.cgi?id=780795 2017-09-17 18:55:19 +0300 Sebastian Dröge * gst/gstinfo.h: info: GstStackTraceFlags were added in 1.12 2017-08-31 13:05:57 +0100 Tim-Philipp Müller * plugins/elements/gstqueue.c: * plugins/elements/gstqueue2.c: plugins: use new gst_buffer_list_calculate_size() 2017-08-31 12:54:55 +0100 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gstbufferlist.c: * gst/gstbufferlist.h: * tests/check/gst/gstbufferlist.c: * win32/common/libgstreamer.def: bufferlist: add gst_buffer_list_calculate_size() Returns size in bytes. 2017-08-30 13:50:33 +0100 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gstbufferlist.c: * gst/gstbufferlist.h: * tests/check/gst/gstbufferlist.c: * win32/common/libgstreamer.def: bufferlist: add gst_buffer_list_get_writable() Ensures buffer is writable. Useful if we want to change metadata on it such as timestamps. https://bugzilla.gnome.org/show_bug.cgi?id=750241 2017-09-12 18:30:00 +0300 Michael Shigorin * gst/gstconfig.h.in: gstconfig.h.in: initial e2k arch support This makes gstreamer buildable on Elbrus 2000. https://bugzilla.gnome.org/show_bug.cgi?id=787587 2017-09-09 16:14:05 +0300 Sebastian Dröge * gst/gstinfo.h: info: GstDebugColorFlags are flags, not an enum Annotate as such. 2017-09-06 10:01:58 -0400 Nicolas Dufresne * plugins/elements/gstidentity.c: * plugins/elements/gstidentity.h: identity: Add a drop-allocation property When enabled, this property will make the allocation query fail. This is the same as one could have done using a tee before the tee started implementing the allocation query. https://bugzilla.gnome.org/show_bug.cgi?id=730758 2017-09-05 15:57:51 -0400 Nicolas Dufresne * plugins/elements/gsttee.c: * tests/check/elements/tee.c: tee: Allocate one more buffer when multi-plexing This extra buffer ensure that the downstream threads are not starved when multiplexing a stream. https://bugzilla.gnome.org/show_bug.cgi?id=730758 2017-09-05 15:45:33 -0400 Nicolas Dufresne * tests/check/elements/tee.c: tee: Add test for the allocation query https://bugzilla.gnome.org/show_bug.cgi?id=730758 2017-08-08 17:39:43 -0400 Nicolas Dufresne * plugins/elements/gsttee.c: tee: Implement allocation query aggregation This will aggregate allocation params, pool and will keep all meta that has no parameters. https://bugzilla.gnome.org/show_bug.cgi?id=730758 2017-08-08 17:35:19 -0400 Nicolas Dufresne * plugins/elements/gsttee.c: tee: Deprecate alloc-pad property It has no effect, not implemented, and would lead to bad rendering. https://bugzilla.gnome.org/show_bug.cgi?id=730758 2017-09-04 12:20:43 +0200 Miguel París * tests/check/gst/gstpad.c: pad: add test to check handled and drop probes https://bugzilla.gnome.org/show_bug.cgi?id=787243 2017-09-04 14:33:29 +0200 Edward Hervey * gst/gstpad.c: pad: Don't call remaining probes after they return DROPPED|HANDLED If multiple probes are set on a pad and one probe returns either GST_PAD_PROBE_HANDLED or GST_PAD_PROBE_DROPPED we need to stop calling the remaining probes. https://bugzilla.gnome.org/show_bug.cgi?id=787243 2017-08-26 13:44:38 -0300 Thibault Saunier * gst/gstvalue.c: * tests/check/gst/gstvalue.c: value: Handle serializing NULL GValueArray Concider them as an empty array and do not segfault... https://bugzilla.gnome.org/show_bug.cgi?id=786670 2017-08-24 16:00:42 +0100 Tim-Philipp Müller * libs/gst/base/gstbaseparse.c: baseparse: fix taglist update spam We would constantly re-post the taglist because posted_avg_rate only gets set to avg_bitrate if parse->priv->post_avg_bitrate is true, so if it's false the posted rate will always differ from the current average rate and we'd queue an update, which leads to us spamming downstream and the application with taglist updates. Fix this by only queuing an update if the average rate will actually be posted. These taglists updates could cause expensive operations on the application side, e.g. in Totem. https://bugzilla.gnome.org/show_bug.cgi?id=786561 2017-08-17 12:23:10 +0100 Tim-Philipp Müller * README: * common: Automatic update of common submodule From 48a5d85 to 3f4aa96 2017-08-17 14:13:39 +0300 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gstdeviceprovider.c: * gst/gstdeviceprovider.h: * gst/gstelement.c: * gst/gstelement.h: * win32/common/libgstreamer.def: element/deviceprovider: Add instance getter functions for class properties That is, the metadata and pad templates. Using instance getters is easier to deal with for bindings, especially autogenerated ones. 2017-08-16 22:47:31 +0300 Sebastian Dröge * plugins/elements/gstidentity.c: * plugins/elements/gstidentity.h: identity: Return FLUSHING instead of EOS and don't start waiting for anything if currently flushing Otherwise we might try unscheduling a clock id (that does not exist yet), then the streaming thread waits for id and the state change never continues because the streaming thread is blocked. Also shutting down and flushing and similar should return FLUSHING, not EOS. The stream is not over, we're just not accepting any buffers anymore. 2017-08-14 11:01:19 +0100 Tim-Philipp Müller * gst/gstallocator.c: * win32/common/libgstreamer.def: allocator: Hide private sysmem GType func Was never exposed in any header file, only exported by accident. 2017-08-11 21:17:06 +0200 Carlos Rafael Giani * configure.ac: configure: Add switches for enabling/disabling libdw and libunwind https://bugzilla.gnome.org/show_bug.cgi?id=778193 2017-08-13 10:50:05 +0100 Tim-Philipp Müller * libs/gst/check/libcheck/libcompat/libcompat.h: libcheck: fix build failure Need to define CK_DLL_EXP to extern as well in libcompat.h which gets included before the internal-check.h where the other fallback definition for CK_DLL_EXP is. duplicate symbol _check_minor_version in: libcheckinternal.a(libcheckinternal_la-check.o) libcheckinternal.a(libcheckinternal_la-check_log.o) 2017-08-11 11:12:09 +0300 Sebastian Dröge * plugins/elements/gstqueue.c: queue: Allow re-usability after EOS After EOS, it is possible for a pad to be resetted by sending either a STREAM_START or SEGMENT event Mimic the same behaviour when receiving STREAM_START/SEGMENT events in queue if we are EOS'd https://bugzilla.gnome.org/show_bug.cgi?id=786056 2017-08-10 13:32:43 +0100 Tim-Philipp Müller * libs/gst/check/libcheck/meson.build: * meson.build: meson: hide symbols by default unless explicitly exported 2017-08-10 11:15:26 +0100 Tim-Philipp Müller * libs/gst/check/gstbufferstraw.h: * libs/gst/check/gstcheck.h: * libs/gst/check/gstconsistencychecker.h: * libs/gst/check/gstharness.h: * libs/gst/check/gsttestclock.c: * libs/gst/check/gsttestclock.h: * libs/gst/check/libcheck/check.h.in: libs: check: sprinkle some GST_EXPORT Have to modify libcheck header a bit to avoid warnings about duplicate 'extern extern'. Also needs some additions to the libcheck meson.build file to define CK_EXP_DLL when building the static libcheck. 2017-08-08 12:56:24 +0100 Tim-Philipp Müller * gst/gstutils.c: utils: fix g-ir-scanner warning about bogus transfer annotations for vararg parameters. Vararg functions are not introspectable anyway, so might just as well mark them as '(skip)' while we're at it. gstutils.c:2611: Warning: Gst: invalid "transfer" annotation for : only valid for object and GVariant types 2017-08-09 16:15:23 +0200 Edward Hervey * plugins/elements/gstqueue2.c: queue2: Allow re-usability after EOS After EOS, it is possible for a pad to be resetted by sending either a STREAM_START or SEGMENT event Mimic the same behaviour when receiving STREAM_START/SEGMENT events in queue2 if we are EOS'd https://bugzilla.gnome.org/show_bug.cgi?id=786056 2017-08-09 10:51:39 +0200 Edward Hervey * plugins/elements/gstmultiqueue.c: * plugins/elements/gstqueue.c: * plugins/elements/gstqueue2.c: plugins: *queue* elements: Handle STREAM_START in EOS situation When queue-like elements are in "EOS" situation (received GST_FLOW_EOS from downstream or EOS was pushed), they drain buffers/events that wouldn't be processed anyway and let through events that might modify the EOS situation. Previously only GST_EVENT_EOS and GST_EVENT_SEGMENT events were let through, but we also need to allow GST_EVENT_STREAM_START to go through since it resets the EOS state of pads since 1.6 https://bugzilla.gnome.org/show_bug.cgi?id=786034 2017-08-08 21:19:32 +0300 Sebastian Dröge * gst/gstutils.c: utils: Skip gst_calculate_linear_regression() in bindings 2017-08-07 12:24:37 +0200 Edward Hervey * plugins/elements/gstqueue2.c: queue2: Handle buffering levels on NOT_LINKED When downstream returns NOT_LINKED, we return the buffering level as being 100%. Since the queue is no longer being consumed/used downstream, we want applications to essentially "ignore" this queue for buffering purposes. If other streams are still being used, those stream buffering levels will be used. If none are used, upstream will post an error message on the bus indicating no streams are used. https://bugzilla.gnome.org/show_bug.cgi?id=785799 2017-08-07 11:23:36 +0100 Tim-Philipp Müller * docs/gst/meson.build: * docs/libs/meson.build: meson: fix gtk-doc invocation Argument is called "scanobjs_args", and we were missing a quote. 2017-08-07 11:06:58 +0100 Tim-Philipp Müller * gst/meson.build: * meson.build: meson: fix a few warnings 2017-08-07 10:33:32 +0100 Tim-Philipp Müller * pkgconfig/meson.build: meson: add -lm to gstreamer-check-1.0 pkgconfig file Fixes warning with meson from git about LIBM not being defined in the configuration_data. 2017-08-02 21:02:32 +0300 Sebastian Dröge * gst/gstpad.c: pad: Recheck sticky events after non-blocking buffer probes and blocking event probes Without the former, event changes (e.g. setting a pad offset) does not take effect for the current buffer but only for the next one. Without the latter, non-blocking event probes would not see any updated events yet. 2017-07-29 10:28:03 +0100 Tim-Philipp Müller * gst/gstinfo.c: info: fix build with gst debugging disabled 2017-07-17 21:03:11 +0300 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gstinfo.c: * gst/gstinfo.h: * win32/common/libgstreamer.def: debug: Add a memory ringbuffer based debug logger This stores debug logs in memory per thread and uses up to a configurable amount of bytes per thread for the logs. Inactive threads are timed out after a configurable amount of time. https://bugzilla.gnome.org/show_bug.cgi?id=785035 2017-07-28 17:27:18 +0100 Sebastian Dröge * gst/gstsegment.c: segment: Add missing out annotations for various parameters 2017-07-26 14:17:46 +0100 Tim-Philipp Müller * plugins/elements/gstdownloadbuffer.c: * plugins/elements/gstdownloadbuffer.h: downloadbuffer: remove unused struct member This was used in queue2 when handling in coming serialized queries, but downloadbuffer just refuses serialized queries. 2015-03-10 16:42:44 +0000 Luis de Bethencourt * libs/gst/check/libcheck/check_run.c: check: duplicate code branches CID #1226446 2017-07-26 11:15:58 +0300 George Kiagiadakis * gst/gstelement.c: element: document that gst_element_continue_state needs to be called with the STATE_LOCK It internally calls gst_element_change_state(), which requires the STATE_LOCK https://bugzilla.gnome.org/show_bug.cgi?id=785431 2017-07-20 17:31:41 +0100 Tim-Philipp Müller * tools/gst-launch.c: gst-launch: fix compiler warnings for SIGHUP handlers on windows Fix unused variable/function compiler warnings on windows. The SIGHUP handling is only available under unix. https://bugzilla.gnome.org/show_bug.cgi?id=783661 2017-07-20 14:17:48 +0200 Edward Hervey * plugins/elements/gstmultiqueue.c: multiqueue: Fix access to NULL pointer sq can be NULL. Also fix commit message (it's the queue we are iterating over that we are logging, not the one passed as argument). CID #1415569 2017-07-03 15:17:33 +0900 Seungha Yang * plugins/elements/gstmultiqueue.c: multiqueue: Calculate interleave only within each streaming thread ... and use the biggest interleave value among streaming threads. This is to optimize multiqueue size adaptation on adaptive streaming use case with "use-interleave" property. https://bugzilla.gnome.org/show_bug.cgi?id=784448 2017-07-15 12:40:28 +0100 Tim-Philipp Müller * po/meson.build: meson: po: use glib preset and read language list from LINGUAS Supported since meson 0.37, so we can use it now. 2017-07-15 11:54:18 +0100 Tim-Philipp Müller * gst/gstminiobject.c: miniobject: don't modify memory if it's clearly not a valid miniobject Add back function guard that checks the refcount in a read-only operation first, and bail out without modifying the passed-in memory if it's clearly not a valid mini object. Otherwise we probably cause more harm than good. We keep the second sanity check based on the 'real refcount' at the time of the unref around for now too. https://bugzilla.gnome.org/show_bug.cgi?id=784383 2017-07-14 16:56:54 +0100 Tim-Philipp Müller * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasesrc.h: basesrc: deprecate non-functional "typefind" property https://bugzilla.gnome.org/show_bug.cgi?id=736565 2017-07-10 16:52:38 +0200 Francisco Velazquez * tests/benchmarks/complexity.c: * tests/benchmarks/complexity.scm: benchmark: fix complexity benchmark Make complexity benchmark code work for complexity > 1 https://bugzilla.gnome.org/show_bug.cgi?id=784754 2017-07-14 16:12:25 +0100 Tim-Philipp Müller * configure.ac: * gst/gstpluginloader.c: * meson.build: win32: find plugin scanner in libexecdir subdir as configured https://bugzilla.gnome.org/show_bug.cgi?id=679115 2017-07-13 21:52:34 +0800 Jason Lin * libs/gst/base/gstbasesink.c: basesink: fix buffer leaks if preroll failed buffer is not unreferened if preroll failed :Detailed Notes: - Problem : video freeze when switching from pause to 1/2-FF repeatedly - RootCause : buffer leaks in basesink - Solution : unref the buffer if prerolled failed :Testing Preformed: How to Test : pause -> 1/2 FF -> resume -> pause -> 1/2 FF ... https://bugzilla.gnome.org/show_bug.cgi?id=784932 2017-06-11 15:15:13 +0000 Graham Leggett * docs/gst/running.xml: * tools/gst-launch-1.0.1: * tools/gst-launch.c: Generate a gstreamer pipeline diagram on SIGHUP. Useful for debugging a pipeline that refuses to enter a given state. https://bugzilla.gnome.org/show_bug.cgi?id=783661 2017-06-26 11:46:39 +0300 George Kiagiadakis * libs/gst/base/gstbasesrc.c: basesrc: forward SINK_MESSAGE events downstream https://bugzilla.gnome.org/show_bug.cgi?id=784551 2017-07-11 14:56:03 -0400 Nicolas Dufresne * meson.build: meson: Fix bashcomp installation For some reason the double quotes ended up in the path, hence the helper where installed at "."/share/... 2017-07-11 14:55:42 -0400 Nicolas Dufresne * data/bash-completion/helpers/meson.build: * meson.build: * plugins/elements/meson.build: meson: Use join_paths and .set_quoted where possible 2017-07-11 16:15:16 +0100 Tim-Philipp Müller * pkgconfig/meson.build: meson: pkgconfig: add libunwind/libdw to gstreamer-1.0 Requires.private https://bugzilla.gnome.org/show_bug.cgi?id=784795 2017-07-11 15:29:44 +0200 Edward Hervey * configure.ac: * pkgconfig/gstreamer-uninstalled.pc.in: * pkgconfig/gstreamer.pc.in: pkgconfig: Add private requirements Add libunwind and dw to the .pc Requires.private. Fixes static library compilation if gstreamer was compiled with one of those dependencies https://bugzilla.gnome.org/show_bug.cgi?id=784795 2017-07-09 21:20:03 +0200 Stefan Sauer * libs/gst/base/gstbasesink.c: basesink: use GST_CLOCK_TIME macros for readability Replace some -1 comparison with GST_CLOCK_TIME macros. 2017-07-09 21:16:44 +0200 Stefan Sauer * libs/gst/base/gstcollectpads.c: collectpads: correct some comments and add more logging Add more logging to analyze event handling (especially failure cases). 2017-05-01 13:35:09 -0700 Scott D Phillips * tools/gst-stats.c: tools: gst-stats: Use standard character escapes Having '\e' expand to '\x1b' is a gnu extension. I didn't see any document describing the behavior, but gcc also seems to expand '\[' to '['. https://bugzilla.gnome.org/show_bug.cgi?id=782028 2017-07-07 12:06:44 +0100 Tim-Philipp Müller * gst/parse/meson.build: * meson.build: meson: find python3 via python3 module And rename python3 variable in meson build files for clarity. https://bugzilla.gnome.org/show_bug.cgi?id=783198 2017-07-05 13:20:19 +0100 Tim-Philipp Müller * gst/meson.build: * meson_options.txt: * plugins/meson.build: * tests/check/meson.build: meson: add option to disable tracer hooks 2017-07-05 13:19:00 +0100 Tim-Philipp Müller * tests/check/gst/gstmemory.c: tests: memory: skip test that depends on debug system if it's disabled 2017-07-05 13:17:49 +0100 Tim-Philipp Müller * gst/gsttracerutils.h: tracing: fix build with tracer hooks disabled 2017-07-03 09:03:24 +0100 Tim-Philipp Müller * gst/gstminiobject.c: miniobject: make refcount tracing and debug logging reliable Tracing of the refcounts wasn't thread-safe, and log output of the refcount values before/after wasn't reliable. https://bugzilla.gnome.org/show_bug.cgi?id=784383 2017-07-03 21:06:24 +0100 Tim-Philipp Müller * gst/gstplugin.c: plugin: clarify code that deduces plugin name from file name Make the final else branch explicit for clarity. https://bugzilla.gnome.org/show_bug.cgi?id=783333 2017-06-27 07:44:17 +0200 Stefan Sauer * libs/gst/base/gstbytereader-docs.h: docs: add a missing const in bytereader docs This syncs the prototype with gstbytereader.h 2017-06-29 10:50:50 -0400 Nicolas Dufresne * libs/gst/base/gstbasesrc.c: basesrc: Removed unused private member qos_enabled 2017-06-26 14:09:20 -0400 Nicolas Dufresne * libs/gst/base/gstbasesrc.c: basesrc: Don't reallocate buffers when flushing Instead of using gst_buffer_pool_set_active() when flushing, use gst_buffer_pool_set_flushing(), this avoids uneeded reallocation of the buffers. 2017-06-01 10:36:26 -0400 Nicolas Dufresne * libs/gst/base/gstbasesrc.c: basesrc: Don't hold LIVE_LOCK in create/alloc/fill Holding this lock on live source prevents the source from changing the caps in ::create() without risking a deadlock. This has consequences as the LIVE_LOCK was replacing the STREAM_LOCK in many situation. As a side effect: - We no longer need to unlock when doing play/pause as the LIVE_LOCK isn't held. We then let the create() call finish, but will block if the state have changed meanwhile. This has the benefit that wait_preroll() calls in subclass is no longer needed. - We no longer need to change the state to unlock, simplifying the set_flushing() interface - We need different handling for EOS depending if we are in push or pull mode. This patch also document the locking of each private class member and the locking order. https://bugzilla.gnome.org/show_bug.cgi?id=783301 2017-06-01 10:01:13 -0400 Nicolas Dufresne * libs/gst/base/gstbasesrc.c: basesrc: Protect access to pool and allocator This was only partly protected by the object lock. Always take the object lock to access the currently configured pool and allocator. https://bugzilla.gnome.org/show_bug.cgi?id=783301 2017-06-29 08:30:50 +0900 Jimmy Ohn * tools/gst-inspect.c: gst-inspect: Fix memory leak in print_pad_templates_info gst_static_caps_get function returned allocated memory. So, It should be free using gst_caps_unref. https://bugzilla.gnome.org/show_bug.cgi?id=784311 2017-06-29 09:10:04 +0100 Tim-Philipp Müller * meson.build: meson: check for ppoll() as well 2017-06-27 09:59:52 -0400 Thibault Saunier * tools/meson.build: meson: Add configinc as include_directory in tools/ Otherwise when the glib is used as a subproject config.h is the glib one, not ours. 2017-06-23 15:13:16 -0400 Thibault Saunier * meson.build: meson: Allow using glib as a subproject 2017-06-28 09:54:56 +0200 Xabier Rodriguez Calvar * docs/gst/gstreamer-sections.txt: * gst/gstprotection.c: * gst/gstprotection.h: * win32/common/libgstreamer.def: protection: add function to filter system ids gst_protection_filter_systems_by_available_decryptors() takes an array of strings and returns a new array of strings filtered by the available decryptors for them so the ones you get are the ones that you should be able to decrypt. https://bugzilla.gnome.org/show_bug.cgi?id=770107 2017-06-23 11:11:44 +0100 Tim-Philipp Müller * meson.build: meson: fix with-package-name option https://bugzilla.gnome.org/show_bug.cgi?id=784082 2017-06-02 00:52:37 +0200 Matej Knopp * gst/gstplugin.c: gstplugin: remove gst prefix when loading plugin on MSVC When building with Meson and MSVC, our plugins don't have a 'libgst' suffix and are just 'gstfoo.dll', so look for that too. https://bugzilla.gnome.org/show_bug.cgi?id=783333 2017-06-21 10:48:52 -0400 Nicolas Dufresne * libs/gst/base/gstbaseparse.c: baseparse: sinkcaps can be NULL in default caps negotiation This was causing harmless assertion about the unreffed caps not being of type caps. https://bugzilla.gnome.org/show_bug.cgi?id=784041 2017-06-20 11:05:41 -0400 Thibault Saunier * win32/common/libgstreamer.def: win32: Update .def file 2017-06-14 17:12:32 -0400 Thibault Saunier * docs/gst/gstreamer-sections.txt: * gst/gstutils.c: * gst/gstutils.h: utils: Add a function to get a string representation of GstStateChange API: gst_state_change_get_name https://bugzilla.gnome.org/show_bug.cgi?id=783798 2017-06-15 10:38:29 -0400 Thibault Saunier * gst/gstelement.h: * gst/gstpipeline.c: element: Add missing values for "to same" state changes And handle newly added GstStateChange values in GstPipeline https://bugzilla.gnome.org/show_bug.cgi?id=783798 2017-06-20 15:57:47 +0900 Heekyoung Seo * gst/gstutils.c: utils: Fix leak in failed case of regression overflow checking https://bugzilla.gnome.org/show_bug.cgi?id=783978 2017-06-20 16:10:07 +0900 Heekyoung Seo * gst/gstregistrychunks.c: registrychunk: Fix leak in failed case of reading plugin dependency string https://bugzilla.gnome.org/show_bug.cgi?id=783978 2017-06-20 10:00:16 +0300 Sebastian Dröge * libs/gst/controller/gsttimedvaluecontrolsource.c: * libs/gst/controller/gsttimedvaluecontrolsource.h: * win32/common/libgstcontroller.def: controller: Export boxed type copy/free functions for GstControlPoint 2017-06-20 09:57:01 +0300 Sebastian Dröge * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbaseparse.h: * libs/gst/base/gstflowcombiner.c: * libs/gst/base/gstflowcombiner.h: * win32/common/libgstbase.def: base: Export boxed type copy/free functions for the remaining types 2017-06-16 13:34:00 +0000 Andrejs Vasiljevs * libs/gst/net/gstptpclock.c: ptp: Unref timeout GSource for delay requests https://bugzilla.gnome.org/show_bug.cgi?id=783864 2017-06-15 10:51:50 +0100 Tim-Philipp Müller * gst/gsturi.c: * gst/gsturi.h: * tests/check/gst/gsturi.c: * tests/check/meson.build: meson: fix tests build with --werror Need to pass -DGST_DISABLE_DEPRECATED to avoid warnings when testing deprecated API such as gst_uri_construct(). Also remove #ifndef GST_DISABLE_DEPRECATED guard from header file, we don't use those any more for functions, the GST_DEPRECATED_FOR macro is enough. 2017-06-14 17:36:57 +0200 Dimitrios Katsaros * gst/gsturi.c: * gst/gsturi.h: * tests/check/gst/gsturi.c: gsturi: Fixed incorrect escaping of path as a generic string The gst_uri_construct function was escaping the location string as a generic uri string. This is incorrect since the slash('/') characters are reserved for use in this exact case. The patch changes the escape_string function mode to handle the path correctly. I have deleted the escape_string function since it is no longer being used and have created a unit test for the function. I have also deprecated this function in favour of the GstUri API. https://bugzilla.gnome.org/show_bug.cgi?id=783787 2017-06-07 11:42:28 -0400 Thibault Saunier * tests/check/meson.build: meson: Do not use path separator in test names Avoiding warnings like: WARNING: Target "elements/audioamplify" has a path separator in its name. 2017-05-31 20:40:00 +0300 Sebastian Dröge * gst/gstbin.c: bin: Put correct annotations on gst_bin_add() too 2017-05-23 00:51:12 +0200 Olivier Crête * libs/gst/base/gstbasesrc.c: basesrc: Hold object lock while updating latency Otherwise in gst_base_src_query_latency(), it ended up sometimes thinking it wasn't -1 when it was actually. 2017-05-22 12:01:41 +0300 Sebastian Dröge * gst/gstobject.c: object: Add missing annotations to get_value_array() / get_value_g_array() Same as already used in GstControlBinding. 2017-05-21 18:11:36 +0100 Tim-Philipp Müller * config.h.meson: meson: actually remove config.h.meson as well 2017-05-21 19:16:57 +0300 Sebastian Dröge * gst/gstprotection.c: protection: Fix annotations for gst_protection_select_system() 2017-05-21 17:04:10 +0200 Olivier Crête * gst/gstplugin.c: plugin: Stop plugin symbol name at first . This is because the python plugin ends up named libgstpython.cpython-35m-x86_64-linux-gnu.so so we need to stop at the first dot. https://bugzilla.gnome.org/show_bug.cgi?id=782924 2017-05-21 14:26:01 +0100 Tim-Philipp Müller * Makefile.am: * gst/meson.build: * meson.build: meson: don't need config.h.meson any more Meson does the largefile support automatically nowadays, and can generate a config.h from configuration_data() without a template as input. 2017-05-21 09:02:54 +0100 Tim-Philipp Müller * common: * meson.build: * tests/check/meson.build: meson: make C++ compiler optional It's only used to build tests to see if our headers are C++ clean. 2017-05-20 17:57:39 +0100 Tim-Philipp Müller * libs/gst/check/meson.build: meson: check: generate .gir file https://bugzilla.gnome.org/show_bug.cgi?id=782173 2017-05-20 19:42:51 +0300 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gstparse.c: * gst/gstparse.h: * win32/common/libgstreamer.def: parse: Make gst_parse_context_copy() public for bindings 2017-05-20 16:44:14 +0100 Tim-Philipp Müller * tools/Makefile.am: tools: dist new gst-stats man page Fixes meson build from tarball. 2017-05-20 16:43:39 +0100 Tim-Philipp Müller * libs/gst/helpers/Makefile.am: Dist meson ptp helper install script Fixes meson build from tarball. 2017-05-20 13:24:18 +0200 Thibault Saunier * plugins/tracers/gstleaks.c: * plugins/tracers/gstleaks.h: leaks: Handle subclasses in filters even for unhandled/lazy loaded types Using typename in the set of unhandled types instead of the quark so that we also handle subclasses as with other filters. 2017-05-19 19:22:27 +0200 Matthew Waters * gst/gstdebugutils.c: debugutils: add missing E character to the legend The E character on pads indicates the presence of the EOS flag. 2017-05-17 21:50:25 +0200 Matej Knopp * gst/gstplugin.c: gst-plugin: allow '-' in plugin file name '-' will be translated to underscore when determining symbol name https://bugzilla.gnome.org/show_bug.cgi?id=782756 2016-06-20 15:58:59 +0200 Christoph Reiter * gst/gstbin.c: * tests/check/gst/gstbin.c: * tests/check/gst/gstclock.c: * tests/check/gst/gstsystemclock.c: gst: ref_sink() some more floating references returned by g_object_new() https://bugzilla.gnome.org/show_bug.cgi?id=743062 2017-05-15 18:58:38 +0300 Sebastian Dröge * gst/gstbufferpool.c: * gst/gstdevicemonitor.c: * gst/gststreamcollection.c: * gst/gststreams.c: * gst/gsttracerrecord.c: * gst/gsttracerutils.c: * libs/gst/net/gstnettimeprovider.c: gst: Clear floating flag in constructor of all GstObject subclasses that are not owned by any parent I.e. most of them unfortunately. https://bugzilla.gnome.org/show_bug.cgi?id=743062 2017-05-15 14:34:57 +0300 Sebastian Dröge * gst/gstallocator.c: allocator: ref_sink() the global sysmem allocator after creation It's not owned by the first one to ask for it, but by this very code. https://bugzilla.gnome.org/show_bug.cgi?id=743062 2017-05-15 14:32:48 +0300 Sebastian Dröge * gst/gstbus.c: * gst/gstclock.c: * gst/gstcontrolsource.c: * gst/gstsystemclock.c: * gst/gsttask.c: * gst/gsttaskpool.c: * libs/gst/base/gstcollectpads.c: * libs/gst/check/gsttestclock.c: * libs/gst/controller/gstinterpolationcontrolsource.c: * libs/gst/controller/gstlfocontrolsource.c: * libs/gst/controller/gsttriggercontrolsource.c: * libs/gst/net/gstnetclientclock.c: * libs/gst/net/gstptpclock.c: * tests/check/gst/gstcontroller.c: gst: Don't ref_sink() GstObject subclasses in instance_init/constructor This is something bindings can't handle and it causes leaks. Instead move the ref_sink() to the explicit, new() constructors. This means that abstract classes, and anything that can have subclasses, will have to do ref_sink() in their new() function now. Specifically this affects GstClock and GstControlSource. https://bugzilla.gnome.org/show_bug.cgi?id=743062 2017-05-15 14:32:00 +0300 Sebastian Dröge * gst/gstdevicemonitor.c: * gst/gstdeviceprovider.c: * gst/gstelement.c: * gst/gstghostpad.c: * gst/gstobject.c: * gst/gstpadtemplate.c: * gst/gstplugin.c: * gst/gstregistry.c: * gst/gststreamcollection.c: * gst/gststreams.c: * gst/gsttracerrecord.c: * gst/gstutils.c: * libs/gst/controller/gstproxycontrolbinding.c: * libs/gst/net/gstnettimeprovider.c: gst: Correctly annotate functions taking floating reference parameters and returning floating references https://bugzilla.gnome.org/show_bug.cgi?id=702960 2017-05-15 14:29:05 +0300 Sebastian Dröge * gst/gstbin.c: * gst/gstelement.c: * gst/gstghostpad.c: * gst/gstregistry.c: * gst/gstutils.c: gst: Handle floating references consistently If a function takes a floating reference parameter, it should also be sinked in error cases. Otherwise the function behaves differently between error and normal cases, which is impossible for bindings to handle. https://bugzilla.gnome.org/show_bug.cgi?id=747990 2015-07-10 15:36:59 +0900 Vineeth TM * gst/gstbin.c: * gst/gstelement.c: * gst/gstobject.c: gst: Fix floating reference inconsistencies in error cases If a function takes a floating reference and sinks it, it should also do that in error cases. I.e. call ref_sink() followed by unref(). Otherwise the reference counting behaviour of the function will be different between the good and the error case, and simply inconsistent. https://bugzilla.gnome.org/show_bug.cgi?id=747990 2017-05-16 13:31:06 -0400 Nicolas Dufresne * gst/gstconfig.h.in: Also use default visibility for plugins symbol 2017-05-16 13:29:38 -0400 Nicolas Dufresne * config.h.meson: * configure.ac: * plugins/elements/Makefile.am: * plugins/elements/meson.build: * plugins/tracers/Makefile.am: Remove plugin specific static build option Static and dynamic plugins now have the same interface. The standard --enable-static/--enable-shared toggle are sufficient. 2017-05-16 00:02:11 +0100 Tim-Philipp Müller * tests/check/meson.build: meson: fix gstprintf test linking Must link against gstprint helper lib to use private symbol. 2017-05-10 13:03:31 +0100 Tim-Philipp Müller * gst/gstconfig.h.in: gstconfig.h: use default visibility for GST_EXPORT for gcc/clang too This will be needed later when we switch to using -fvisibility=hidden. 2017-05-10 13:07:31 +0100 Tim-Philipp Müller * gst/gstconfig.h.in: * gst/gstobject.c: * gst/gstobject.h: * gst/gstsegment.c: * gst/gstsegment.h: gst: add GST_DEPRECATED_FOR() and also export deprecated symbols Can't use a #ifndef GST_DISABLE_DEPRECATED guard around deprecated functions any more, as they won't get exported then. Besides, we get a nicer error message from the compiler telling us what function to use instead this way. 2017-05-10 10:56:16 +0100 Tim-Philipp Müller * gst/Makefile.am: * gst/gst.h: * gst/gst_private.h: * gst/gstallocator.h: * gst/gstatomicqueue.h: * gst/gstbin.h: * gst/gstbuffer.h: * gst/gstbufferlist.h: * gst/gstbufferpool.h: * gst/gstbus.h: * gst/gstcaps.h: * gst/gstcapsfeatures.h: * gst/gstchildproxy.h: * gst/gstclock.h: * gst/gstcontext.h: * gst/gstcontrolbinding.h: * gst/gstcontrolsource.h: * gst/gstdatetime.h: * gst/gstdebugutils.h: * gst/gstdevice.h: * gst/gstdevicemonitor.h: * gst/gstdeviceprovider.h: * gst/gstdeviceproviderfactory.h: * gst/gstdynamictypefactory.h: * gst/gstelement.h: * gst/gstelementfactory.h: * gst/gstenumtypes.h.template: * gst/gsterror.h: * gst/gstevent.h: * gst/gstformat.h: * gst/gstghostpad.h: * gst/gstinfo.h: * gst/gstiterator.h: * gst/gstmemory.h: * gst/gstmessage.h: * gst/gstmeta.h: * gst/gstminiobject.h: * gst/gstobject.h: * gst/gstpad.h: * gst/gstpadtemplate.h: * gst/gstparamspecs.h: * gst/gstparse.h: * gst/gstpipeline.h: * gst/gstplugin.h: * gst/gstpluginfeature.h: * gst/gstpoll.h: * gst/gstpreset.h: * gst/gstprotection.h: * gst/gstquery.h: * gst/gstregistry.h: * gst/gstsample.h: * gst/gstsegment.h: * gst/gststreamcollection.h: * gst/gststreams.h: * gst/gststructure.h: * gst/gstsystemclock.h: * gst/gsttaglist.h: * gst/gsttagsetter.h: * gst/gsttask.h: * gst/gsttaskpool.h: * gst/gsttoc.h: * gst/gsttocsetter.h: * gst/gsttracer.h: * gst/gsttracerfactory.h: * gst/gsttracerrecord.h: * gst/gsttypefind.h: * gst/gsttypefindfactory.h: * gst/gsturi.h: * gst/gstutils.h: * gst/gstvalue.h: gst: mark symbols explicitly for export with GST_EXPORT One omission: gst_allocator_sysmem_get_type() was exported but never in any public header file. 2017-05-10 00:11:10 +0100 Tim-Philipp Müller * common: * libs/gst/controller/Makefile.am: * libs/gst/controller/controller_mkenum.py: * libs/gst/controller/gstargbcontrolbinding.h: * libs/gst/controller/gstdirectcontrolbinding.h: * libs/gst/controller/gstinterpolationcontrolsource.h: * libs/gst/controller/gstlfocontrolsource.h: * libs/gst/controller/gstproxycontrolbinding.h: * libs/gst/controller/gsttimedvaluecontrolsource.h: * libs/gst/controller/gsttriggercontrolsource.h: libs: controller: mark symbols explicitly for export with GST_EXPORT 2017-05-09 16:19:31 +0100 Tim-Philipp Müller * libs/gst/base/gstadapter.h: * libs/gst/base/gstbaseparse.h: * libs/gst/base/gstbasesink.h: * libs/gst/base/gstbasesrc.h: * libs/gst/base/gstbasetransform.h: * libs/gst/base/gstbitreader.h: * libs/gst/base/gstbytereader.h: * libs/gst/base/gstbytewriter.h: * libs/gst/base/gstcollectpads.h: * libs/gst/base/gstdataqueue.h: * libs/gst/base/gstflowcombiner.h: * libs/gst/base/gstpushsrc.h: * libs/gst/base/gstqueuearray.h: * libs/gst/base/gsttypefindhelper.h: libs: base: mark symbols explicitly for export with GST_EXPORT 2017-05-09 16:01:46 +0100 Tim-Philipp Müller * libs/gst/net/gstnetaddressmeta.h: * libs/gst/net/gstnetclientclock.h: * libs/gst/net/gstnetcontrolmessagemeta.h: * libs/gst/net/gstnettimepacket.h: * libs/gst/net/gstnettimeprovider.h: * libs/gst/net/gstptpclock.h: libs: net: mark symbols explicitly for export with GST_EXPORT 2017-05-13 18:30:27 +0100 Tim-Philipp Müller * meson.build: * meson_options.txt: meson: add options to set package name and origin https://bugzilla.gnome.org/show_bug.cgi?id=782172 2017-05-13 18:19:05 +0200 Stefan Sauer * docs/libs/Makefile.am: docs: use the full path to ignore dirs 2017-05-12 17:49:25 +0200 Stefan Sauer * libs/gst/check/gstharness.c: docs: remove stray ',\' from doc comment 2017-02-25 12:18:14 +0200 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gstbuffer.c: * gst/gstbuffer.h: * win32/common/libgstreamer.def: buffer: Add GstReferenceTimestampMeta This is a meta that generically allows to attach additional reference timestamps to a buffer, that don't have to relate to the pipeline clock in any way. Examples of this could be an NTP timestamp when the media was captured, a frame counter on the capture side or the (local) UNIX timestamp when the media was captured. https://bugzilla.gnome.org/show_bug.cgi?id=779213 2017-05-09 16:29:21 +0100 Tim-Philipp Müller * meson.build: meson: bump meson version requirement to 0.40.1 2016-12-15 12:48:55 +0200 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gstbus.c: * gst/gstbus.h: * win32/common/libgstreamer.def: bus: Add function to get the file descriptor of the bus This is useful for integration with other event loops that work by polling file descriptors. G_IO_IN will always be set whenever a message is available currently. https://bugzilla.gnome.org/show_bug.cgi?id=776126 2017-02-27 21:38:11 -0500 Nicolas Dufresne * gst/gst_private.h: * gst/gstplugin.c: * gst/gstplugin.h: plugin: Unify static and dynamic plugin interface This patch changes the entry point of each plugin in order to unify the interface for static and dynamic plugin. What we do is replace the current static plugin interface and extend the dymamic one. The plugin entry was a C structure, name "gst_plugin_desc". With this patch, the interface is now: GstPpluginDesc *gst_plugin__get_desc(void); The reason we change the C structure into function, is that it is potentially more common to have function pointers, avoiding possible binding language limitation. Additionally to that. This change prevents the symbols from clashing between plugins, allowing to build once the plugin (assuming you have -fPIC). On the plugin loader side, we symply derive the shared object basename to extract the plugin name. If this symbol is not found, we fallback to gst_plugin_desc for backward compatibility. This has one side effect, which is that the shared objects now need to be named after their plugin name. This is generally the case with few exceptions. The benifit of this limitation is that you can control the gst_plugin__desc clash at file level. https://bugzilla.gnome.org/show_bug.cgi?id=779344 2017-05-09 09:24:43 +0100 Tim-Philipp Müller * libs/gst/helpers/meson.build: meson: fix search path for setcap 2017-05-07 11:17:22 +0100 Tim-Philipp Müller * gst/gstdebugutils.c: debugutils: make local variable static 2017-05-05 12:23:43 +0100 Tim-Philipp Müller * libs/gst/helpers/ptp_helper_post_install.sh: meson: fail silently in ptp helper post install script .. in case permissions/capabilities could not be set. 2017-05-05 12:02:33 +0100 Tim-Philipp Müller * libs/gst/helpers/meson.build: meson: use cc.find_library() find_library() was deprecated and removed in later versions. 2017-05-05 11:49:08 +0100 Tim-Philipp Müller * config.h.meson: * gst/meson.build: * libs/gst/helpers/meson.build: * libs/gst/helpers/ptp_helper_post_install.sh: * meson.build: * meson_options.txt: meson: add gst-ptp-helper https://bugzilla.gnome.org/show_bug.cgi?id=774418 2017-05-05 09:10:56 +0100 Tim-Philipp Müller * meson.build: meson: fix indentation No tabs please. 2017-05-05 00:45:06 +0100 Tim-Philipp Müller * libs/gst/helpers/Makefile.am: helpers: remove old cruft from CLEANFILES These files are no longer built, so no need to clean them. 2017-04-29 11:30:54 +0100 Tim-Philipp Müller * gst/Makefile.am: * libs/gst/base/Makefile.am: * libs/gst/check/Makefile.am: * libs/gst/controller/Makefile.am: * libs/gst/net/Makefile.am: * meson.build: g-i: no need to load registry in g-i scanner 2017-05-04 21:37:28 +0100 Tim-Philipp Müller * Makefile.am: * gst-element-check-1.0.m4: Don't generate gst-element-check-1.0.m4 on the fly and fix meson build This will interfere with 'git pull'. You will have to remove the old generated gst-element-check-1.0.m4 manually if you're pulling on a dirty build directory, sorry. https://bugzilla.gnome.org/show_bug.cgi?id=782174 2017-05-04 21:06:21 +0100 Tim-Philipp Müller * meson.build: meson: install gst-element-check-1.0.m4 https://bugzilla.gnome.org/show_bug.cgi?id=782174 2017-04-30 12:10:49 +0900 Yasushi SHOJI * libs/gst/check/gstharness.c: harness: Abort when failed to construct the specified pipeline gst_harness_new_parse() returns without any error even if it doesn't find the specified element. Then a succeeding call to gst_harness_set_sink_caps_str() causes an error like this: Unexpected critical/warning: gst_pad_push_event: assertion 'GST_IS_PAD (pad)' failed This is a bit cryptic and doesn't give users any clue what was going on. gst_harness_new_parse() calls gst_harness_add_parse() with a newly created empty harness and the given pipeline description string, but gst_harness_add_parse() does not have a way to propagate the error back to the caller. Since the function, gst_harness_add_parse(), is a public API, it's not a good idea to change its signature. This patch, instead, makes the function to g_error() when it discovers any error. With this change the same error prints: ** (myelement-test:25345): ERROR **: Unable to create pipeline 'bin.( myelement )': no element "myelement" The current implementation of gst_parse_launch_full() doesn't return partially constructed pipeline when GST_PARSE_FLAG_FATAL_ERRORS is specified, however, this patch also adds a check for it. https://bugzilla.gnome.org/show_bug.cgi?id=781958 2017-05-04 18:59:14 +0300 Sebastian Dröge * configure.ac: * meson.build: Back to development === release 1.12.0 === 2017-05-04 15:36:55 +0300 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * gstreamer.doap: * meson.build: Release 1.12.0 2017-05-04 15:00:16 +0300 Sebastian Dröge * po/af.po: * po/ast.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/fur.po: * po/gl.po: * po/hr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files 2017-05-02 14:35:50 +0300 Sebastian Dröge * gst/gstmessage.c: message: Don't pass a NULL debug string to g_utf8_validate() g_utf8_validate() crashes on NULL, but NULL is valid for the debug string nonetheless. 2017-05-02 14:27:14 +0300 Sebastian Dröge * libs/gst/base/gstadapter.c: adapter: Check if meta transform_func is NULL before using it https://bugzilla.gnome.org/show_bug.cgi?id=782050 2017-05-02 10:32:54 +0200 Frédéric Dalleau * libs/gst/base/gstbasetransform.c: basetransform: Check if meta transform_func is NULL before using it An untested pointer segfaulted in webkit while playing video on imx6 sabrelite. It turned out that the imx plugin didn't implement the meta transform function. The following GST_DEBUG trace was visible: gstbasetransform.c:1779:foreach_metadata: copy metadata GstImxVpuBufferMetaAPI Thread 26 vqueue:src received signal SIGSEGV, Segmentation fault. (gdb) bt 0x00000000 in ?? () 0x73f8d7d8 in foreach_metadata (inbuf=0xc9b020, meta=0x474b2490, user_data=) at gstbasetransform.c:1781 0x73eb3ea8 in gst_buffer_foreach_meta (buffer=buffer@entry=0xc9b020, func=0x73f8d705 , user_data=user_data@entry=0x474b24d4) at gstbuffer.c:2234 https://bugzilla.gnome.org/show_bug.cgi?id=782050 2017-04-28 19:43:49 +0200 Víctor Manuel Jáquez Leal * gst/gst.c: gst: check non-null before dereference It is possible to use gst_deinit() without registering the base classes. For example, when using gst_init_get_option_group() and call the program with an invalid parameter. In that case, gst_deinit() will lead to a segmentation fault, since there is a dereference to a pointer that is null. This patch validates if the type is non-null before dereferencing it. https://bugzilla.gnome.org/show_bug.cgi?id=781914 2017-04-28 11:57:41 +0200 Nicola Murino * scripts/gst-uninstalled: gst-uninstalled: add opencv to bad libs https://bugzilla.gnome.org/show_bug.cgi?id=781889 === release 1.11.91 === 2017-04-27 17:24:05 +0300 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * gstreamer.doap: * meson.build: Release 1.11.91 2017-04-27 15:48:33 +0300 Sebastian Dröge * po/af.po: * po/ast.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/fur.po: * po/gl.po: * po/hr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files 2017-04-27 15:21:26 +0300 Sebastian Dröge * po/LINGUAS: * po/ast.po: * po/fur.po: po: Update translations 2017-04-24 20:27:33 +0100 Tim-Philipp Müller * common: Automatic update of common submodule From 60aeef6 to 48a5d85 2017-04-21 15:04:32 +0200 Koop Mast * tools/meson.build: Meson: also build and install gst-stats-1.0 and it's man page. https://bugzilla.gnome.org/show_bug.cgi?id=781585 2017-04-21 15:03:18 +0200 Koop Mast * tools/gst-stats-1.0.1: Add very simple man page for gst-stats. https://bugzilla.gnome.org/show_bug.cgi?id=781585 2017-04-21 10:51:59 -0300 Thibault Saunier * gst/gstelement.h: doc: Fix some doctsing making GI happy 2017-04-06 17:51:29 -0300 Thibault Saunier * gst/gstelement.h: doc: Fix GstChangeState docstring 2017-04-19 17:31:38 +0100 Sebastian Dröge * gst/gstinfo.c: info: Move debug output in for_each_threshold_by_entry() to TRACE level It's otherwise appearing many, many times in logs and usually is nothing you're interested in. 2017-03-31 12:22:00 +0100 Vincent Penquerc'h * tests/check/pipelines/seek.c: tests: fix message leak in seek test https://bugzilla.gnome.org/show_bug.cgi?id=780757 2017-03-29 19:26:53 +0900 Yasushi SHOJI * libs/gst/base/gstbasetransform.c: basetransform: fix typo in debug log output This unbalanced closing parenthesis is leftover from the commit 8b739d91e7. It used to wrap the caps but we don't seem to do that in the current code. So, just remove it. No functionality has been changed. https://bugzilla.gnome.org/show_bug.cgi?id=781484 2017-04-10 16:28:57 +0200 Rico Tzschichholz * gst/meson.build: * libs/gst/base/meson.build: * libs/gst/controller/meson.build: * libs/gst/net/meson.build: meson: A couple for GIR-generation fixes 2017-04-12 09:48:53 -0300 Thibault Saunier * libs/gst/controller/meson.build: meson: Add controller enum file as generated sources Avoiding build failure like https://ci.appveyor.com/project/thiblahute/gst-build-ge9m5/build/1.0.2857 2017-04-11 20:19:03 +0100 Tim-Philipp Müller * Makefile.am: meson: dist new meson build script 2017-04-11 20:16:53 +0100 Tim-Philipp Müller * docs/libs/gstreamer-libs-sections.txt: * libs/gst/controller/controller.h: controller: include new proxycontrolbinding header And fix includes in docs to just include the main header (the include for the proxycontrolbinding was wrong in the docs). 2017-04-11 20:16:41 +0100 Tim-Philipp Müller * .gitignore: .gitignore: ignore more 2017-04-11 11:52:20 -0400 Olivier Crete * gst/parse/meson.build: meson: Only check the first parameter https://bugzilla.gnome.org/show_bug.cgi?id=781155 2017-04-11 10:17:40 -0300 Thibault Saunier * gst/parse/meson.build: meson: Check bison and flex are recent enough https://bugzilla.gnome.org/show_bug.cgi?id=781155 2017-04-10 23:48:53 +0100 Tim-Philipp Müller * common: Automatic update of common submodule From 39ac2f5 to 60aeef6 2017-04-10 12:24:06 -0400 Olivier Crête * gst/gstvalue.c: * tests/check/gst/gstvalue.c: value: Accept NULL as a structure Some GstStructure properties default to NULL, so it should be a supported value. With unit test. 2017-04-10 14:26:42 +0300 Sebastian Dröge * libs/gst/controller/Makefile.am: controller: Fix build with srcdir!=builddir 2017-04-10 13:52:17 +0300 Rico Tzschichholz * libs/gst/controller/Makefile.am: controller: Add missing sources/headers to the GIR build 2017-04-09 12:16:39 +0300 Sebastian Dröge * libs/gst/controller/meson.build: meson: And actually make the controller mkenums rules work 2017-04-09 12:09:33 +0300 Sebastian Dröge * meson.build: meson: Add check for glib-mkenums 2017-04-09 12:02:43 +0300 Sebastian Dröge * libs/gst/controller/Makefile.am: * libs/gst/controller/controller_mkenum.py: * libs/gst/controller/gstinterpolationcontrolsource.c: * libs/gst/controller/gstinterpolationcontrolsource.h: * libs/gst/controller/gstlfocontrolsource.c: * libs/gst/controller/gstlfocontrolsource.h: * libs/gst/controller/meson.build: controller: Generate GLib enums automatically 2017-04-04 17:53:39 +0100 Tim-Philipp Müller * gst/gstbufferpool.c: * gst/gstbus.c: * gst/gstdeviceproviderfactory.c: * gst/gstdynamictypefactory.c: * gst/gstelementfactory.c: * gst/gstplugin.c: * gst/gstpluginloader.c: * gst/gstregistry.c: * gst/gstregistrychunks.c: * gst/gsttask.c: * gst/gsttaskpool.c: * gst/gsttracer.c: * gst/gsttracerrecord.c: * gst/gsttypefind.c: * libs/gst/base/gstadapter.c: * libs/gst/base/gstdataqueue.c: * libs/gst/base/gstindex.c: * libs/gst/controller/gstinterpolationcontrolsource.c: * libs/gst/controller/gstlfocontrolsource.c: * libs/gst/controller/gsttriggercontrolsource.c: * tests/check/gst/gstcontroller.c: * tests/check/gst/gstelementfactory.c: Don't use deprecated g_object_newv() Use g_object_new() instead which nowadays has a shortcut for the no-properties check. It still does an extra GType check in the function guard, but there's a pending patch to remove that and it's hardly going to be a performance issue in practice, even less so on a system that's compiled without run-time checks. Alternative would be to move to the new g_object_new_properties() with a fallback define for older glib versions, but it makes the code look more unwieldy and doesn't seem worth it. Fixes deprecation warnings when building against newer GLib versions. https://bugzilla.gnome.org/show_bug.cgi?id=780903 2017-04-07 13:49:29 -0400 Olivier Crête * tests/check/gst/gststructure.c: test: Add test for serializing/deserializing NULL strings === release 1.11.90 === 2017-04-07 16:30:35 +0300 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/gstreamer-plugins.args: * docs/plugins/inspect/plugin-coreelements.xml: * gstreamer.doap: * meson.build: Release 1.11.90 2017-04-07 15:04:11 +0300 Sebastian Dröge * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files 2017-03-08 12:09:45 -0500 Olivier Crête * gst/gststructure.c: structure: Don't print warning on NULL strings or pointers Putting NULL for those is a valid serialization for the NULL value. 2017-04-05 16:32:38 +0300 Sebastian Dröge * gst/gstclock.h: gst: Use GstClockTimeDiff instead of GstClockTime as type for GST_SECOND and friends They were (signed!) gint64 before because of G_GINT64_CONSTANT() already and they are actually used in signed calculations. With this change we at least ensure that an integer type of the correct size is used for GI (it was using gint before). 2017-04-05 15:46:26 +0300 Sebastian Dröge * gst/gstclock.h: * gst/gstelementfactory.h: * gst/gstevent.h: * gst/gstquery.h: gst: Update some more types and values of combined-flags constants 2017-04-05 14:45:00 +0300 Sebastian Dröge * gst/gstbuffer.h: * gst/gstmemory.h: * gst/gstminiobject.h: gst: Cast combined-flags constants to their respective target types This makes C++ compilers a bit more happy without having the user of the constants cast. It also provides the correct type information to GI. https://bugzilla.gnome.org/show_bug.cgi?id=780923 2017-04-05 14:42:16 +0300 Sebastian Dröge * gst/gstbuffer.h: * gst/gstmemory.h: * gst/gstminiobject.h: gst: Set values and types for combined-flags constants in GI annotations 2017-04-05 14:26:33 +0300 Sebastian Dröge * gst/gstvalue.h: value: Properly set value and type for GST_FLAG_SET_MASK_EXACT in GI annotations Storing a -1 inside an unsigned integer confuses GIR based bindings generators. 2017-04-04 16:28:45 -0400 Nicolas Dufresne * data/bash-completion/helpers/gst.in: completion: Try to avoid parsing summary In GES, the summary refers to options that are only available when built against gst-valdiate. Those where picked by our regex. This patch add a initial grep to try and filter-out as best as possible the content to which we will extract the command list. 2017-04-04 14:25:52 -0400 Nicolas Dufresne * data/bash-completion/helpers/meson.build: * data/meson.build: * libs/gst/helpers/meson.build: * meson.build: meson: Add bash completion support 2017-04-04 13:42:50 -0400 Nicolas Dufresne * configure.ac: * data/Makefile.am: * data/bash-completion/completions/gst-inspect-1.0: * data/bash-completion/completions/gst-launch-1.0: * data/bash-completion/helpers/.gitignore: * data/bash-completion/helpers/gst.in: * libs/gst/helpers/.gitignore: * libs/gst/helpers/Makefile.am: * pkgconfig/gstreamer-uninstalled.pc.in: * pkgconfig/gstreamer.pc.in: completion: Place the completion helper in libexec This patch reorganize the bash completion scripts in order to install the binary helper (gst-completion-helper) in libexec path rather then share folder. Most Linux hierarchy compliance requires that no binary executable are placed in share. We also cleanup the unused .pc entries and remove copy pasted parts of the script. Note that other project including the common helper, should now use $_GST_HELPER to read the binary executable gst-completion-helper. This helper is not longer version, as it is placed in a versionned subfolder (libexec/gstreamer.10) just like the other helpers (scanner and ptp). 2017-03-31 11:22:49 +0100 Vincent Penquerc'h * gst/gstvalue.c: gstvalue: fix GstValue leak in structure_field_union_into https://bugzilla.gnome.org/show_bug.cgi?id=780751 2017-03-31 10:38:15 +0100 Vincent Penquerc'h * gst/gststreamcollection.c: streamcollection: fix racy user-after-free The issue happens when the structure is printed by the logging subsystem: the object is included in the log, and this will cause the full object printout to be done there. However, after dispose, the queue was already cleared, so the access to it (to print the object) would assert, as the queue was already freed. The patch changes it so that the queue is merely empty, and only freed in _finalize. https://bugzilla.gnome.org/show_bug.cgi?id=776293 2017-03-27 18:30:35 +0100 Tim-Philipp Müller * gst/gstdebugutils.c: debugutils: add pad EOS flag in pipeline dot file dumps But only if set. Helps debug issues with EOS propagation. 2017-03-27 18:27:59 +0100 Tim-Philipp Müller * tools/gst-launch.c: tools: gst-launch: print structure property notifies nicer One less layer of escaping, but still lots of ugly \. 2017-03-24 14:33:19 -0400 Nicolas Dufresne * win32/common/libgstreamer.def: Fix win32 libgstreamer.def ordering This should fix make distcheck 2017-03-15 17:31:39 -0400 Nicolas Dufresne * gst/gstparamspecs.c: paramspec: Fix array validation logic A paramspec validation should modify the content to match what the spec requires and return TURE if a modification happened. This previous implementation would only fix the first element of the array and return. It was also return TRUE for empty array, while no modification was needed. https://bugzilla.gnome.org/show_bug.cgi?id=780111 2017-03-22 13:35:32 -0400 Nicolas Dufresne * gst/gstparamspecs.c: array/fraction: In param types, use get_type() function directly The GST_TYPE macro points to global variables initialized by the first call to get_type. This is not an issue if you call gst_init() but unfortunatly pygi will need to acces the param type before init can be called. This removes an assertion. 2017-03-22 13:33:47 -0400 Nicolas Dufresne * gst/gstparamspecs.c: fraction/array: Make get_type() thread safe Those aren't suppose to be called from multiple thread, but all fundamental get_type() function are thread safe. Fix it to be consistent and it may help if we change the typing mechanism in GStreamer come day. 2017-03-20 16:46:33 -0400 Nicolas Dufresne * docs/gst/gstreamer-sections.txt: * gst/gstutils.c: * gst/gstutils.h: * win32/common/libgstreamer.def: gstutils: Add helpers to get/set array properties This is to help bindings access properties of type GST_TYPE_ARRAY. This function will get/set the property and convert form/to GValueArray. New API: gst_util_set_object_array gst_util_get_object_array https://bugzilla.gnome.org/show_bug.cgi?id=753754 2017-03-20 15:50:49 -0400 Nicolas Dufresne * docs/gst/gstreamer-sections.txt: * gst/gststructure.c: * gst/gststructure.h: * win32/common/libgstreamer.def: structure: Add get/set_array/list using GValueArray This adds a binding friendly interface to get and set arrays and list into GstStructure. New API: - gst_structure_set_array - gst_structure_set_list - gst_structure_get_array - gst_structure_get_list https://bugzilla.gnome.org/show_bug.cgi?id=753754 2017-03-20 15:40:25 -0400 Nicolas Dufresne * gst/gstvalue.c: * tests/check/gst/gstvalue.c: gstvalue: Add transformation to/from GValueArray This allow transforming a GValue of type G_TYPE_VALUE_ARRAY to and from GST_TYPE_ARRAY/LIST. https://bugzilla.gnome.org/show_bug.cgi?id=753754 2017-03-24 14:21:30 +0200 Sebastian Dröge * libs/gst/base/gstqueuearray.h: queuearray: Add G_BEGIN_DECLS and G_END_DECLS to make it usable from C++ code 2017-03-24 17:53:31 +1100 Jan Schmidt * gst/gstparamspecs.c: paramspecs: Use gst_value_array_get_type() for GstParamSpecArray type When registering GstParamSpecArray, use the gst_value_array_get_type() function to get the type, rather than the GST_TYPE_ARRAY macro, which gets it from the _gst_value_array_type, which is in turn only initialised during gst_init() Fixes criticals with (python) bindings that look up all the types from the gobject-introspection info as soon as they are imported. /usr/lib64/python3.5/site-packages/gi/module.py:178: Warning: g_param_type_register_static: assertion 'g_type_name (pspec_info->value_type) != NULL' failed g_type = info.get_g_type() /usr/lib64/python3.5/site-packages/gi/module.py:212: Warning: g_type_get_qdata: assertion 'node != NULL' failed type_ = g_type.pytype /usr/lib64/python3.5/site-packages/gi/module.py:226: Warning: g_type_get_qdata: assertion 'node != NULL' failed g_type.pytype = wrapper /usr/lib64/python3.5/site-packages/gi/module.py:226: Warning: g_type_set_qdata: assertion 'node != NULL' failed g_type.pytype = wrapper 2017-03-17 22:32:19 +1100 Jan Schmidt * libs/gst/base/gstbaseparse.c: baseparse: Don't forget error returns when processing more If parsing returns a non-OK flow return in the middle of processing an input buffer, don't overwrite that if a later return is OK again - the subclass might return not-linked in the middle, and then discard subsequent data without pushing while returning OK. A later success doesn't invalidate the earlier failure, but we should continue processing after not-linked, so as to keep parse state consistent. https://bugzilla.gnome.org/show_bug.cgi?id=779831 2017-03-20 16:54:22 +0000 Tim-Philipp Müller * tools/gst-launch-1.0.1: tools: replace mentions of 'mad' on the gst-launch-1.0 man page The 'mad' plugin has been removed. Mention mpg123audiodec instead. https://bugzilla.gnome.org/show_bug.cgi?id=776140 2017-03-13 11:08:01 +0000 Vincent Penquerc'h * gst/gstvalue.c: * tests/check/gst/gstvalue.c: value: fix union of int range and int when extending on a side The internal representation uses bounds scaled by the step Add tests to catch those cases 2017-03-14 22:18:36 -0700 Thiago Santos * plugins/elements/gstqueue.c: queue: avoid return flushing if we have a not-linked Return the correct flow return instead of returning always flushing. This would cause queue to convert not-linked to flushing and making upstream elements stop. Based on the previous patch for queue2. https://bugzilla.gnome.org/show_bug.cgi?id=776999 2017-01-22 11:26:56 -0300 Thiago Santos * plugins/elements/gstqueue2.c: queue2: avoid return flushing if we have a not-linked Return the correct flow return instead of returning always flushing. This would cause queue2 to convert not-linked to flushing and making upstream elements stop. https://bugzilla.gnome.org/show_bug.cgi?id=776999 2016-09-18 12:02:54 -0300 Thiago Santos * tests/check/gst/gstbin.c: tests: bin: add more tests for suppressed flags Add tests to confirm flags are persisted even after removing elements that have those suppressed flags 2017-03-10 10:13:05 +0100 Wim Taymans * libs/gst/check/gstharness.c: * plugins/elements/gstdownloadbuffer.c: buffer: handle gst_buffer_map failures 2017-03-10 10:12:49 +0100 Wim Taymans * plugins/elements/gstdownloadbuffer.c: downloadbuffer: unlock mutex in error case 2017-03-09 12:09:57 +1100 Jan Schmidt * gst/gstvalue.c: * tests/check/gst/gstcaps.c: * tests/check/gst/gststructure.c: gstvalue: Do more checks when guessing at flagset strings If guessing that a string matches a flagset, be more thorough at checking that the string following a string of hex:hex: actually looks like a flag set string. Add some unit tests to catch more cases. https://bugzilla.gnome.org/show_bug.cgi?id=779755 2017-03-09 12:09:57 +1100 Jan Schmidt * plugins/elements/gstmultiqueue.c: * plugins/elements/gstmultiqueue.h: multiqueue: Make min-interleave-time a configurable property Remove a FIXME about making the minimum interleave buffering a configurable property 2017-03-08 14:51:42 +0000 Tim-Philipp Müller * gst/gstelementfactory.c: elementfactory: promote factory not found log message to WARNING In most cases people really want to know when an element could not be created. 2017-03-07 08:21:48 +0900 Seungha Yang * plugins/elements/gstinputselector.c: inputselector: Always proxy position/duration query active-pad switch causes reconfigure event with lock taken, and upstream element might query the current position or duration before returning the reconfigure event. Meanwhile, gst_input_selector_get_linked_pad() is used to get srcpad inside of default query handle, and it takes also lock. Since inputselector is still locked by active-pad switch, and so the query cannot be handled further. https://bugzilla.gnome.org/show_bug.cgi?id=775445 2017-03-03 12:53:26 +0000 Tim-Philipp Müller * gst/gstinfo.h: info: document that logging macros don't need newlines at the end https://bugzilla.gnome.org/show_bug.cgi?id=779459 2017-02-24 21:35:27 +0000 Tim-Philipp Müller * gst/gstpad.c: pad: add since marker to docs for new API 2017-02-24 21:33:49 +0000 Tim-Philipp Müller * win32/common/libgstreamer.def: win32: update .def file for new API 2017-02-24 10:23:01 -0300 Thibault Saunier * gst/gstregistry.c: registry: Only scan plugin files that end with an extension Not file that would for some reason end with 'so' or 'dll', etc... https://bugzilla.gnome.org/show_bug.cgi?id=779175 2017-02-17 15:48:17 -0300 Thibault Saunier * docs/gst/gstreamer-sections.txt: * gst/gstpad.c: * gst/gstpad.h: pad: Add API to get the current state of a task Avoiding the user to need to deal with the locking himself etc. API: gst_pad_task_get_state https://bugzilla.gnome.org/show_bug.cgi?id=778830 2017-02-13 15:18:59 -0300 Thibault Saunier * gst/meson.build: * meson.build: * meson_options.txt: meson: Add an option to disable usage of libunwind Fixes https://bugzilla.gnome.org/show_bug.cgi?id=778193 2017-02-24 15:59:35 +0200 Sebastian Dröge * meson.build: meson: Update version 2017-02-24 15:37:30 +0200 Sebastian Dröge * configure.ac: Back to development === release 1.11.2 === 2017-02-24 15:06:46 +0200 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/gstreamer-plugins.args: * docs/plugins/inspect/plugin-coreelements.xml: * gstreamer.doap: Release 1.11.2 2017-02-24 12:44:17 +0200 Sebastian Dröge * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files 2017-02-23 20:52:39 +0200 Vivia Nikolaidou * gst/gstvalue.c: * tests/check/gst/gstvalue.c: value: Add deserialization for arrays/lists outside GstStructures This is mostly useful for properties of those types when used in gst-launch or similar. https://bugzilla.gnome.org/show_bug.cgi?id=777375 2017-02-23 20:50:38 +0200 Sebastian Dröge * gst/gstvalue.c: value: Add a type abbreviation for GstFlagSet in serialization 2017-02-23 20:47:30 +0200 Vivia Nikolaidou * gst/gst_private.h: * gst/gststructure.c: * gst/gstvalue.c: value: Always add the type name to elements when serializing arrays/lists But only when serializing outside of GstStructures, because in case of GstStructure the type is already preprended to the array/list and the GstStructure API makes sure that they have the same "generic" type so deserialization works properly. This keeps serialization of GstStructures the same as before, and the GstCaps unit tests already test for that. However when serializing standalone arrays/lists get the types added now. 2017-02-23 20:22:03 +0200 Vivia Nikolaidou * gst/gst_private.h: * gst/gststructure.c: * gst/gstvalue.c: value: Move list/array serialization/deserialization functions from GstStructure to GstValue https://bugzilla.gnome.org/show_bug.cgi?id=777375 2017-02-23 20:16:17 +0200 Vivia Nikolaidou * gst/gstparamspecs.c: * gst/gstparamspecs.h: * win32/common/libgstreamer.def: paramspecs: Add GstParamSpecArray for GST_TYPE_ARRAY typed properties These are mostly useful to get our automatic serialization/deserialization from strings and simple usage from gst-launch or similar. https://bugzilla.gnome.org/show_bug.cgi?id=777375 2017-02-21 20:23:51 +0000 Tim-Philipp Müller * libs/gst/base/gstbytereader.c: * tests/check/libs/bytereader.c: bytereader: fix peek value when scanning for 00 00 01 with non-0 offset We would add the offset a second time in _scan_for_start_code() when we found a result, but it's already been added to the data pointer at the beginning of _masked_scan_uint32_peek(), so the peeked value would be wrong if the initial offset was >0, and we would potentially read memory out-of-bounds. Add unit test for all of this. https://bugzilla.gnome.org/show_bug.cgi?id=778365 2017-02-20 12:16:32 +0100 Wim Taymans * gst/gstinfo.h: info: put () around macro arguments Put braces around macro arguments or else we might run into problems with operater precedence. 2017-02-20 10:45:57 +0100 Wim Taymans * gst/gstdeviceproviderfactory.c: deviceproviderfactory: ignore empty classes 2017-02-20 10:25:50 +0100 Wim Taymans * gst/gstdeviceproviderfactory.c: deviceproviderfactory: compare class against NULL gstdeviceproviderfactory.c:501:20: error: comparison between pointer and zero character constant [-Werror=pointer-compare] if (classes[0] == '\0') 2017-02-18 16:49:40 +0530 Nirbheek Chauhan * gst/meson.build: meson: Fix build with latest upstream git Trivial incorrect include_directories() call 2017-02-18 10:03:24 +0100 Peter Korsgaard * gst/gstconfig.h.in: gstconfig: Fix unaligned access support for the openrisc architecture Teach gstconfig.h.in about the openrisc (or1k) architecture. Fixes buildroot autobuild failure: http://autobuild.buildroot.net/results/717/717d78ce0935749f477bdf3133b6f20057a28c01/build-end.log https://bugzilla.gnome.org/show_bug.cgi?id=778866 2017-02-15 21:37:31 +0100 Stefan Sauer * libs/gst/base/gstbasesink.c: gstbasesink: xref symbol in docs 2017-02-15 20:58:49 +0100 Stefan Sauer * gst/gstpad.h: pad: revert the content changes from previous commit The default behaviour when returning GST_PAD_PROBE_OK is unrelated to the other return code. 2017-02-15 20:37:40 +0100 Stefan Sauer * gst/gstpad.h: pad: fix docs for GstPadProbeReturn There is no 'block' value, but we have 'drop'. Also fix the markup; it is '%' to link to constants (and enum values). 2016-10-24 22:47:29 +0100 Tim-Philipp Müller * Makefile.am: meson: dist meson build files Ship meson build files in tarballs, so people who use tarballs in their builds can start playing with meson already. 2017-01-31 09:55:59 +0000 Julien Isorce * tests/check/pipelines/seek.c: tests: add 2 unit tests for non-flush seek with gstbaseparse The unit test defines a test parse element that inherit from GstBaseParse. The test pipeline is: fakesrc ! testparse ! fakesink sync=1 Before the fix b2c05cac8 the first new test would have fail because the pipeline would have wait doing nothing just after proceeded the seek event. The second new test would have fail because the pipeline would have played the media instantly just after proceeded the seek event (like if sync was FALSE on the sink). https://bugzilla.gnome.org/show_bug.cgi?id=777780 2017-01-31 21:19:18 +0200 Sebastian Dröge * gst/parse/grammar.y: parse: Don't translate the "bin" element name Otherwise we won't be able to create bins, there is no element called "Behälter" if you're using a German locale. https://bugzilla.gnome.org/show_bug.cgi?id=777998 2016-04-15 20:54:42 +0900 Seungha Yang * gst/gstsegment.c: * tests/check/gst/gstsegment.c: segment: Modifiy inside segment condition There is a special case that segment_start == segment_stop == start. It's inside of segment https://bugzilla.gnome.org/show_bug.cgi?id=764707 2017-01-26 16:35:27 +0000 Thibault Saunier * gst/gstinfo.c: info: Check libunwind return codes 2017-01-18 18:16:26 -0300 Thibault Saunier * libs/gst/controller/meson.build: * libs/gst/net/meson.build: meson: libs: Add gir to the source list of the dependency 2017-01-16 11:26:16 -0300 Thibault Saunier * gst/gst.c: * gst/gstallocator.c: * gst/gstbin.c: * gst/gstbuffer.c: * gst/gstbufferlist.c: * gst/gstbufferpool.c: * gst/gstbufferpool.h: * gst/gstbus.c: * gst/gstcaps.c: * gst/gstcapsfeatures.c: * gst/gstchildproxy.c: * gst/gstclock.c: * gst/gstclock.h: * gst/gstcompat.h: * gst/gstcontext.c: * gst/gstcontrolbinding.c: * gst/gstcontrolsource.c: * gst/gstdebugutils.h: * gst/gstdevice.c: * gst/gstdevicemonitor.c: * gst/gstdeviceprovider.c: * gst/gstdeviceproviderfactory.c: * gst/gstdynamictypefactory.c: * gst/gstelement.c: * gst/gstelement.h: * gst/gstelementfactory.c: * gst/gsterror.c: * gst/gstevent.c: * gst/gstformat.c: * gst/gstghostpad.c: * gst/gstinfo.c: * gst/gstinfo.h: * gst/gstiterator.c: * gst/gstmemory.c: * gst/gstmessage.c: * gst/gstmeta.c: * gst/gstminiobject.c: * gst/gstobject.c: * gst/gstpad.c: * gst/gstpad.h: * gst/gstpadtemplate.c: * gst/gstparamspecs.c: * gst/gstparse.c: * gst/gstpipeline.c: * gst/gstplugin.c: * gst/gstpluginfeature.c: * gst/gstpoll.c: * gst/gstpreset.c: * gst/gstprotection.c: * gst/gstquery.c: * gst/gstregistry.c: * gst/gstsample.c: * gst/gstsegment.c: * gst/gststreamcollection.c: * gst/gststreams.c: * gst/gststructure.c: * gst/gstsystemclock.c: * gst/gsttaglist.c: * gst/gsttagsetter.c: * gst/gsttask.c: * gst/gsttaskpool.c: * gst/gsttoc.c: * gst/gsttocsetter.c: * gst/gsttracer.c: * gst/gsttracerfactory.c: * gst/gsttracerrecord.c: * gst/gsttypefind.c: * gst/gsttypefindfactory.c: * gst/gsturi.c: * gst/gstutils.c: * gst/gstvalue.c: * gst/gstvalue.h: * libs/gst/base/gstadapter.c: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstbasetransform.h: * libs/gst/base/gstbitreader.c: * libs/gst/base/gstbytereader.c: * libs/gst/base/gstbytewriter.c: * libs/gst/base/gstcollectpads.c: * libs/gst/base/gstdataqueue.c: * libs/gst/base/gstdataqueue.h: * libs/gst/base/gstflowcombiner.c: * libs/gst/base/gstindex.c: * libs/gst/base/gstpushsrc.c: * libs/gst/base/gstqueuearray.c: * libs/gst/base/gsttypefindhelper.c: * libs/gst/check/gstbufferstraw.c: * libs/gst/check/gstcheck.c: * libs/gst/check/gstconsistencychecker.c: * libs/gst/check/gstharness.c: * libs/gst/check/gsttestclock.c: * libs/gst/controller/gstargbcontrolbinding.c: * libs/gst/controller/gstdirectcontrolbinding.c: * libs/gst/controller/gstinterpolationcontrolsource.c: * libs/gst/controller/gstlfocontrolsource.c: * libs/gst/controller/gstproxycontrolbinding.c: * libs/gst/controller/gsttimedvaluecontrolsource.c: * libs/gst/controller/gsttriggercontrolsource.c: * libs/gst/net/gstnetaddressmeta.c: * libs/gst/net/gstnetclientclock.c: * libs/gst/net/gstnetcontrolmessagemeta.c: * libs/gst/net/gstnettimepacket.c: * libs/gst/net/gstnettimeprovider.c: * libs/gst/net/gstptpclock.c: * plugins/elements/gstcapsfilter.c: * plugins/elements/gstconcat.c: * plugins/elements/gstdataurisrc.c: * plugins/elements/gstdownloadbuffer.c: * plugins/elements/gstfakesink.c: * plugins/elements/gstfakesrc.c: * plugins/elements/gstfakesrc.h: * plugins/elements/gstfdsink.c: * plugins/elements/gstfdsrc.c: * plugins/elements/gstfilesink.c: * plugins/elements/gstfilesrc.c: * plugins/elements/gstfunnel.c: * plugins/elements/gstidentity.c: * plugins/elements/gstinputselector.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstoutputselector.c: * plugins/elements/gstqueue.c: * plugins/elements/gstqueue2.c: * plugins/elements/gststreamiddemux.c: * plugins/elements/gsttee.c: * plugins/elements/gsttypefindelement.c: * plugins/elements/gstvalve.c: Port gtk-doc comments to their equivalent markdown syntax Modernizing our documentation and preparing a possible move to hotdoc. This commits also adds missing @title metadatas to all SECTIONs 2017-01-11 17:25:08 -0300 Thibault Saunier * gst/gstbuffer.h: * gst/gstcontrolbinding.h: * gst/gstelement.h: * gst/gstevent.h: * gst/gstmemory.h: * gst/gstmessage.h: * gst/gstmeta.h: * gst/gstquery.h: * gst/gststreamcollection.h: * gst/gststreams.h: * gst/gsttracer.h: * gst/gsturi.h: gst: Fix includes so that files can be built separately It used to work but it has broke in the 1.10 cycle. 2017-01-18 10:56:38 -0300 Thibault Saunier * gst/gstpoll.c: gstpoll: Encode in utf-8 2017-01-26 15:32:31 -0800 Brendan Shanks * gst/gststreamcollection.h: * gst/gststreams.h: GstStream/GstStreamCollection: add g_autoptr() support https://bugzilla.gnome.org/show_bug.cgi?id=777810 2017-01-26 16:51:21 +0000 Julien Isorce * libs/gst/base/gstbaseparse.c: baseparse: correctly handle non-flush seek Otherwise when seeking/looping to the start when reaching the end, the sink waits for the duration of the stream. So the user hears nothing for the duration of the stream before it actually loop again. See example attached to the bug for that. Existing test: gst-plugins-good/tests/icles/test-segment-seeks foo.flac Without the patch the user hears a crack/cut at each seek. https://bugzilla.gnome.org/show_bug.cgi?id=777780 2016-05-24 14:57:54 +0200 Stian Selnes * libs/gst/check/Makefile.am: * libs/gst/check/gstcheck.c: * libs/gst/check/gstcheck.h: check: Add API to filter g_warning/g_critical etc New API functions to filter log messages before they are processed by GstCheck. This can be used to discard specific messages that are accepted by the test or to add callbacks that test specific messages. Default bevavior when no callback is given to a filter is to discard the message, because it does not makes sense to have a filter with no callback which does not discard; that would be a noop. Discarded messages will in addition to bypass the GstCheck handling also return to GLib that the message is not fatal if it occurs. https://bugzilla.gnome.org/show_bug.cgi?id=773091 2017-01-18 22:39:33 +0100 Stefan Sauer * gst/gstbin.c: bin: update the docs for the event forwarding First this sends the events not only to the sources and 2nd this is not only for seek events. 2017-01-18 15:07:58 +0200 Sebastian Dröge * gst/parse/grammar.y: parse: Don't hold element's object lock while querying element pads' caps This can easily deadlock if the element uses the object lock for something internally, like posting an error message. Use an GstIterator for iterating over the pads instead. https://bugzilla.gnome.org/show_bug.cgi?id=777449 2017-01-16 09:41:19 +1100 Jan Schmidt * gst/gstbin.c: gstbin: Quieten a noisy FIXME about duration caching Only print this FIXME once per run, at it's pretty annoying in lots of logs otherwise. 2015-07-14 13:11:11 +0000 Jan Schmidt * plugins/elements/gstidentity.c: * plugins/elements/gstidentity.h: identity: Add ts-offset property. Add a property to delay or advance sync time when sync=true, with the same behaviour as the ts-offset property in basesink 2017-01-15 11:52:44 +0000 Tim-Philipp Müller * gst/gstdatetime.c: * tests/check/gst/gstdatetime.c: datetime: fix potential out-of-bound read on malformed datetime string https://bugzilla.gnome.org/show_bug.cgi?id=777263 2017-01-13 12:34:43 +0000 Tim-Philipp Müller * meson.build: meson: bump version 2017-01-12 16:32:38 +0200 Sebastian Dröge * configure.ac: Back to development === release 1.11.1 === 2017-01-12 15:29:15 +0200 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * gstreamer.doap: Release 1.11.1 2017-01-12 14:35:22 +0200 Sebastian Dröge * po/hr.po: * po/id.po: * po/pl.po: * po/zh_CN.po: Update .po files 2017-01-12 14:34:18 +0200 Sebastian Dröge * po/hr.po: * po/id.po: * po/pl.po: * po/zh_CN.po: po: Update translations 2017-01-12 14:26:55 +0200 Sebastian Dröge * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files 2017-01-05 13:45:37 +0100 Mark Nauwelaerts * tools/gst-inspect-1.0.1: tools: update gst-inspect man page 2017-01-05 10:32:03 -0300 Thibault Saunier * pkgconfig/meson.build: meson: Do not generate .pc files for libgstcheck on windows The lib is not built 2017-01-04 12:10:45 +0100 Guillaume Desmottes * pkgconfig/Makefile.am: * pkgconfig/gstreamer-base-uninstalled.pc.in: * pkgconfig/gstreamer-check-uninstalled.pc.in: * pkgconfig/gstreamer-controller-uninstalled.pc.in: * pkgconfig/gstreamer-net-uninstalled.pc.in: * pkgconfig/gstreamer-uninstalled.pc.in: * pkgconfig/meson.build: meson: generate pkg-config -uninstalled pc files Generating those files is useful for users building the GStreamer stack using meson and having to link it to another project which is still using the autotools. https://bugzilla.gnome.org/show_bug.cgi?id=776810 2017-01-03 12:30:02 +0000 Tim-Philipp Müller * gst/gstpad.h: pad: clarify docs for GST_PAD_PROBE_DROP 2017-01-03 02:13:30 +1100 Jan Schmidt * plugins/elements/gstqueue.c: queue: Don't generate GST_FLOW_ERROR without logging At least log a message to the debug log when generating a GST_FLOW_ERROR, to make it possible to find where it came from. 2017-01-03 02:12:27 +1100 Jan Schmidt * gst/gstpadtemplate.c: padtemplate: Fix null pointer dereference on invalid static caps A typo in a static caps string may result in failure to deserialise it, so don't dereference the result without checking. 2017-01-03 02:11:27 +1100 Jan Schmidt * gst/gstcaps.c: caps: Fix null pointer dereference on invalid static caps A typo in a static caps string may result in failure to deserialise it, so don't dereference the result without checking. 2016-12-30 19:42:57 +0100 Stefan Sauer * gst/gststructure.c: structure: reword comment for gst_structure_parse_string() The comment was a bit confusing. Turn it into gtkdoc style and reword it. 2016-12-28 21:47:03 +0100 Stefan Sauer * gst/gstinfo.c: info: re-eval GST_DEBUG env var for late categories When registering a new debug category after _debug_init(), we need to re check the GST_DEBUG filter settings again. In addition when parsing the filter setting, we need to already bump up the min-debug level to not suppress debug log statments that dynamically register a category. This happens in libraries that use a function to register a category on first use. 2016-12-29 17:04:04 +0100 Edward Hervey * scripts/gst-uninstalled: gst-uninstalled: Default to python3 It's 2016, unless you've specified a different version of python, we'll default to python3 2016-12-28 13:45:54 +0100 Mark Nauwelaerts * libs/gst/base/gstbaseparse.c: baseparse: also unset DISCONT on buffers in reverse playback fragments 2016-12-21 21:58:53 -0300 Thibault Saunier * tools/gst-inspect-1.0.1: * tools/gst-inspect.c: gst-launch: Add a '--types' option to filter elements by types to print This way the user can easily figure out what are the available audio encoder for example doing: gst-inspect-1.0 --types Encoder/Audio https://bugzilla.gnome.org/show_bug.cgi?id=776392 2016-12-22 18:45:10 +0100 Nicolas Dechesne * tools/gst-launch.c: tools: gst-launch: set GST_GL_XINITTHREADS This ensure that XInitThreads is called and so gl contexts are properly initialized. https://bugzilla.gnome.org/show_bug.cgi?id=776401 2016-12-22 16:13:22 -0300 Thibault Saunier * gst/gstpreset.c: gstpreset: Lower some debug logs level A property not defined in a preset file can simply mean that the user wants it to be set as it default value, and we should not warn about that. A missing preset file in a directory can happen has there are several directory where a preset can be found in. 2016-12-22 23:39:39 +0530 Nirbheek Chauhan * gst/meson.build: meson: Fix order of C source and header in mkenums Otherwise gstenum_h dependencies don't get added properly to gst_dep and we see racy build failures everywhere. 2016-12-17 14:35:19 +0000 Tim-Philipp Müller * gst/build_mkenum.py: * gst/gstenumtypes.c.template: * gst/gstenumtypes.h.template: * gst/meson.build: meson: use gnome.mkenums() with template files for enum file gen Saves us a custom script. Template files are nicer than passing multiline templating stuff through to glib-mkenums. And we can get rid of our custom python script. 2016-12-22 12:05:56 +0200 Sebastian Dröge * gst/gstelement.c: element: Add guard to gst_element_release_pad() to ensure the pad belongs to this element It's a programming error to pass other pads here, and it easily causes crashes or other problematic behaviour down the road as subclasses usually assume to only get their pads. 2016-12-21 22:18:17 +0100 Stefan Sauer * plugins/tracers/gstrusage.c: gstrusage: explicitly register to hooks We were attaching to any probe point to take rusage samples. The new refcount hooks are called way too frequently though to make this still feasible. 2016-12-21 23:49:11 +0530 Nirbheek Chauhan * gst/meson.build: * meson.build: * tests/check/meson.build: meson: Add several missing features from configure.ac * -Wl,-Bsymbolic-functions * HAVE_PTHREAD_SETNAME_NP_WITHOUT_TID * HAVE_POSIX_TIMERS * HAVE_MONOTONIC_CLOCK * HAVE_UINT128_T * HAVE_LONG_LONG * HAVE_PROCESS_H * HAVE_GMP * HAVE_GSL * HAVE_DLADDR Also, don't use prefix for checking functions, and only check msvc functions on Windows. 2016-12-21 09:33:39 +0530 Nirbheek Chauhan * config.h.meson: * configure.ac: * meson.build: build: Remove unused functions fgetpos, fsetpos, mmap, posix_memalign. None of these are used anywhere in the codebase. 2016-12-21 09:00:22 +0530 Nirbheek Chauhan * meson.build: * plugins/tracers/meson.build: meson: Derive defines from header/function names This is what Autoconf already does for us, so just do this. Avoids people making typos while adding header or function checks. Because we use a config.h.meson, such typos won't even be noticed. Also, starting from Meson 0.36.0, the XCode 8 workaround that we use for clock_gettime is no longer needed. 2016-12-21 10:02:45 +0100 Stefan Sauer * tests/check/gst/gststructure.c: gststructure: simplify test We can compare structures, that is what the caps fucntion that was used before would call anyway. 2016-12-20 21:08:09 +0100 Stefan Sauer * gst/gsttracerrecord.h: tracerrecord: improve the values flags docs 2016-12-20 21:07:14 +0100 Stefan Sauer * plugins/tracers/gstlatency.c: latency: the latency is not an aggregated value The logged latencies are individual meassurements. 2016-12-02 08:29:11 -0300 Thibault Saunier * plugins/tracers/gstleaks.c: * plugins/tracers/gstleaks.h: leaks: Allow user to set the flags to use to retrieve stack traces https://bugzilla.gnome.org/show_bug.cgi?id=775541 2016-12-01 17:35:45 -0300 Thibault Saunier * gst/gstminiobject.c: * gst/gstobject.c: * gst/gsttracerutils.c: * gst/gsttracerutils.h: * plugins/tracers/gstleaks.c: * plugins/tracers/gstleaks.h: leaks: Allow tracing Gst(Mini)Object reffing operations It makes it much simpler to later debug refcount issues. https://bugzilla.gnome.org/show_bug.cgi?id=775541 2016-11-30 17:05:56 -0300 Thibault Saunier * plugins/tracers/gstleaks.c: leaks: Allow passing a GstStructure to configure the tracer But keep understanding the simple synthax with a comma separated list of filters https://bugzilla.gnome.org/show_bug.cgi?id=775541 2016-12-21 00:40:10 +1100 Jan Schmidt * plugins/elements/gsttypefindelement.c: typefind: Switch to normal mode before have-type Before emitting have-type, switch to NORMAL mode, as part of the have-type processing sends the caps event downstream, which might trigger actions like downstream autoplugging or flushing seeks - and the latter are only passed upstream if we've set typefind to NORMAL mode. 2016-12-13 21:12:23 +0200 Sebastian Dröge * plugins/elements/gstmultiqueue.c: multiqueue: Protect against spurious wakeups of the condition variable 2016-11-30 21:17:55 +0100 Fabrice Bellet * libs/gst/base/gstbasesink.c: basesink: fix a use after free case The event may be disposed while being pushed, so we make sure the debug infrastructure won't use it after the gst_pad_push(). 2016-12-16 18:30:20 +0000 Tim-Philipp Müller * libs/gst/check/gstcheck.c: check: fix typo in docs 2016-12-16 23:45:08 +0530 Nirbheek Chauhan * gst/parse/meson.build: * meson.build: meson: Don't search for python3 twice 2016-12-16 18:14:29 +0000 Tim-Philipp Müller * libs/gst/check/Makefile.am: check: export new global variable 2016-12-16 13:59:51 -0300 Thibault Saunier * libs/gst/check/gstcheck.c: check: Avoid possible double free 2016-12-02 11:59:43 -0300 Thibault Saunier * libs/gst/check/gstcheck.c: * libs/gst/check/gstcheck.h: check: Allow listing unit tests names Adding options while running gst_check_init https://bugzilla.gnome.org/show_bug.cgi?id=775540 2016-12-15 15:37:45 +0100 Stefan Sauer * plugins/tracers/gststats.c: * tools/gst-stats.c: tracers/stats: log optional fields instead of GST_CLOCK_TIME_NONE Simplify the traces and avoid trace analyzer to know that ((1<<64) - 1) means we had no value. 2016-12-16 15:05:46 +0100 Josep Torra * autogen.sh: autogen.sh: drop a leftover docbook related bit 2016-12-08 21:01:52 +1100 Matthew Waters * gst/gstvalue.c: * tests/check/gst/gstvalue.c: value: add structure intersect/union/is_subset/fixate implementations Allows proper usage of structures in structures in caps. Subtraction is not implemented due to complications with empty fields representing all possible values. The only implementation that doesn't delegate to the already existing GstStructure functions is the union function. https://bugzilla.gnome.org/show_bug.cgi?id=775796 2016-12-08 15:41:40 +1100 Matthew Waters * tests/check/gst/gststructure.c: tests/structure: add some more is_subset checks Explicitly testing extra/missing fields and name differences 2016-12-14 18:19:00 +0000 Tim-Philipp Müller * tests/check/gst/gstmeta.c: tests: meta: add test for gst_buffer_iterate_meta*() https://bugzilla.gnome.org/show_bug.cgi?id=775727 2016-12-03 13:05:03 +0000 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gstbuffer.c: * gst/gstbuffer.h: * win32/common/libgstreamer.def: buffer: add gst_buffer_iterate_meta_filtered() For convenience. Pretty much every user of gst_buffer_iterate_meta() filters for a specific api type. https://bugzilla.gnome.org/show_bug.cgi?id=775727 2016-12-14 15:22:30 +0000 Tim-Philipp Müller * gst/gstbuffer.c: buffer: mark gst_buffer_iterate_meta() as 'skip' for bindings The pointer state arg won't work well, bindings can use the foreach function instead. https://bugzilla.gnome.org/show_bug.cgi?id=775727 2016-12-14 06:56:55 +0100 Iñaki García Etxebarria * gst/gstevent.c: g-i: Fix annotations for gst_event_new_select_streams() and gst_event_parse_select_streams() A gchar is not a string. https://bugzilla.gnome.org/show_bug.cgi?id=775944 2016-12-13 23:25:39 -0800 Reynaldo H. Verdejo Pinochet * gst/gstpad.c: gstpad: only warn on performance penalty if not using the template caps After b76ecfd992b0d3a423cc9ace5539ecd2ba509d41 introduced GST_PAD_FLAG_ACCEPT_TEMPLATE, the performance penalty this message is refering to (the cascading ACCEPT_CAPS query) only applies to the cases where !GST_PAD_IS_ACCEPT_TEMPLATE 2016-12-13 20:51:17 +0200 Sebastian Dröge * plugins/elements/gstqueue.c: * plugins/elements/gstqueue.h: * plugins/elements/gstqueue2.c: * plugins/elements/gstqueue2.h: queue/queue2: Protect against spurious condition variable wakeups Make sure that we only wake up when we have to flush, or when this specific query was handled. https://bugzilla.gnome.org/show_bug.cgi?id=776039 2016-12-13 20:00:55 +0200 Sebastian Dröge * plugins/elements/gstqueue.c: * plugins/elements/gstqueue2.c: queue/queue2: Ensure that the streaming thread is unlocked after deactivating the srcpad It might happen that the srcpad task function is never called at all, in which case unlocking everything from there will never happen. Make sure to unlock everything another time after the task function is definitely stopped. https://bugzilla.gnome.org/show_bug.cgi?id=776039 2016-12-12 22:14:24 +0100 Stefan Sauer * gst/gststructure.c: * gst/gstvalue.c: * tests/check/gst/gstvalue.c: gstvalue: add serialisation for GTypes We need this in the GstTracerRecord. This will serialize GTypes to the typename and vice versa. 2016-12-13 13:20:09 +0100 Thibault Saunier * gst/gstinfo.c: gst: Fix building with msvc 2016-12-12 20:55:31 +0000 Tim-Philipp Müller * gst/gst.c: gst: init new flags type in gst_init() Fix 'make check' some more. 2016-12-12 19:25:17 +0000 Tim-Philipp Müller * win32/common/libgstreamer.def: win32: update .def file for new API 2016-11-30 15:10:48 -0300 Thibault Saunier info: Add a 'flags' parametter to gst_debug_get_stack_trace This is an API break but that API has not been released yet. We are passing a flag rather than a simple boolean as we can imagine to implement more features in the future for example to retrieve a stack trace for all the threads, etc.. Retrieving source file and line numbers is pretty expensive while getting a stack trace, this new argument allows the user to decide to retrieve a backtrace without those infos instead which is much faster. For example running $ GST_LEAKS_TRACER_STACK_TRACE=1 GST_DEBUG=GST_TRACER:7 \ GST_TRACERS=leaks time gst-launch-1.0 videotestsrc num-buffers=1 ! fakesink: * With simple stack traces: 0.04s user 0.02s system 99% cpu 0.060 total * With full stack traces: 0.66s user 0.23s system 96% cpu 0.926 total https://bugzilla.gnome.org/show_bug.cgi?id=775423 2016-12-12 16:19:13 +0100 Edward Hervey * plugins/elements/gstfilesrc.c: filesrc: Set GError in another error case When changing the location while open, properly set the GError regarding the failure. 2016-12-10 18:38:32 +0900 Seungha Yang * plugins/elements/gstmultiqueue.c: multiqueue: Fix overflow on get_buffering_level() guint64 denominator factor for gst_util_uint64_scale_int() can cause overflow https://bugzilla.gnome.org/show_bug.cgi?id=775921 2016-12-09 19:28:22 -0300 Thibault Saunier * meson_options.txt: * plugins/tracers/meson.build: meson: Fix build 2016-12-09 17:55:39 -0300 Thibault Saunier * meson.build: * plugins/tracers/meson.build: * tests/check/meson.build: meson: Support building with Gst debug disabled 2016-12-09 22:39:36 +0530 Nirbheek Chauhan * libs/gst/check/libcheck/libcompat/clock_gettime.c: check: Fix macro check for OS X TARGET_OS_MAC is defined on all Apple platforms. You need to check for !TARGET_OS_IPHONE to detect OS X (now called macOS). 2016-12-09 18:02:15 +0200 Sebastian Dröge * plugins/elements/gsttypefindelement.c: typefind: Use gst_query_has_scheduling_mode_with_flags() convenience function 2016-12-09 18:01:35 +0530 Nirbheek Chauhan * libs/gst/check/libcheck/libcompat/clock_gettime.c: check: Don't try to include CoreServices.h on iOS On iOS, we have MobileCoreServices.h but it's not really needed. 2016-12-09 17:59:53 +0530 Nirbheek Chauhan * config.h.meson: * libs/gst/check/libcheck/Makefile.am: * libs/gst/check/libcheck/README.txt: * libs/gst/check/libcheck/libcompat/malloc.c: * libs/gst/check/libcheck/libcompat/realloc.c: * libs/gst/check/libcheck/meson.build: * m4/check-checks.m4: check: Don't check for malloc/realloc and try to fallback When malloc is not available, this will set #define malloc rpl_malloc which is implemented only inside libcheck, and not everything will link to libcheck. We don't really need to care too much about how malloc is implemented and we don't care about platforms that don't implement malloc. 2016-12-09 16:03:41 +0530 Nirbheek Chauhan * libs/gst/check/libcheck/README.txt: Add a README.txt with context for libcheck https://bugzilla.gnome.org/show_bug.cgi?id=775870 2016-12-09 15:18:11 +0530 Nirbheek Chauhan * config.h.meson: * libs/gst/check/libcheck/Makefile.am: * libs/gst/check/libcheck/libcompat/alarm.c: * libs/gst/check/libcheck/libcompat/clock_gettime.c: * libs/gst/check/libcheck/libcompat/getline.c: * libs/gst/check/libcheck/libcompat/gettimeofday.c: * libs/gst/check/libcheck/libcompat/libcompat.c: * libs/gst/check/libcheck/libcompat/libcompat.h: * libs/gst/check/libcheck/libcompat/localtime_r.c: * libs/gst/check/libcheck/libcompat/malloc.c: * libs/gst/check/libcheck/libcompat/realloc.c: * libs/gst/check/libcheck/libcompat/strdup.c: * libs/gst/check/libcheck/libcompat/strsignal.c: * libs/gst/check/libcheck/libcompat/timer_create.c: * libs/gst/check/libcheck/libcompat/timer_delete.c: * libs/gst/check/libcheck/libcompat/timer_settime.c: * libs/gst/check/libcheck/meson.build: * libs/gst/check/meson.build: * m4/check-checks.m4: * meson.build: libcheck: Update the compatibility code and checks This brings us up-to-speed with the latest compatibility code from upstream check git. For completeness, we do all the checks that upstream check does, but we skip the snprintf/vsnprintf code because it's not straightforward (involves running code and that is bad for cross-compilation) and not necessary for the platforms we support anyway. If someone really wants this, they can uncomment this and copy the relevant checks from the check git repository. https://bugzilla.gnome.org/show_bug.cgi?id=775870 2016-12-09 15:18:11 +0530 Nirbheek Chauhan * libs/gst/check/libcheck/Makefile.am: * libs/gst/check/libcheck/libcompat/alarm.c: * libs/gst/check/libcheck/libcompat/clock_gettime.c: * libs/gst/check/libcheck/libcompat/libcompat.c: * libs/gst/check/libcheck/libcompat/libcompat.h: * libs/gst/check/libcheck/libcompat/localtime_r.c: * libs/gst/check/libcheck/libcompat/strsignal.c: * libs/gst/check/libcheck/libcompat/timer_create.c: * libs/gst/check/libcheck/libcompat/timer_delete.c: * libs/gst/check/libcheck/libcompat/timer_settime.c: * libs/gst/check/libcheck/meson.build: libcheck: Just move libcompat files to a subdir Makes it clearer which files are actually used in libcheck and which are used for cross-platform compatibility. This is going to be especially useful when we add all the libcompat fallback code that upstream libcheck has which will add about 6 new files. https://bugzilla.gnome.org/show_bug.cgi?id=775870 2016-12-09 15:18:11 +0530 Nirbheek Chauhan * libs/gst/check/libcheck/check.c: * libs/gst/check/libcheck/check.h.in: * libs/gst/check/libcheck/check_error.c: * libs/gst/check/libcheck/check_error.h: * libs/gst/check/libcheck/check_impl.h: * libs/gst/check/libcheck/check_list.c: * libs/gst/check/libcheck/check_list.h: * libs/gst/check/libcheck/check_log.c: * libs/gst/check/libcheck/check_log.h: * libs/gst/check/libcheck/check_msg.c: * libs/gst/check/libcheck/check_msg.h: * libs/gst/check/libcheck/check_pack.c: * libs/gst/check/libcheck/check_pack.h: * libs/gst/check/libcheck/check_print.c: * libs/gst/check/libcheck/check_print.h: * libs/gst/check/libcheck/check_run.c: * libs/gst/check/libcheck/check_str.c: * libs/gst/check/libcheck/check_str.h: libcheck: port to latest check git Upstream seems to have stopped doing releases, but we need to update for better Windows and Visual Studio support. This patch only updates the libcheck sources and ignores the compatibility sources for now. https://bugzilla.gnome.org/show_bug.cgi?id=775870 2016-12-08 22:03:19 +0100 Stefan Sauer * plugins/tracers/gstlog.c: tracers/log: log more detail Log the objects like we would in GST_TRACE_OBJECT. Add the hook function into the fucntion field. 2016-12-08 22:02:17 +0100 Stefan Sauer * plugins/tracers/gstlog.c: tracer/log: fix hook prototype s/GstElement/GstPad/ 2016-12-08 20:20:17 +0100 Stefan Sauer * gst/gstpad.c: tracer: move the PAD_LINK tracer hook to _pad_link_full() This is ultimately executing the pad_link. In the previous position we missed some links, notably ghostpads. 2016-12-07 21:53:49 +0100 Stefan Sauer * plugins/tracers/gstlatency.c: tracer/latency: clear qdata When reading the qdata, clear it to avoid it being read and unreffed again. Fixes #774332 2016-12-06 22:32:31 +0100 Peter Seiderer * gst/gstconfig.h.in: gstconfig: Fix unaligned access support for arc and nios2 architectures Fixes buildroot autobuild failures ([1], [2]). [1] http://autobuild.buildroot.net/results/fbd/fbdcd90635d5ec3a62ad98a7ff93b71b8e5ecde4 [2] http://autobuild.buildroot.net/results/f3c/f3c9b0ed4ffb114221057237ce22c995b673a98b https://bugzilla.gnome.org/show_bug.cgi?id=775728 2016-11-22 16:52:46 +0900 Seungha Yang * docs/gst/gstreamer-sections.txt: * gst/gsturi.c: * gst/gsturi.h: * tests/check/gst/gsturi.c: * win32/common/libgstreamer.def: uri: Add new uri API to get media fragments URI as table As an usecase of URI fragment, it can indicate temporal or spatial dimension of a media stream. To easily parse key-value pair, newly added gst_uri_get_media_fragment_table () API will provide the table of key-value pair likewise URI query. See also https://www.w3.org/TR/media-frags/ https://bugzilla.gnome.org/show_bug.cgi?id=774830 2016-12-06 16:27:23 +0100 Ricardo Ribalda Delgado * libs/gst/helpers/gst: helpers/gst: Get bash completion options from gst-launch It is more likely that gst-launch is installed than ges-launch Reported-by: Marianna Smidth Buschle https://bugzilla.gnome.org/show_bug.cgi?id=775714 2016-12-06 18:06:56 +0000 Tim-Philipp Müller * configure.ac: configure: update for removed docs/design directory 2016-12-05 18:16:34 -0300 Thibault Saunier * docs/Makefile.am: * docs/design/Makefile.am: * docs/design/draft-klass.txt: * docs/design/draft-metadata.txt: * docs/design/draft-push-pull.txt: * docs/design/draft-tagreading.txt: * docs/design/part-MT-refcounting.txt: * docs/design/part-TODO.txt: * docs/design/part-activation.txt: * docs/design/part-buffer.txt: * docs/design/part-buffering.txt: * docs/design/part-bufferpool.txt: * docs/design/part-caps.txt: * docs/design/part-clocks.txt: * docs/design/part-context.txt: * docs/design/part-controller.txt: * docs/design/part-conventions.txt: * docs/design/part-dynamic.txt: * docs/design/part-element-sink.txt: * docs/design/part-element-source.txt: * docs/design/part-element-transform.txt: * docs/design/part-events.txt: * docs/design/part-framestep.txt: * docs/design/part-gstbin.txt: * docs/design/part-gstbus.txt: * docs/design/part-gstelement.txt: * docs/design/part-gstghostpad.txt: * docs/design/part-gstobject.txt: * docs/design/part-gstpipeline.txt: * docs/design/part-latency.txt: * docs/design/part-live-source.txt: * docs/design/part-memory.txt: * docs/design/part-messages.txt: * docs/design/part-meta.txt: * docs/design/part-miniobject.txt: * docs/design/part-missing-plugins.txt: * docs/design/part-negotiation.txt: * docs/design/part-overview.txt: * docs/design/part-preroll.txt: * docs/design/part-probes.txt: * docs/design/part-progress.txt: * docs/design/part-push-pull.txt: * docs/design/part-qos.txt: * docs/design/part-query.txt: * docs/design/part-relations.txt: * docs/design/part-scheduling.txt: * docs/design/part-seeking.txt: * docs/design/part-segments.txt: * docs/design/part-seqnums.txt: * docs/design/part-sparsestreams.txt: * docs/design/part-standards.txt: * docs/design/part-states.txt: * docs/design/part-stream-selection.txt: * docs/design/part-stream-status.txt: * docs/design/part-streams.txt: * docs/design/part-synchronisation.txt: * docs/design/part-toc.txt: * docs/design/part-tracing.txt: * docs/design/part-trickmodes.txt: docs: Remove design doc as they have been moved to gst-docs https://bugzilla.gnome.org/show_bug.cgi?id=775667 2016-11-29 17:34:40 -0300 Thibault Saunier * gst/gstinfo.c: info: Properly start and end dwfl sessions when getting stack traces We were creating a new session to retrive each line of a stack trace and we are supposed to start it once for a whole stack trace. And pass the whole file to gst-indent. https://bugzilla.gnome.org/show_bug.cgi?id=775365 2016-12-02 22:47:32 +0100 Marcin Kolny * libs/gst/net/gstnetclientclock.c: net: set clock name in the constructor gst_net_client_clock_new() and gst_ntp_clock_new() didn't set the "name" property. https://bugzilla.gnome.org/show_bug.cgi?id=775538 2016-12-05 21:09:52 +0100 Peter Seiderer * gst/gstconfig.h.in: gstconfig: Fix unaligned access support for microblaze and xtensa architectures Fixes buildroot autobuild failures, for details see: http://lists.busybox.net/pipermail/buildroot/2016-December/178895.html https://bugzilla.gnome.org/show_bug.cgi?id=775661 2016-12-02 15:30:59 +0000 Tim-Philipp Müller * gst/gstmeta.h: * tests/check/gst/struct_arm.h: * tests/check/gst/struct_hppa.h: * tests/check/gst/struct_i386.h: * tests/check/gst/struct_i386w.h: * tests/check/gst/struct_ppc32.h: * tests/check/gst/struct_ppc64.h: * tests/check/gst/struct_sparc.h: * tests/check/gst/struct_x86_64.h: meta: remove unnecessary padding for GstMetaInfo struct This structure is always allocated by GStreamer, can't be subclassed or extended, and is never allocated or used on the stack, so we don't need any padding and can extend it as we please. 2016-06-29 19:36:09 +0100 Tim-Philipp Müller * plugins/elements/gstelements_private.c: * plugins/elements/gstelements_private.h: * plugins/elements/gstfakesink.c: * plugins/elements/gstidentity.c: fakesink, identity: print metas attached to buffer in silent=false mode 2016-12-05 11:01:45 +0200 Sebastian Dröge * plugins/elements/gstconcat.c: * plugins/elements/gsttee.c: elements: Handle GstIterator RESYNC return value correctly in gst_iterator_foreach() 2016-12-04 12:15:09 +0100 Stefan Sauer * plugins/tracers/gstlog.c: tracers/log: log messages in message category 2016-12-03 08:19:08 +0100 Edward Hervey * README: * autogen.sh: * common: Automatic update of common submodule From f980fd9 to 39ac2f5 2016-12-01 18:20:11 +0200 Sebastian Dröge * gst/gstbin.c: bin: Make sure to resync iterators and handle RESYNC at all in gst_iterator_foreach() calls 2016-11-29 18:14:24 +0200 Sebastian Dröge * gst/gstclock.c: clock: Fix offsetting of times_temp relative to the times array 2016-11-29 10:34:14 -0300 Thibault Saunier * meson.build: meson: Set default debug level to ERROR when running from git 2016-11-28 19:28:27 +0530 Nirbheek Chauhan * gst/meson.build: * plugins/elements/meson.build: * tests/check/meson.build: meson: Add Autotools changes that weren't mirrored commits: a7d282d27256ad1d1a55afc37d1db7f60b040089 6fdb4df0f8c8a9e39f7f7cb73ab65306fb0517f5 1aceebd67f0161806dc3b4b68488d599290f283e 2016-11-28 14:11:27 +0100 Edward Hervey * tests/check/gst/gstpipeline.c: check/pipeline: Make failure message more informative This will provide maybe a bit more insight the next time it fails 2016-11-28 14:00:18 +0100 Edward Hervey * tests/check/gst/gstmemory.c: check/memory: Don't leak the custom allocator 2016-11-28 13:48:16 +0100 Edward Hervey * gst/gstutils.c: gstutils: Fix a pad leak When requesting a pad from a template and it's already linked, this means it was a static pad. Since we only want to return an *available* pad, we must return NULL ... but we must also remove the reference we got from getting that static pad. The "No need to unref" message (which wasn't true for quite some time) dates back from the very very very first commit introducing the 0.10 features. 2016-11-28 09:50:40 +0100 Edward Hervey * tests/check/elements/queue2.c: check: Fix leak in queue2 test 2016-11-23 15:41:28 +0200 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/Makefile.am: * gst/gst_private.h: * gst/gstclock-linreg.c: * gst/gstclock.c: * gst/gstutils.c: * gst/gstutils.h: * tests/check/gst/gstclock.c: * tests/check/gst/gstutils.c: * win32/common/libgstreamer.def: utils: Export linear regression calculation as public function It is useful outside the GstClock code too. https://bugzilla.gnome.org/show_bug.cgi?id=774916 2016-11-28 11:56:23 +0000 Tim-Philipp Müller * .gitignore: * Makefile.am: * configure.ac: * gstreamer.spec.in: Remove generated gstreamer.spec file Likely extremely bitrotten, and we should not ship this anyway. 2016-11-28 11:09:08 +0000 Tim-Philipp Müller * docs/plugins/Makefile.am: * docs/plugins/gstreamer-plugins-docs.sgml: * docs/plugins/gstreamer-plugins-sections.txt: * docs/plugins/gstreamer-plugins.args: * docs/plugins/gstreamer-plugins.hierarchy: * docs/plugins/gstreamer-plugins.interfaces: * docs/plugins/inspect/plugin-coreelements.xml: docs: add dataurisrc to docs and update https://bugzilla.gnome.org/show_bug.cgi?id=774527 2016-11-28 11:10:05 +0000 Tim-Philipp Müller * tests/check/elements/filesrc.c: tests: filesrc: init and clear GCond and mutex Might otherwise leak on non-Linux systems. 2016-11-28 11:08:24 +0000 Tim-Philipp Müller * tests/check/Makefile.am: * tests/check/elements/.gitignore: * tests/check/elements/dataurisrc.c: tests: rewrite and enable dataurisrc test Can't use playbin for core unit tests. https://bugzilla.gnome.org/show_bug.cgi?id=774527 2016-11-28 11:07:20 +0000 Tim-Philipp Müller * plugins/elements/Makefile.am: * plugins/elements/gstdataurisrc.c: * plugins/elements/gstelements.c: elements: add dataurisrc to build Moved from -bad. 2016-11-28 10:42:46 +0000 Tim-Philipp Müller * plugins/elements/gstdataurisrc.c: dataurisrc: fix string leak in property getter 2016-11-28 11:18:39 +0000 Tim-Philipp Müller Move dataurisrc element from -bad https://bugzilla.gnome.org/show_bug.cgi?id=774527 2016-11-28 12:28:28 +0200 Sebastian Dröge * gst/gstmessage.c: message: Ensure that the "debug" field of error/warning/info messages is valid UTF-8 The caller might pass arbitrary data here that caused the error, and trying to set invalid UTF-8 in a GstStructure causes it to be not set at all. Later when trying to parse it, the field will not exist and the return value will point to invalid memory. Prevent this by storing NULL instead. Also print a g_warning(), the caller should never ever do this to begin with. 2016-11-26 11:20:51 +0000 Tim-Philipp Müller * .gitmodules: common: use https protocol for common submodule https://bugzilla.gnome.org/show_bug.cgi?id=775110 2016-11-26 11:06:20 +0000 Hanno Boeck * scripts/create-uninstalled-setup.sh: scripts: create-uninstalled-setup: use https protocol to clone repos The git:// protocol is problematic from a security perspective, as it provides no authenticity of data. https:// also works better in environments with restricted network connectivity. Also add CLONE_OPTS to do shallow checkouts more easily. https://bugzilla.gnome.org/show_bug.cgi?id=775110 2016-11-15 03:03:22 +0800 Ting-Wei Lan * meson.build: meson: Support execinfo.h on FreeBSD by using -lexecinfo FreeBSD supports execinfo.h and backtrace* functions, but using them requires linking with -lexecinfo. Requires sufficiently-new meson with #1053 fixed (post-0.36). https://bugzilla.gnome.org/show_bug.cgi?id=774424 2016-11-23 18:56:20 +0100 Edward Hervey * tools/Makefile.am: tools: Remove files to be cleaned manpages are no longer auto-generated cov-related files should not be there (if needed we could use gitignore) 2016-11-04 18:54:10 -0400 Olivier Crête * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesink.h: basesink: Document the interaction between unlock() and wait_preroll() This was totally non-obvious, the kind of big problem is that subclasses must be able to unblock their streaming thread and continue exactly where they left off on unpause! https://bugzilla.gnome.org/show_bug.cgi?id=773912 2016-11-04 18:46:45 -0400 Olivier Crête * plugins/elements/gstelements_private.c: * plugins/elements/gstelements_private.h: * plugins/elements/gstfdsink.c: * plugins/elements/gstfdsink.h: * plugins/elements/gstfilesink.c: fdsink: Block in preroll_wait on unlock The correct behaviour of anything stuck in the ->render() function between ->unlock() and ->unlock_stop() is to call gst_base_sink_wait_preroll() and only return an error if this returns an error, otherwise, it must continue where it left off! https://bugzilla.gnome.org/show_bug.cgi?id=773912 2016-11-23 18:57:17 +0200 Sebastian Dröge * gst/gstelement.c: element: Don't increment NULL pointers Trivial workaround for coverity false warning. CID 1394488, 1394487. 2016-11-23 09:58:44 +0000 Tim-Philipp Müller * tools/.gitignore: * tools/Makefile.am: tools: fix distcheck and .gitignore 2016-11-03 10:30:53 +0100 Antonio Ospite * tools/meson.build: meson: tools: install the man pages https://bugzilla.gnome.org/show_bug.cgi?id=773917 2016-11-03 10:30:53 +0100 Antonio Ospite * tools/.gitignore: * tools/Makefile.am: * tools/gst-inspect-1.0.1: * tools/gst-launch-1.0.1: * tools/gst-typefind-1.0.1: tools: ship the final man pages directly, no more man pages templates Don't use templates for the man pages, the API version change is a rare event, so it's not really worth keeping in place the "sed" boilerplate to have it set at build time. Shipping the final man pages directly also makes it easer to install the man pages with meson (in a future commit). Note that now all the occurrences of the programs names have the API version as a suffix. Traditionally the example command lines looked like: gst-launch ... Now they look like: gst-launch-1.0 ... This reflects the actual programs names and makes it easier to copy and paste the example commands. Also, the .gitignore file is adjusted not to ignore the final man pages anymore. You may need to clean your src/build directory before pulling in this patch. https://bugzilla.gnome.org/show_bug.cgi?id=773917 2016-11-18 13:09:21 +1100 Matthew Waters * docs/libs/gstreamer-libs-docs.sgml: * docs/libs/gstreamer-libs-sections.txt: * libs/gst/controller/Makefile.am: * libs/gst/controller/gstproxycontrolbinding.c: * libs/gst/controller/gstproxycontrolbinding.h: * libs/gst/controller/meson.build: * tests/check/libs/controller.c: * win32/common/libgstcontroller.def: controllers: add new proxy control binding Allows proxying the control interface from one property on one GstObject to another property (of the same type) in another GstObject. E.g. in a parent-child relationship, one may need to gst_object_sync_values() on the child and have a binding (set elsewhere) on the parent update the value. Note: that this doesn't solve GObject property forwarding and must be taken care of by the implementation manually or using GBinding. https://bugzilla.gnome.org/show_bug.cgi?id=774657 2016-10-07 11:39:26 +0100 Julien Isorce * gst/gstmemory.c: * tests/check/gst/gstmemory.c: memory: log with GST_INFO instead GST_ERROR when subclass map failed. Add unit test to ensure that. It can be a normal execution path to do some map trials and there is no need to worry the user in that case. The application has to check the return value of gst_memory_map. https://bugzilla.gnome.org/show_bug.cgi?id=765600 2016-11-17 17:37:16 +0200 Sebastian Dröge * libs/gst/base/gstbasetransform.c: basetransform: Ensure to set the RECONFIGURE flag again if reconfiguration failed It might've failed just because of flushing or other things, and we should retry again on the next possibility if something ever calls in here again. https://bugzilla.gnome.org/show_bug.cgi?id=774623 2016-11-17 16:39:52 -0800 Scott D Phillips * meson.build: meson: add_global_arguments -> add_project_arguments https://bugzilla.gnome.org/show_bug.cgi?id=774656 2016-11-16 23:19:28 +1100 Jan Schmidt * plugins/elements/gstmultiqueue.c: multiqueue: Make sure not-linked streams get woken up When running in sync-by-running-time mode, pad groups that have exactly 1 pad and it's not-linked might never wake up after computing a high time, as the per-pad-group high time was only recomputed when a pad in the group advances. Wake those up using the global multiqueue high-time across all other groups instead. https://bugzilla.gnome.org/show_bug.cgi?id=774322 2016-11-16 10:55:29 +0000 Tim-Philipp Müller * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * gst/gstbin.h: * gst/gstelement.h: * gst/gstutils.h: docs: misc fixes 2016-11-16 10:51:48 +0000 Tim-Philipp Müller * gst/gstutils.h: utils: use temp var in fallback GST_WRITE_*() macros To make sure the value is only expanded/used once, in case there are side effects to it, and to avoid calculating it or looking it up multiple times if there is a calculation or lookup involved. 2016-11-16 00:30:26 +1100 Jan Schmidt * libs/gst/base/gstbaseparse.c: baseparse: Fix previous commit Check the correct segment format value. parse->segment.format is the format we're outputting in, not the upstream format. Use parse->priv->upstream_format instead, and make sure it's set in pull mode. 2016-11-15 23:51:06 +1100 Jan Schmidt * libs/gst/base/gstbaseparse.c: baseparse: Restrict query/convert responses when demuxing If the parser is not parsing a raw elementary stream, restrict the position, duration and conversion query replies to things we can sensibly answer about - especially don't do random conversions to/from bytes. 2016-11-15 22:39:43 +1100 Jan Schmidt * plugins/elements/gstdownloadbuffer.c: * plugins/elements/gstqueue.c: * plugins/elements/gstqueue2.c: * plugins/elements/gsttypefindelement.c: queues: Don't return negative position queries. When subtracting queued data sizes from upstream queries in queue, queue2, downloadbuffer and typefind, clamp the result to not go negative, in case upstream returned a nonsense value that's too small (as could happen if upstream is estimating, or just broken) 2016-11-14 11:27:05 -0800 Scott D Phillips * gst/gstbuffer.c: * gst/gstprotection.c: * libs/gst/net/gstnetaddressmeta.c: * libs/gst/net/gstnetcontrolmessagemeta.c: Cast away const from GstMetaInfo in *_get_meta_info() functions MSVC warns about the const in the implicit argument conversion in the calls to g_once_init_{enter,leave}. It's OK so explicitly cast it. https://bugzilla.gnome.org/show_bug.cgi?id=774293 2016-11-14 11:32:51 -0800 Scott D Phillips * libs/gst/base/gsttypefindhelper.c: typefindhelper: Update prototype of helper_find_suggest() forward declaration prototype is updated to match the change in: 5a72c23 Change some types to match their prototypes https://bugzilla.gnome.org/show_bug.cgi?id=774293 2016-11-14 21:28:22 +0000 Tim-Philipp Müller * Makefile.am: * configure.ac: * win32/MANIFEST: * win32/README.txt: * win32/common/config.h: * win32/common/gstconfig.h: * win32/common/gstenumtypes.c: * win32/common/gstenumtypes.h: * win32/common/gstversion.h: win32: remove copies of generated headers 2016-11-14 21:18:13 +0000 Tim-Philipp Müller * configure.ac: * docs/Makefile.am: * docs/htmlinstall.mak: * docs/image-eps: * docs/image-pdf: * docs/image-png: * docs/manuals.mak: * docs/slides/Makefile.am: * docs/slides/README: * docs/slides/abstract: * docs/slides/abstract.save: * docs/slides/outline: * docs/slides/slides: * docs/url.entities: * docs/xsl/Makefile.am: * docs/xsl/admon.xsl: * docs/xsl/css.xsl: * docs/xsl/fileext.xsl: * docs/xsl/fo.xsl: * docs/xsl/html.xsl: * docs/xsl/keycombo.xsl: * docs/xsl/ulink.xsl: docs: remove more docbook build cruft that's no longer needed 2016-11-14 21:29:43 +0100 Stefan Sauer * docs/README: docs/README: remove more outdated pieces of info/advice 2016-10-20 22:32:50 +0200 Stefan Sauer * docs/design/part-tracing.txt: * scripts/gst-plot-traces.sh: scripts/gst-plot-traces.sh: make log parsing a bit more solid Use grep -o to grab the log message only. This makes it work with colored log files too. Prefilter the log to not catch tracer classes. Update the commandline for the script in the docs. 2016-10-20 15:38:46 -0300 Thibault Saunier * gst/printf/meson.build: * libs/gst/check/libcheck/meson.build: * meson.build: meson: require meson 0.36 and use new `pic` arg on static libs Removes a meson warning and some special casing we had. 2016-11-11 10:30:44 -0800 Scott D Phillips * gst/gstevent.h: * gst/gsttask.c: * libs/gst/base/gsttypefindhelper.c: Change some types to match their prototypes Particularly note that the underlying integer type of the enum GstTypeFindProbability is implementation dependent and may not match guint. https://bugzilla.gnome.org/show_bug.cgi?id=774293 2016-11-14 18:04:28 +0000 Tim-Philipp Müller * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: po: update for new translatable strings 2016-11-14 17:46:07 +0000 Tim-Philipp Müller * Makefile.am: * autogen.sh: * configure.ac: * docs/Makefile.am: * docs/README: * docs/faq/.gitignore: * docs/faq/Makefile.am: * docs/faq/base.css: * docs/faq/dependencies.xml: * docs/faq/developing.xml: * docs/faq/faq.xml: * docs/faq/general.xml: * docs/faq/getting.xml: * docs/faq/git.xml: * docs/faq/legal.xml: * docs/faq/start.xml: * docs/faq/troubleshooting.xml: * docs/faq/using.xml: * gstreamer.spec.in: docs: remove FAQ which was moved into gst-docs module 2015-04-29 12:34:49 +0200 Nicola Murino * scripts/gst-uninstalled: gst-uninstalled: add GIO_EXTRA_MODULES In case glib is installed into local prefix dir. https://bugzilla.gnome.org/show_bug.cgi?id=748626 2016-11-12 12:36:05 +0000 Tim-Philipp Müller * gst/gstutils.h: utils: faster GST_WRITE_* macros if unaligned access is possible https://bugzilla.gnome.org/show_bug.cgi?id=599546 2016-11-11 20:31:03 +0000 Tim-Philipp Müller * gst/parse/grammar.y: parse: better error message when linking two elements with capsfilter fails https://bugzilla.gnome.org/show_bug.cgi?id=760550 2016-11-11 16:11:15 +0000 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gstinfo.c: * gst/gstinfo.h: * win32/common/libgstreamer.def: Add gst_print(), gst_println(), gst_printerr(), gst_printerrln() Useful for debugging. https://bugzilla.gnome.org/show_bug.cgi?id=766470 2016-11-11 10:23:17 -0800 Scott D Phillips * gst/gsttaglist.c: taglist: remove `return void` in gst_tag_register MSVC warns on this and the documentation about the warning says: > The compiler assumes the function returns a value of type int which is a little scary, so lets just remove the unnecessary 'return' https://bugzilla.gnome.org/show_bug.cgi?id=774293 2016-05-09 15:32:43 +0200 Nicolas Huet * tests/check/libs/adapter.c: tests: add unit test for gst_adapter_prev_pts_at_offset() https://bugzilla.gnome.org/show_bug.cgi?id=765662 2016-04-27 10:57:29 +0200 Nicolas Huet * libs/gst/base/gstadapter.c: adapter: fix distance when getting prev pts/dts at offset https://bugzilla.gnome.org/show_bug.cgi?id=765662 2016-10-26 22:38:07 -0700 Scott D Phillips * meson.build: meson: don't add_global_arguments when being built as a subproject https://bugzilla.gnome.org/show_bug.cgi?id=773568 2016-07-21 10:52:30 +0200 Guillaume Desmottes * libs/gst/base/gstbasetransform.c: basetransform: fix pool leak when early returning in decide_allocation https://bugzilla.gnome.org/show_bug.cgi?id=769023 2016-07-27 13:39:50 +0200 Guillaume Desmottes * gst/gstinfo.c: info: add GstStream and GstStreamCollection support to gst_debug_print_object() https://bugzilla.gnome.org/show_bug.cgi?id=769220 2016-08-12 08:03:41 +0900 Seungha Yang * libs/gst/base/gstbasesrc.c: basesrc: Support PROTECTION event from application Application may want to send PROTECTION event to the src element. https://bugzilla.gnome.org/show_bug.cgi?id=769775 2016-11-03 13:34:18 +0100 Antonio Ospite * tools/meson.build: meson: tools: generate the targets dynamically The three targets are the same except for input and output files, use a loop and generate them dynamically. https://bugzilla.gnome.org/show_bug.cgi?id=773917 2016-11-03 15:21:05 +0100 Antonio Ospite * tools/gst-inspect.1.in: * tools/gst-typefind.1.in: tools: don't mention gst-feedback in man pages gst-feedback no longer exists. https://bugzilla.gnome.org/show_bug.cgi?id=773917 2016-11-03 00:18:21 +0100 Antonio Ospite * tools/gst-launch.1.in: tools: put the examples descriptions before the commands in man page Put the description of the example command lines before the command instead of after them. The new way is more intuitive. https://bugzilla.gnome.org/show_bug.cgi?id=773917 2016-11-02 22:56:01 +0100 Antonio Ospite * tools/gst-launch.1.in: tools: don't start lines with single quotes in man page When a line starts with a single quote it's treated in a special way by man, which may result in paragraphs of the man page not rendered by the man pager, so just avoid that. A possible solution could have been to escape the singe quote with a \(cq sequence but this is rather unreadable, instead the text has been reformatted to have the problematic quoted 'ppc' string on the previous line. https://bugzilla.gnome.org/show_bug.cgi?id=773917 2016-11-02 22:36:27 +0100 Antonio Ospite * tools/gst-inspect.1.in: * tools/gst-launch.1.in: * tools/gst-typefind.1.in: tools: escape dashes in the man pages The portable way to have the dashes to be rendered as ASCII minuses is to use the sequence backslash-dash, use this style at least for text that can be copied and pasted (e.g. command names, file names, element options). Also use backslash-dash in the NAME section as suggested by lexgrog(1). https://bugzilla.gnome.org/show_bug.cgi?id=773917 2016-11-11 04:42:30 +0530 Nirbheek Chauhan * libs/gst/net/meson.build: meson: Fir dependencies of gstnet-1.0 It depends on gst_base_dep which will pull in gst_dep 2016-11-11 04:41:39 +0530 Nirbheek Chauhan * libs/gst/base/meson.build: meson: Add GstBase-1.0.gir to gst_base_dep Without this, GIR generators can't find and use it 2016-11-10 13:42:46 +0000 Tim-Philipp Müller * libs/gst/base/gstbaseparse.c: * win32/common/libgstbase.def: baseparse: add since marker for new API to docs and fix win32 .def file 2016-11-10 12:47:37 +0000 Vincent Penquerc'h * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbaseparse.h: * win32/common/libgstbase.def: baseparse: expose gst_base_parse_drain 2016-11-09 14:07:28 -0300 Thibault Saunier * libs/gst/base/meson.build: * libs/gst/controller/meson.build: * libs/gst/net/meson.build: meson: Advertise dependency on gst_dep generating girs And do not simply link to libgst as the gir information location only exist in declare_dependecy https://bugzilla.gnome.org/show_bug.cgi?id=774044 2016-11-08 17:09:53 +0100 Victor Toso * tests/misc/netclock-replay.c: tests: Fix compile warning on mingw64 In file included from ../../libs/gst/net/gstntppacket.c:35:0, from netclock-replay.c:25: ../../config.h:546:0: error: "__MSVCRT_VERSION__" redefined [-Werror] #define __MSVCRT_VERSION__ 0x0601 In file included from /usr/x86_64-w64-mingw32/sys-root/mingw/include/crtdefs.h:10:0, from /usr/x86_64-w64-mingw32/sys-root/mingw/include/stdio.h:9, from netclock-replay.c:21: /usr/x86_64-w64-mingw32/sys-root/mingw/include/_mingw.h:220:0: note: this is the location of the previous definition # define __MSVCRT_VERSION__ 0x0700 https://bugzilla.gnome.org/show_bug.cgi?id=774108 2016-11-09 11:37:09 +0200 Sebastian Dröge * plugins/elements/gstfunnel.c: funnel: Make sure to only lock the stream lock once We also only unlock it once, and otherwise have it locked forever from this thread, causing deadlocks on shutdown later. 2016-11-08 16:58:53 +0100 Victor Toso * gst/gstpoll.c: pool: Fix compiler warning on mingw64 gstpoll.c: In function 'release_event': gstpoll.c:239:3: error: suggest parentheses around assignment used as truth value [-Werror=parentheses] if (status = WaitForSingleObject (set->wakeup_event, INFINITE)) { ^~ https://bugzilla.gnome.org/show_bug.cgi?id=774108 2016-11-04 21:15:58 +0000 Tim-Philipp Müller * win32/common/libgstreamer.def: win32: update .def for new API 2016-11-04 10:19:17 -0300 Thibault Saunier * meson.build: meson: Unset the plugin paths to generate the .gir files Avoiding problems when using subproject: Failed to load plugin 'something.so: file too short 2016-10-10 16:40:21 +0200 Thibault Saunier * gst/gstinfo.c: debug: Remove the Gst only based stack trace printing implementation We now have 2 other implementations that should work better. https://bugzilla.gnome.org/show_bug.cgi?id=772555 2016-10-07 12:02:44 +0200 Thibault Saunier * plugins/tracers/Makefile.am: * plugins/tracers/gstleaks.c: * plugins/tracers/meson.build: tracers: leaks: Use the new gst_debug_get_stack_trace And remove the local implementation of it. https://bugzilla.gnome.org/show_bug.cgi?id=772555 2016-10-07 11:38:27 +0200 Thibault Saunier * config.h.meson: * configure.ac: * docs/gst/gstreamer-sections.txt: * gst/Makefile.am: * gst/gstinfo.c: * gst/gstinfo.h: * gst/meson.build: * meson.build: * plugins/tracers/meson.build: gst: Use libunwind/libdw to generate backtraces if avalaible Making the gst_debug_print_trace function more generally useful. API: + gst_debug_get_trace https://bugzilla.gnome.org/show_bug.cgi?id=772555 2016-11-02 13:57:51 +0100 Antonio Ospite * tools/gst-launch.c: tools: gst-launch: fix minor memory leak when failing to parse options Commit 215cfcf99338 (gstreamer: Fix memory leaks when context parse fails) fixes some memory leak, but in one of the newly added calls to g_clear_error() the wrong variable was passed. When failing to parse command line options, free the "err" variable, not the "error" one. https://bugzilla.gnome.org/show_bug.cgi?id=773907 2016-11-03 15:22:34 -0400 Nicolas Dufresne * libs/gst/base/gstbasesink.c: basesink: Make sure we never drop the preroll buffer This is cosmetic as 'late' should never be set during preroll (in pause). Though code may evolve in the future, so this is good for preventing potential bugs. https://bugzilla.gnome.org/show_bug.cgi?id=772468 2016-10-05 14:26:11 -0400 Nicolas Dufresne * libs/gst/base/gstbasesink.c: basesink: Don't nest prepare/render calls When the first buffer arrives, we endup calling: ->prepare() ->prepare() ->preroll() ->render() This will likely confuse any element using this method. With this patch, we ensure the preroll take place before the first render prepare() is called. This will result in: ->prepare() ->preroll() ->prepare() ->render() https://bugzilla.gnome.org/show_bug.cgi?id=772468 2016-11-02 16:27:58 +0000 Luis de Bethencourt * libs/gst/base/gstbasesink.c: basesink: fix typo in documentation Small typo in the documentatin of gst_base_sink_set_drop_out_of_segment(). Fixing it. 2016-11-02 16:35:59 +0200 Sebastian Dröge * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesink.h: basesink: Fix gst_base_sink_set_drop_out_of_segment() documentation Also silences a GI warning. 2016-11-02 14:11:43 +0530 Nirbheek Chauhan * libs/gst/check/libcheck/clock_gettime.c: clock_gettime.c: Use __APPLE__ instead of __MACH__ Hurd also defines __MACH__, but it does not have mach_absolute_time. Use the more strict __APPLE__ instead. Has also been sent upstream: https://github.com/libcheck/check/pull/65 2016-11-02 14:01:38 +0530 Nirbheek Chauhan * m4/check-checks.m4: build: Fix AM_CONDITIONAL check for clock_gettime It was always evaluating to false, so clock_gettime.c was always being included into libcheck. This breaks building on Hurd and causes us to always override clock_gettime() even when it is available. https://bugzilla.gnome.org/show_bug.cgi?id=773813 2016-11-02 10:12:58 +0200 Sebastian Dröge * gst/meson.build: gst: Also include the gstdynamictypefactory.c source file in the build 2016-11-02 10:04:01 +0200 Sebastian Dröge * gst/Makefile.am: * gst/meson.build: gst: Install gstdynamictypefactory.h header file 2016-11-02 09:35:05 +0200 Sebastian Dröge * libs/gst/base/gstbaseparse.c: Revert "baseparse: fix draining with less data than min frame size available" This reverts commit 2e278aeb7128e8732f5324ab8c8b22a47950c80a. Some parsers, specifically audio parsers, assume to get all remaining data on EOS and just pass them onwards. While the idea here is correct, we will probably need a property for this on baseparse for parsers to opt-in. https://bugzilla.gnome.org/show_bug.cgi?id=773666 2015-06-26 03:29:27 +1000 Jan Schmidt * gst/parse/grammar.y: * gst/parse/parse.l: * gst/parse/types.h: * tests/check/pipelines/parse-launch.c: * tools/gst-launch.1.in: parse-launch: Support linking all pads with new operator Introduce a new operator ':' - e.g. element1 ':' element2 For example, 'uridecodebin : encodebin' - if the encodebin has multiple profiles compatible with the decodebin, multiple links will be created. With '!' , after one delayed link is successfully done, the pad-added callback is disconnected. https://bugzilla.gnome.org/show_bug.cgi?id=751450 2016-11-02 11:32:42 +1100 Jan Schmidt * libs/gst/base/gstbasesink.c: * win32/common/libgstbase.def: Add new basesink API to exports and Since markers Add Since markers to the new basesink API to drop out-of-segment buffers, and add them to the win32 exports 2015-05-14 00:25:21 +1000 Jan Schmidt * gst/Makefile.am: * gst/gst.h: * gst/gst_private.h: * gst/gstdynamictypefactory.c: * gst/gstdynamictypefactory.h: * gst/gstelementfactory.h: * gst/gstregistrybinary.c: * gst/gstregistrychunks.c: * gst/gstregistrychunks.h: * gst/gststructure.c: * gst/gstvalue.c: * win32/common/libgstreamer.def: dynamic types: Implement dynamic types in the registry Implement GstDynamicTypeFactory as a new registry feature. GstDynamicTypeFactory provides a way of registering a GType into the registry, such that it will be registered as a dynamic type when the registry is loaded, and then automatically loaded if the type is needed during caps parsing. This allows using non-core types in pad templates, by loading a registry feature to create the GType on the fly. https://bugzilla.gnome.org/show_bug.cgi?id=750079 2016-04-29 02:38:49 +1000 Jan Schmidt * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesink.h: * plugins/elements/gstfakesink.c: fakesink: Add property to not drop out-of-segment buffers Implement handling in basesink to not unconditionally discard out-of-segment buffers and expose it as a new property on fakesink (not unconditionally in all basesink based sinks). The property defaults to FALSE. https://bugzilla.gnome.org/show_bug.cgi?id=765734 2016-11-01 23:54:05 +0200 Sebastian Dröge * gst/gstvalue.c: value: Update GstValue table size for GValueArray 2016-07-07 19:41:49 +0300 Sebastian Dröge * plugins/elements/gstfunnel.c: funnel: Always push all sticky events whenever we forward a serialized event Otherwise downstream will have an inconsistent set of sticky events at this point, e.g. when a TAG event is pushed and downstream wants to relate it to the stream by looking at the current STREAM_START event. https://bugzilla.gnome.org/show_bug.cgi?id=768526 2016-03-29 10:38:05 +0300 Sebastian Dröge * plugins/elements/gsttee.c: tee: Set GST_PAD_FLAG_PROXY_CAPS before forwarding sticky events https://bugzilla.gnome.org/show_bug.cgi?id=752213 2016-10-29 11:17:38 +0100 Tim-Philipp Müller * libs/gst/base/gstbaseparse.c: baseparse: fix draining with less data than min frame size available baseparse would pass whatever is left in the adapter to the subclass when draining, even if it's less than the minimum frame size required. This is bogus, baseparse should just discard that data then. The original intention of that code seems to have been that if we have more data available than the minimum required we should pass all of the data available and not just the minimum required, which does make sense, so we'll continue to do that in the case that more data is available. Fixes assertions in rawvideoparse on EOS after not-negotiated with fakesrc sizetype=random ! queue ! rawvideoparse format=rgb ! appsink caps=video/x-raw,format=I420 https://bugzilla.gnome.org/show_bug.cgi?id=773666 2015-10-29 22:51:18 +0100 Stian Selnes * gst/gstinfo.c: info: Replace %p and %r in GST_DEBUG_FILE It's useful to be able to set a name pattern for GST_DEBUG_FILE so that the same environment variable can be used for multiple processes and still write to different files. Especially useful if these processes run simultaneously. %p: Replaced with PID %r: Replaced with random number %p is obviously useful. %r is useful when for instance running two processes with same PID but in different containers. https://bugzilla.gnome.org/show_bug.cgi?id=773092 2013-05-02 10:09:29 +0200 Stian Selnes * gst/gst.c: * gst/gstregistry.c: registry: set env GST_REGISTRY_DISABLE=yes to disable registry If GST_REGISTRY_DISABLE=yes the registry is disabled similar to compile time switch GST_DISABLE_REGISTRY. https://bugzilla.gnome.org/show_bug.cgi?id=773089 2015-11-11 16:43:40 +0100 Stian Selnes * gst/gstvalue.c: gstvalue: Make GValueArray serializable For instance very useful for logging GValueArray with GST_PTR_FORMAT https://bugzilla.gnome.org/show_bug.cgi?id=761918 2016-04-29 16:26:49 +0900 Wonchul Lee * gst/gstelement.c: * gst/gstpadtemplate.c: * tests/check/gst/gstelement.c: * tests/check/gst/gstpad.c: element: Allow multiple conversion specifiers for request pads This allows pad template names like "src_%u_%u", but it does not allow multiple specifiers of string type %s as that would lead to ambiguities. https://bugzilla.gnome.org/show_bug.cgi?id=761225 2015-11-05 17:13:25 -0300 Thiago Santos * gst/gstpad.c: * gst/gstpad.h: pad: add no-reconfigure link check Enable it to prevent sending reconfigure when linking elements. Useful for autoplugging when we know caps or bufferpools shouldn't change to save doing caps renegotiation to end up with the same final scenario. The no-reconfigure is not a proper check, it is a flag. It is implemented as a GstPadLinkCheck to avoid creating another gst_pad_link variant. https://bugzilla.gnome.org/show_bug.cgi?id=757653 2016-11-01 18:08:18 +0000 Tim-Philipp Müller * meson.build: meson: update version 2016-11-01 17:35:18 +0000 Tim-Philipp Müller * configure.ac: * docs/Makefile.am: * docs/manual/.gitignore: * docs/manual/Makefile.am: * docs/manual/README: * docs/manual/advanced-autoplugging.xml: * docs/manual/advanced-buffering.xml: * docs/manual/advanced-clocks.xml: * docs/manual/advanced-dataaccess.xml: * docs/manual/advanced-dparams.xml: * docs/manual/advanced-interfaces.xml: * docs/manual/advanced-metadata.xml: * docs/manual/advanced-position.xml: * docs/manual/advanced-threads.xml: * docs/manual/appendix-checklist.xml: * docs/manual/appendix-compiling.xml: * docs/manual/appendix-integration.xml: * docs/manual/appendix-licensing.xml: * docs/manual/appendix-porting.xml: * docs/manual/appendix-programs.xml: * docs/manual/appendix-quotes.xml: * docs/manual/base.css: * docs/manual/basics-bins.xml: * docs/manual/basics-bus.xml: * docs/manual/basics-data.xml: * docs/manual/basics-elements.xml: * docs/manual/basics-helloworld.xml: * docs/manual/basics-init.xml: * docs/manual/basics-pads.xml: * docs/manual/basics-plugins.xml: * docs/manual/bin-element-ghost.png: * docs/manual/bin-element-noghost.png: * docs/manual/bin-element.png: * docs/manual/clocks.png: * docs/manual/communication.png: * docs/manual/diagrams-clocks.svg: * docs/manual/diagrams-general.svg: * docs/manual/diagrams-pipelines.svg: * docs/manual/filter-element-multi.png: * docs/manual/filter-element.png: * docs/manual/gstreamer-overview.png: * docs/manual/hello-world.png: * docs/manual/highlevel-playback.xml: * docs/manual/highlevel-xml.xml: * docs/manual/images/.gitignore: * docs/manual/intro-basics.xml: * docs/manual/intro-gstreamer.xml: * docs/manual/intro-motivation.xml: * docs/manual/intro-preface.xml: * docs/manual/linked-elements.png: * docs/manual/manual.xml: * docs/manual/mime-world.png: * docs/manual/outline.txt: * docs/manual/simple-player.png: * docs/manual/sink-element.png: * docs/manual/src-element.png: * docs/manual/state-diagram.svg: * docs/manual/thread-buffering.png: * docs/manual/thread-synchronizing.png: * docs/manual/titlepage.xml: * docs/pwg/.gitignore: * docs/pwg/Makefile.am: * docs/pwg/advanced-allocation.xml: * docs/pwg/advanced-clock.xml: * docs/pwg/advanced-dparams.xml: * docs/pwg/advanced-events.xml: * docs/pwg/advanced-interfaces.xml: * docs/pwg/advanced-negotiation.xml: * docs/pwg/advanced-qos.xml: * docs/pwg/advanced-request.xml: * docs/pwg/advanced-scheduling.xml: * docs/pwg/advanced-tagging.xml: * docs/pwg/advanced-types.xml: * docs/pwg/appendix-checklist.xml: * docs/pwg/appendix-licensing.xml: * docs/pwg/appendix-porting.xml: * docs/pwg/appendix-python.xml: * docs/pwg/base.css: * docs/pwg/building-boiler.xml: * docs/pwg/building-chainfn.xml: * docs/pwg/building-eventfn.xml: * docs/pwg/building-pads.xml: * docs/pwg/building-props.xml: * docs/pwg/building-queryfn.xml: * docs/pwg/building-signals.xml: * docs/pwg/building-state.xml: * docs/pwg/building-testapp.xml: * docs/pwg/intro-basics.xml: * docs/pwg/intro-preface.xml: * docs/pwg/other-base.xml: * docs/pwg/other-manager.xml: * docs/pwg/other-ntoone.xml: * docs/pwg/other-oneton.xml: * docs/pwg/other-sink.xml: * docs/pwg/other-source.xml: * docs/pwg/pwg.xml: * docs/pwg/titlepage.xml: * tests/examples/Makefile.am: * tests/examples/manual/.gitignore: * tests/examples/manual/Makefile.am: * tests/examples/manual/extract.pl: docs: remove app dev manual and plugin writer's guide They have moved to gst-docs and will be maintained there in future. === release 1.11.0 === 2016-11-01 18:53:15 +0200 Sebastian Dröge * configure.ac: Back to development === release 1.10.0 === 2016-11-01 17:50:24 +0200 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * gstreamer.doap: * win32/common/config.h: * win32/common/gstenumtypes.c: * win32/common/gstversion.h: Release 1.10.0 2016-11-01 17:40:11 +0200 Sebastian Dröge * po/nb.po: Update .po files 2016-11-01 17:38:43 +0200 Sebastian Dröge * po/nb.po: po: Update translations 2016-11-01 17:36:02 +0200 Sebastian Dröge * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files 2016-10-25 12:21:07 +0530 Nirbheek Chauhan * meson.build: * meson_options.txt: meson: Add an option to explicitly disable gtk-doc Similar to how Autotools provides an option, default is 'enabled'. 2016-10-24 11:45:38 -0400 Nicolas Dufresne * libs/gst/base/gstcollectpads.c: Revert "collectpads: Assume PTS is equal DTS if PTS is missing" This reverts commit 9b0d42ceecb3198399d7e05e3d5f080a7ca27ca9. https://bugzilla.gnome.org/show_bug.cgi?id=762207 2016-10-18 11:59:25 -0400 Nicolas Dufresne * gst/gstallocator.c: allocator: Mark registered allocator for leak 2016-06-21 08:00:30 -0500 Andrew Eikum * gst/gstmessage.h: gstmessage.h: Avoid gcc bit shift overflow compiler warning Avoids bit shift overflow warning with gcc6. https://bugzilla.gnome.org/show_bug.cgi?id=767882 (glib) https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71803 (gcc) https://bugzilla.gnome.org/show_bug.cgi?id=767883 2016-10-23 22:11:08 +0100 Tim-Philipp Müller * gst/parse/grammar.y: parse: fix erroneous use of _("") Fixes xgettext warnings when doing 'make update-po': gst/parse/grammar.y:217: warning: Empty msgid. It is reserved by GNU gettext: gettext("") returns the header entry with meta information, not the empty string. 2016-10-22 17:05:44 +0100 Tim-Philipp Müller * docs/gst/gstreamer-docs.sgml: * docs/libs/gstreamer-libs-docs.sgml: docs: add index for API new in 1.10 2016-10-22 17:05:25 +0100 Tim-Philipp Müller * docs/gst/gstreamer-docs.sgml: * docs/libs/gstreamer-libs-docs.sgml: docs: add index for API new in 1.8 2016-10-21 15:40:47 +0200 Jesper Larsen * libs/gst/base/gstadapter.c: adapter: Fix mix-up between DTS and PTS https://bugzilla.gnome.org/show_bug.cgi?id=773319 2016-10-21 15:22:28 +0300 Sebastian Dröge * plugins/elements/gstqueue.c: Revert "queue: Fix race when calculating cur_level.time" This reverts commit d03bd547809f849405a3f706920091d9b03147b0. It breaks the unit test, although it ensures that only correct values are used for calculations. Needs to be fixed up. https://bugzilla.gnome.org/show_bug.cgi?id=773096 2016-10-20 17:19:25 -0300 Thibault Saunier * gst/printf/meson.build: * libs/gst/check/libcheck/meson.build: * meson.build: Revert "meson: Use the new `pic` argument on static libs" This reverts commit a5752240a178c2c651ed10167025fad8b9c4e7bd. pic was added after 0.35 and will be present in 0.36 (meson documentation was wrong). 2016-10-20 15:38:46 -0300 Thibault Saunier * gst/printf/meson.build: * libs/gst/check/libcheck/meson.build: * meson.build: meson: Use the new `pic` argument on static libs We depend on meson 0.35 which makes it simpler to handle Removes a meson warning 2016-09-14 14:23:56 +0200 Stian Selnes * plugins/elements/gstqueue.c: queue: Fix race when calculating cur_level.time On the first buffer, it's possible that sink_segment is set but src_segment has not been set yet. If this is the case, we should not calculate cur_level.time since sink_segment.position may be large and src_segment.position default is 0, with the resulting diff being larger than max-size-time, causing the queue to start leaking (if leaky=downstream). One potential consequence of this is that the segment event may be stored on the srcpad before the caps event is pushed downstream, causing a g_warning ("Sticky event misordering, got 'segment' before 'caps'"). https://bugzilla.gnome.org/show_bug.cgi?id=773096 2016-09-27 00:00:30 +1000 Matthew Waters * gst/gstelement.c: element: use g_strcmp0 in set_context It's NULL-safe while the libc implementation may not be. https://bugzilla.gnome.org/show_bug.cgi?id=771773 2016-09-26 23:59:29 +1000 Matthew Waters * gst/gstelement.c: element: check for invalid gstcontext's being provided to set_context https://bugzilla.gnome.org/show_bug.cgi?id=771773 2016-10-18 09:38:04 +0530 Nirbheek Chauhan * configure.ac: * meson.build: build: Apply XCode 8 workaround for iOS too clock_gettime was also added for iOS 10.0, so don't use it if we're targetting an older version. That would've caused the symbol to not be found at runtime on older devices. 2016-10-15 21:49:21 +0530 Nirbheek Chauhan * meson.build: meson: Don't use c_std=c99 Just use the default c_std used by the compiler. With GCC on Linux this is gnu89. Tons of errors related to time.h, signal.h, etc when using c99: FAILED: libs/gst/check/libcheck/check@sta/check_run.c.o cc '-Ilibs/gst/check/libcheck/check@sta' '-fdiagnostics-color=always' '-I../libs/gst/check/libcheck' '-Ilibs/gst/check/libcheck' '-I.' '-I../.' '-Ilibs/gst/check/libcheck/..' '-I../libs/gst/check/libcheck/..' '-pipe' '-Wall' '-Winvalid-pch' '-std=c99' '-DHAVE_CONFIG_H' '-fPIC' '-O2' '-g' '-fPIC' '-MMD' '-MQ' 'libs/gst/check/libcheck/check@sta/check_run.c.o' '-MF' 'libs/gst/check/libcheck/check@sta/check_run.c.o.d' -o 'libs/gst/check/libcheck/check@sta/check_run.c.o' -c ../libs/gst/check/libcheck/check_run.c In file included from ../libs/gst/check/libcheck/check_run.c:21:0: ../libs/gst/check/libcheck/libcompat.h:167:18: warning: ‘struct itimerspec’ declared inside parameter list will not be visible outside of this definition or declaration const struct itimerspec *new_value, struct itimerspec *old_value); ^~~~~~~~~~ ../libs/gst/check/libcheck/check_run.c:98:25: error: array type has incomplete element type ‘struct sigaction’ static struct sigaction old_action[3]; ^~~~~~~~~~ ../libs/gst/check/libcheck/check_run.c:99:25: error: array type has incomplete element type ‘struct sigaction’ static struct sigaction new_action[3]; ^~~~~~~~~~ [...] ninja: build stopped: subcommand failed. The change was originally made because gnu99 was causing issues on OS X. 2016-10-14 11:59:24 +0200 Thibault Saunier * plugins/tracers/gststats.c: stats: Fix warning 2016-10-04 09:20:37 -0300 Thibault Saunier * libs/gst/helpers/meson.build: * meson.build: * tests/check/meson.build: meson: Make use of new environment object and set plugin path to builddir - Properly set where to find gst-plugin-scanner - Use GST_LOADING_WHITELIST so that only core plugins are used Bump meson requirement to 0.35 2016-10-13 18:20:58 +0200 Sebastian Dröge * gst/gstcontrolbinding.c: * gst/gstcontrolbinding.h: controlbinding: Store object in a thread-safe GWeakRef g_object_weak_ref() is not thread-safe. 2016-10-13 18:02:38 +0200 Sebastian Dröge * libs/gst/controller/gstargbcontrolbinding.c: argbcontrolbinding: gst_object_replace() is transfer none 2016-10-13 18:01:14 +0200 Sebastian Dröge * libs/gst/controller/gstdirectcontrolbinding.c: directcontrolbinding: Clarify in the documentation what the difference between absolute and not is 2016-10-13 17:55:45 +0200 Sebastian Dröge * gst/gstcontrolsource.c: controlsource: Remove misleading sentence from the documentation control sources are not required to return values between 0.0 and 1.0. This is completely up to the control binding that is used. 2016-10-13 17:21:30 +0200 Sebastian Dröge * gst/gstobject.c: object: Fix broken sentence structure in docs 2016-10-13 12:18:12 +0100 Vincent Penquerc'h * plugins/tracers/gststats.c: tracers: fix structure leak https://bugzilla.gnome.org/show_bug.cgi?id=772851 2016-10-13 12:03:20 +0200 Edward Hervey * gst/gststreams.h: streams: Extend GstStreamType documentation Users shouldn't assume it will be a single value since it's a flag. 2016-10-03 20:22:53 +0530 Nirbheek Chauhan * configure.ac: * m4/check-checks.m4: * meson.build: build: Fix clock_gettime check with XCode 8 With XCode 8, clock_gettime will be incorrectly detected as being available regardless of what OS X version we're targetting because the symbol is available in the .tbd library as a weak symbol. See: https://github.com/Homebrew/homebrew-core/issues/3727#issue-170086273 It's only starting from macOS 10.12 that clock_gettime is actually available, so we can unconditionally disable it when targetting older versions. We cannot simply do AC_CHECK_FUNCS with -Wl,-no_weak_imports because the autoconf check does its own prototype declaration that doesn't trigger that compiler flag. https://bugzilla.gnome.org/show_bug.cgi?id=772451 2016-10-11 12:12:57 +0200 Edward Hervey * gst/gstbin.h: bin: Add a new GST_BIN_FLAG_STREAMS_AWARE flag This flag is to indicate to child elements that they can add and remove pads at any point in time without re-adding existing ones. Elements should post before-hand a GST_MESSAGE_STREAM_COLLECTION https://bugzilla.gnome.org/show_bug.cgi?id=772741 2016-10-10 10:59:26 +0100 Tim-Philipp Müller * docs/gst/running.xml: docs: paths in env vars are separated by semicolons on windows https://bugzilla.gnome.org/show_bug.cgi?id=772431 2016-10-07 17:02:47 +0200 Guillaume Desmottes * docs/design/part-tracing.txt: docs: fix GST_LEAKS_TRACER_SIG doc The documentation wasn't mentioning the SIGUSR2 signal. https://bugzilla.gnome.org/show_bug.cgi?id=772571 2016-10-08 17:23:08 +0200 Edward Hervey * gst/gstbin.c: bin: Fix iterator resync'ing When we get GST_ITERATOR_RESYNC, we need to call gst_iterator_resync() otherwise we will always get GST_ITERATOR_RESYNC (and that loop would run forever). 2016-10-08 13:54:42 +0200 Edward Hervey * plugins/elements/gstqueue2.c: queue2: Implement gst_event_full_func handling Same as we do for queue 2016-10-08 13:20:58 +0200 Stefan Sauer * plugins/tracers/gstrusage.c: tracer/rusage: fix format string args The format string contains a process id, but we did not provice one. This caused us to log garbage since all args got shifted. 2016-10-01 16:47:05 +0300 Sebastian Dröge * gst/gstmessage.c: message: Fix typo in gst_message_new_progress() docs test -> text 2016-09-30 09:57:57 -0300 Thibault Saunier * hooks/pre-commit.hook: * meson.build: meson: Setup pre-commit hooks when configuring 2016-09-30 11:38:37 +0100 Tim-Philipp Müller * meson.build: meson: update version === release 1.9.90 === 2016-09-30 13:01:17 +0300 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * gstreamer.doap: * win32/common/config.h: * win32/common/gstversion.h: Release 1.9.90 2016-09-30 12:08:52 +0300 Sebastian Dröge * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files 2016-09-30 11:41:14 +0300 Sebastian Dröge * po/de.po: po: Update translations 2016-09-27 18:00:47 +0100 Tim-Philipp Müller * meson.build: * plugins/tracers/meson.build: meson: tracers: signal availability of libunwind and backtrace() to code Not setting cdata here on purpose because of .. complications. 2016-09-26 18:21:19 -0300 Thibault Saunier * config.h.meson: * meson.build: * plugins/meson.build: * plugins/tracers/meson.build: meson: Build tracers 2016-09-23 20:40:39 -0300 Thibault Saunier * docs/gst/meson.build: * docs/libs/meson.build: * docs/meson.build: meson: Fix gtkdoc using new meson features 2016-09-26 12:14:14 +0100 Tim-Philipp Müller * tests/check/gst/gstbuffer.c: * tests/check/gst/gstmemory.c: * tests/check/gst/gstmeta.c: tests: remove unused valgrind stuff Code was also checking the wrong define anyway. 2016-09-26 12:12:12 +0100 Tim-Philipp Müller * tests/check/Makefile.am: * tests/check/pipelines/parse-launch.c: tests: parse-launch: looks clean nowadays, so re-enable for valgrind Also, the valgrind bits weren't hooked up properly anyway, checking the wrong define. 2016-09-24 18:22:26 +0100 Tim-Philipp Müller * config.h.meson: * meson.build: meson: remove incorrect and unneeded check for ptrdiff_t Need to include stddef.h for it, so this would've worked: if cc.has_type('ptrdiff_t', prefix: '#include ') 2016-09-24 18:06:31 +0100 Tim-Philipp Müller * gst/printf/meson.build: meson: fix internal printf for %ll format modifier on 32-bit systems gst/gstprintf unit test would fail on 32-bit x86 with: gstprintf.c:83:printf_I32_I64:0: 'str' (64-bit x value = b5a6978f) is not equal to '"64-bit x value = f1e2d3c4b5a6978f"' 2016-09-23 04:19:47 +0530 Nirbheek Chauhan * gst/meson.build: Revert "meson: Force gstenum_h to be built when using gst_dep" This reverts commit cfc565e2d88a8e7d656b68c5c2a1b7acb08cdb7f. The commit was redundant since gst_gen_sources already contains gstenum_h. We're still investigating why some people are still seeing a racy build failure. 2016-09-23 00:28:53 +0530 Nirbheek Chauhan * gst/meson.build: meson: Force gstenum_h to be built when using gst_dep This forces gstenumtypes.h to be built whenever something uses gst_dep as a subproject dependency. This is needed since gst/gst.h includes gstenumtypes.h Closes https://github.com/mesonbuild/meson/issues/714 which is not actually a Meson bug. 2016-09-19 10:07:51 -0400 Sebastian Dröge * gst/gstbin.c: bin: Add forgotten "git commit --amend" for last commit Need to cast away the const as g_queue_foreach() takes a non-const GQueue* 2016-09-19 10:04:55 -0400 Kouhei Sutou * gst/gstbin.c: bin: When copying the sort iterator, also copy its internal queue Otherwise both iterators share the same references, the second one usually resulting in a crash when being freed. https://bugzilla.gnome.org/show_bug.cgi?id=771649 2016-09-11 15:28:43 +0200 Carlos Rafael Giani * tests/check/elements/queue2.c: queue2: Fix watermark test This carries over code for a similar test from multiqueue to ensure full control over the dataflow while testing. (The previous attempt was racy since the fill level changed without any thread sync with the test code.) https://bugzilla.gnome.org/show_bug.cgi?id=771210 2016-09-11 15:26:26 +0200 Carlos Rafael Giani * plugins/elements/gstqueue2.c: queue2: Update buffering if its enabled and low/high watermarks are changed https://bugzilla.gnome.org/show_bug.cgi?id=771210 2016-09-15 17:38:49 +0530 Arun Raghavan * gst/gstmessage.c: message: Fix documentation for gst_message_new_duration() Seems like there was some documentation left over from when this was gst_message_new_duration(). 2016-09-12 17:41:16 +0200 Sebastian Dröge * libs/gst/base/gstbasesink.c: basesink: Remove unused fields and always use the buffer timestamp difference for calculating the QoS proportion The buffer timestamps are only hints and more often than not have nothing to do with reality. https://bugzilla.gnome.org/show_bug.cgi?id=771306 2016-09-08 12:58:54 +0530 Nirbheek Chauhan * configure.ac: * gst/gstconfig.h.in: * meson.build: gstconfig: Use __declspec when built with MinGW and linking with MSVC Earlier we were only using __declspec(dllexport/import) when we were built with MSVC because when built with MinGW and linking with MinGW we don't need it (and we get linker errors because of it). However, when we're built with MinGW and someone wants to link to us with MSVC, we still need the prototypes to have __declspec(dllimport) since MSVC cannot do auto-import like GCC can. https://bugzilla.gnome.org/show_bug.cgi?id=771029 2016-09-12 17:07:09 +0200 Sebastian Dröge * gst/gstbin.c: bin: Also don't *unset* element flags if they're in the suppressed flags Otherwise our bin might lose various flags that were explicitly set on it at arbitrary times. 2016-09-10 11:59:11 -0300 Thiago Santos * tests/check/gst/gstbin.c: tests: gstbin: add tests for suppressed flags Some simple tests to make sure it keeps working 2016-09-02 17:39:17 +0900 Wonchul Lee * gst/gstbin.c: * gst/gstbin.h: * win32/common/libgstreamer.def: bin: Add setter and getter to suppress element flags Suppress-flags is for preventing propagation of child element's specific flag when it is added to the bin. https://bugzilla.gnome.org/show_bug.cgi?id=770627 2016-09-10 20:50:48 +1000 Jan Schmidt * autogen.sh: * common: Automatic update of common submodule From b18d820 to f980fd9 2015-11-13 16:00:02 +0000 Graham Leggett * gst/gst.c: gst: Ensure gst_value is initialised before gst_tag Otherwise GST_TYPE_FRACTION will work correctly in tags. https://bugzilla.gnome.org/show_bug.cgi?id=753922 2016-09-09 11:46:11 +0300 Sebastian Dröge * gst/gstutils.c: element: Reset the stop position to NONE in seek_simple() When using seek_simple() in combination with other kinds of seeks, this becomes problematic. seek_simple() does not reset the stop position to GST_CLOCK_TIME_NONE but keeps whatever a previous seek did. So for example when doing a seek_simple() after a rate=-1 seek, we would usually get assertions that start>stop (and stop being the old stop from the rate=1 seek). https://bugzilla.gnome.org/show_bug.cgi?id=771104 2016-09-10 09:53:42 +1000 Jan Schmidt * autogen.sh: * common: Automatic update of common submodule From f49c55e to b18d820 2016-09-09 09:36:40 -0300 Thibault Saunier * tests/check/meson.build: meson:tests: Bump timeout to 3 minutes Basically we already have each test with a 20sec timeout, and testsuite can last more than the default 30secs from meson. 3 minutes is another arbitrary timeout but should be good enough. 2016-09-08 15:19:38 +0300 Sebastian Dröge * libs/gst/base/gstbasesink.c: basesink: Use the average durations based on timestamps for the QoS proportion when doing trickmodes The durations of the buffers are (usually) assuming that no frames are being dropped and are just the durations coming from the stream. However if we do trickmodes, frames are being dropped regularly especially if only key units are supposed to be played. Fixes completely bogus QoS proportion values in the above case. 2016-09-05 18:07:49 -0300 Thibault Saunier * meson.build: meson: Fix building with meson 0.34 2016-08-26 20:06:59 -0300 Thibault Saunier * gst/meson.build: * meson.build: * meson_options.txt: meson: Allow others to build GIR files when using GStreamer as subproject And add a way to disable the introspection and bump version to 1.9.2 2016-09-05 11:11:29 +0300 Sebastian Dröge * gst/gstconfig.h.in: gstconfig.h.in: Add another version of the SH4 #define and S390x https://bugzilla.gnome.org/show_bug.cgi?id=770731 2016-09-05 09:50:17 +0200 Wim Taymans * gst/gstconfig.h.in: config: newer gcc doesn't know __ppc__ and __ppc64__ anymore __ppc__ and __ppc64__ are non-standard defines, we should use __powerpc__ and __powerpc64__ instead because newer gcc doesn't know them anymore. 2016-09-04 20:39:31 +0100 Tim-Philipp Müller * tools/gst-inspect.c: tools: gst-inspect: add * for pointer signal arguments where needed Print GObject argument properly with pointer marker: "client-added" : void user_function (GstElement* object, GObject* arg0, gpointer user_data); instead of "client-added" : void user_function (GstElement* object, GObject arg0, gpointer user_data); for gst-inspect-1.0 tcpserversink. 2016-09-02 23:22:17 +0100 Tim-Philipp Müller * tests/Makefile.am: tests: don't build misc subdir if both examples and benchmarks have been disabled https://bugzilla.gnome.org/show_bug.cgi?id=770740 2016-09-01 14:13:40 +0200 Wim Taymans * gst/gstconfig.h.in: config: support System z 2016-09-01 12:25:23 +0300 Sebastian Dröge * configure.ac: Back to development === release 1.9.2 === 2016-09-01 12:24:45 +0300 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/gstreamer-plugins.args: * docs/plugins/inspect/plugin-coreelements.xml: * gstreamer.doap: * win32/common/config.h: * win32/common/gstenumtypes.c: * win32/common/gstversion.h: Release 1.9.2 2016-09-01 11:22:45 +0300 Sebastian Dröge * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: po: Update translations 2016-08-31 09:49:03 +0200 Carlos Rafael Giani * plugins/elements/gstmultiqueue.c: * tests/check/elements/multiqueue.c: multiqueue: Add higher-resolution low/high-watermark properties low/high-watermark are of type double, and given in range 0.0-1.0. This makes it possible to set low/high watermarks with greater resolution, which is useful with large multiqueue max sizes and watermarks like 0.5%. Also adding a test to check the fill and watermark level behavior. https://bugzilla.gnome.org/show_bug.cgi?id=770628 2016-08-31 09:48:53 +0200 Carlos Rafael Giani * plugins/elements/gstmultiqueue.c: * plugins/elements/gstmultiqueue.h: multiqueue: Distinguish between buffering percentage and buffering level To make the code clearer, and to facilitate future improvements, introduce a distinction between the buffering level and the buffering percentage. Buffering level: the queue's current fill level. The low/high watermarks are in this range. Buffering percentage: percentage relative to the low/high watermarks (0% = low watermark, 100% = high watermark). To that end, get_percentage() is renamed to get_buffering_level(). Also, low/high_percent are renamed to low/high_watermark to avoid confusion. mq->buffering_percent values are now normalized in the 0..100 range for buffering messages inside update_buffering(), and not just before sending the buffering message. Finally the buffering level range is parameterized by adding a new constant called MAX_BUFFERING_LEVEL. https://bugzilla.gnome.org/show_bug.cgi?id=770628 2016-08-31 09:48:38 +0200 Carlos Rafael Giani * plugins/elements/gstmultiqueue.c: * plugins/elements/gstmultiqueue.h: multiqueue: Rename percent/percent_changed to buffering_percent(_changed) This is a prerequisite for subsequent commits, and makes queue2 and multiqueue code a little more consistent. https://bugzilla.gnome.org/show_bug.cgi?id=770628 2016-08-23 14:57:33 +0900 Edward Hervey * plugins/elements/gstmultiqueue.c: multiqueue: Fix high_time wakeup logic When calculating the high_time, cache the group value in each singlequeue. This fixes the issue by which wake_up_next_non_linked() would use the global high-time to decide whether to wake-up a waiting thread, instead of the group one, resulting in those threads constantly spinning. Tidy up a bit the waiting logic while we're at it. With this patch, we go from 212% playing a 8 audio / 8 video file down to less than 10% (most of it being the video decoding). https://bugzilla.gnome.org/show_bug.cgi?id=770225 2016-08-28 16:02:14 +0100 Tim-Philipp Müller * tools/gst-inspect.c: tools: gst-inspect: don't print internal pad request function name This just confuses people, they look at it and try to call it directly by name, instead of using the public GstElement API. It stands to reason that it goes without saying that when an element provides request pads that they can actually be requested using the standard API, and there's no point in printing internal implementation details of the element. 2016-08-23 13:27:58 -0300 Thibault Saunier * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * plugins/elements/gstdownloadbuffer.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstqueue.c: * plugins/elements/gstqueue2.c: * plugins/elements/gsttypefindelement.c: Make use of the new GST_ELEMENT_FLOW_ERROR API all around. https://bugzilla.gnome.org/show_bug.cgi?id=770158 2016-08-23 13:27:20 -0300 Thibault Saunier * docs/gst/gstreamer-sections.txt: * gst/gstelement.h: element: Add API to more easily post messages about flowing issues In many parts of the code we raise streaming error when the flow goes wrong, and each time we create more or less similare error message. Also that message does not let the application know what has actually gone wrong. In the new API we add a "flow-return" detail field inside the GstMessage so that the application has all the information if it needs it. API: GST_ELEMENT_FLOW_ERROR https://bugzilla.gnome.org/show_bug.cgi?id=770158 2016-08-26 19:27:22 +0530 Nirbheek Chauhan * configure.ac: * gst/gstconfig.h.in: * meson.build: gstconfig: Decide GST_EXPORT declaration style at build time We only use GST_EXPORT consistently when building with MSVC by using the visual studio definitions files (win32/common/*.def), so always disable it when building with Autotools and only enable it with Meson when building with MSVC. This allows you to use MinGW to link to a GStreamer built with MSVC and get the correct function prototypes to find functions and variables in DLLs. 2016-08-26 16:21:30 +0900 Wonchul Lee * docs/design/part-stream-selection.txt: docs: fix typo in stream selection docs https://bugzilla.gnome.org//show_bug.cgi?id=770428 2016-08-26 12:55:04 +0100 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gstelement.c: * gst/gstelement.h: * win32/common/libgstreamer.def: element: rename gst_element_message_new_details() to gst_make_element_message_details() Fixes g-i warning "Gst: Constructor return type mismatch symbol='gst_element_message_new_details' constructed='Gst.Element' return='Gst.Structure'". This is a newly-added function in git that has not been in a stable release yet, so it's fine to rename it. It's also only used indirectly via macros. 2016-08-26 12:35:23 +0100 Tim-Philipp Müller * gst/gstelement.c: * gst/gstmessage.c: * gst/gsttracerutils.c: docs: fix various gtk-doc warnings e.g. "warning: multi-line since docs found" 2016-08-26 12:04:33 +0100 Tim-Philipp Müller * gst/gstinfo.c: g-i: info: allow passing NULL to gst_debug_remove_log_function() Useful for removing the default handler from bindings. 2016-08-25 15:04:06 -0300 Thibault Saunier * docs/gst/meson.build: * docs/libs/meson.build: * meson.build: meson: doc: Fix building documentation when using subprojects and check the presence of gtk-doc before building the documentation 2016-08-26 03:17:41 +1000 Jan Schmidt * gst/gstvalue.c: * tests/check/gst/gstvalue.c: value: Implement can_intersect for GstFlagSet types Make sure that gst_value_can_intersect returns TRUE for GstFlagSet combinations that can successfully intersect 2016-08-03 15:20:20 +0200 Carlos Rafael Giani * plugins/elements/gstqueue2.c: * plugins/elements/gstqueue2.h: * tests/check/elements/queue2.c: queue2: Add higher-resolution low/high-watermark properties low/high-watermark are of type double, and given in range 0.0-1.0. This makes it possible to set low/high watermarks with greater resolution, which is useful with large queue2 max sizes and watermarks like 0.5%. Also adding a test to check the fill and watermark level behavior. https://bugzilla.gnome.org/show_bug.cgi?id=769449 2016-08-03 15:27:40 +0200 Carlos Rafael Giani * plugins/elements/gstqueue2.c: queue2: Distinguish between buffering percentage and buffering level To make the code clearer, and to facilitate future improvements, introduce a distinction between the buffering level and the buffering percentage. Buffering level: the queue's current fill level. The low/high watermarks are in this range. Buffering percentage: percentage relative to the low/high watermarks (0% = low watermark, 100% = high watermark). To that end, get_buffering_percent() is renamed to get_buffering_level(), and the code at the end that transforms to the buffering percentage is factored out into a new convert_to_buffering_percent() function. Also, the buffering level range is parameterized by adding a new constant called MAX_BUFFERING_LEVEL. https://bugzilla.gnome.org/show_bug.cgi?id=769449 2016-08-23 10:52:32 +0100 Tim-Philipp Müller * docs/random/release: docs: release: add tag signing command 2016-07-07 08:01:24 +0200 Arjen Veenhuizen * docs/gst/gstreamer-sections.txt: * gst/gstbuffer.c: * gst/gstbuffer.h: * win32/common/libgstreamer.def: buffer: add explicit getters and setters for buffer flags These can be used from bindings. https://bugzilla.gnome.org/show_bug.cgi?id=768301 2016-08-22 00:01:46 +0100 Tim-Philipp Müller * libs/gst/check/meson.build: meson: install libgstcheck-1.0 and add api version to name 2016-08-20 08:54:27 +0900 Hoonhee Lee * gst/gststreams.c: streams: update and emit notify signal only if taglist actually changed https://bugzilla.gnome.org/show_bug.cgi?id=770161 2016-08-12 20:25:17 +0530 Nirbheek Chauhan * .gitignore: * config.h.meson: * docs/gst/meson.build: * docs/libs/meson.build: * docs/meson.build: * gst/build_mkenum.py: * gst/meson.build: * gst/parse/gen_grammar.py.in: * gst/parse/gen_lex.py.in: * gst/parse/meson.build: * gst/printf/meson.build: * libs/gst/base/meson.build: * libs/gst/check/libcheck/meson.build: * libs/gst/check/meson.build: * libs/gst/controller/meson.build: * libs/gst/helpers/meson.build: * libs/gst/meson.build: * libs/gst/net/meson.build: * libs/meson.build: * meson.build: * meson_options.txt: * pkgconfig/meson.build: * plugins/elements/meson.build: * plugins/meson.build: * po/meson.build: * tests/benchmarks/meson.build: * tests/check/meson.build: * tests/examples/adapter/meson.build: * tests/examples/controller/meson.build: * tests/examples/helloworld/meson.build: * tests/examples/memory/meson.build: * tests/examples/meson.build: * tests/examples/netclock/meson.build: * tests/examples/ptp/meson.build: * tests/examples/stepping/meson.build: * tests/examples/streamiddemux/meson.build: * tests/examples/streams/meson.build: * tests/meson.build: * tests/misc/meson.build: * tools/meson.build: Add support for Meson as alternative/parallel build system https://github.com/mesonbuild/meson With contributions from: Tim-Philipp Müller Mathieu Duponchelle Jussi Pakkanen (original port) Highlights of the features provided are: * Faster builds on Linux (~40-50% faster) * The ability to build with MSVC on Windows * Generate Visual Studio project files * Generate XCode project files * Much faster builds on Windows (on-par with Linux) * Seriously fast configure and building on embedded ... and many more. For more details see: http://blog.nirbheek.in/2016/05/gstreamer-and-meson-new-hope.html http://blog.nirbheek.in/2016/07/building-and-developing-gstreamer-using.html Building with Meson should work on both Linux and Windows, but may need a few more tweaks on other operating systems. 2016-08-13 13:55:15 +0100 Tim-Philipp Müller * gst/Makefile.am: * pkgconfig/gstreamer.pc.in: Move gstconfig.h back to normal include dir Now that it's arch-independent again. Will need fixes in cerbero too. 2016-06-21 18:59:49 +0530 Nirbheek Chauhan * configure.ac: * gst/gstconfig.h.in: gstconfig.h: Detect unaligned access support at compile-time This makes gstconfig.h completely arch-independent. Should cover all compilers that gstreamer is known to build on, and all architectures that I could find information on. People are encouraged to file bugs if their platform/arch is missing. 2016-08-13 09:55:46 +0100 Tim-Philipp Müller * Makefile.am: * configure.ac: * docs/gst/gstreamer-sections.txt: * gst/Makefile.am: * gst/gst.c: * gst/gstclock.c: * gst/gstconfig.h.in: * gst/gstminiobject.c: * gst/gstobject.c: * gst/gsttrace.c: * gst/gsttrace.h: * po/POTFILES.in: * tests/check/Makefile.am: * win32/common/gstconfig.h: * win32/common/libgstreamer.def: Remove old alloc tracing code now that we have a GstTracer-based replacement It's been internal API only in 1.x. 2016-08-12 16:15:25 +0200 Edward Hervey * plugins/elements/gstqueue2.c: queue2: Post buffering messages earlier in ringbuffer mode In ringbuffer mode we need to make sure we post buffering messages *before* blocking to wait for data to be drained. Without this, we would end up in situations like this: * pipeline is pre-rolling * Downstream demuxer/decoder has pushed data to all sinks, and demuxer thread is blocking downstream (i.e. not pulling from upstream/queue2). * Therefore pipeline has pre-rolled ... * ... but queue2 hasn't filled up yet, therefore the application waits for the buffering 100% messages before setting the pipeline to PLAYING * But queue2 can't post that message, since the 100% message will be posted *after* there is room available for that last buffer. https://bugzilla.gnome.org/show_bug.cgi?id=769802 2016-08-08 16:42:06 +0200 Josep Torra * plugins/elements/gstmultiqueue.c: multiqueue: removed redundant call to g_thread_self Remove an unneeded call to g_thread_self and minor coding style fix. 2016-03-16 18:00:15 +1100 Jan Schmidt * plugins/elements/gstinputselector.c: inputselector: Handle stream-group-done Handle the new stream-group-done message to unblock pads which are waiting for the running time to advance on that group. https://bugzilla.gnome.org/show_bug.cgi?id=768995 2016-03-14 14:20:42 +1100 Jan Schmidt * docs/gst/gstreamer-sections.txt: * gst/gstevent.c: * gst/gstevent.h: * gst/gstpad.c: * gst/gstquark.c: * gst/gstquark.h: * tests/check/gst/gstevent.c: * win32/common/libgstreamer.def: events: Implement the stream-group-done event A new event which precedes EOS in situations where we need downstream to unblock any pads waiting on a stream before we can send EOS. E.g, decodebin draining a chain so it can switch pads. https://bugzilla.gnome.org/show_bug.cgi?id=768995 2016-07-25 11:22:36 +0200 Carlos Rafael Giani * docs/gst/gstreamer-sections.txt: * gst/gstmessage.c: * gst/gstmessage.h: * gst/gstquark.c: * gst/gstquark.h: * tests/check/gst/gstmessage.c: * win32/common/libgstreamer.def: message: Add redirect message Redirection messages are already used in fragmented sources and in uridecodebin, so it makes sense to introduce these as an official message type. https://bugzilla.gnome.org/show_bug.cgi?id=631673 2016-07-25 19:15:15 +1000 Jan Schmidt * plugins/elements/gstinputselector.c: inputselector: Wake other pads when selected goes EOS Other pads that are waiting for the stream on the selected pad to advance before they finish waiting themselves should be given the chance to do so when the selected pad goes EOS. Fixes problems where input streams can end up waiting forever if the active stream goes EOS earlier than their own end time. 2016-07-24 01:35:41 +0100 Tim-Philipp Müller * gst/gstelement.h: element: fix GST_ELEMENT_ERROR() error code expansion In some corner cases, the error 'code' part passed to GST_ELEMENT_ERROR() is a valid define as well, in which case it won't survive two levels of macro expansion, but only one. Fixes: oss4-sink.c: In function ‘gst_oss4_sink_open’: error: ‘GST_RESOURCE_ERROR_0x00000002’ undeclared (first use in this function) GST_ ## domain ## _ERROR_ ## code, __txt, __dbg, __FILE__, which is from GST_ELEMENT_ERROR(el,RESOURCE,OPEN_WRITE,..) and OPEN_WRITE happens to be defined to 2 here. https://bugzilla.gnome.org/show_bug.cgi?id=756806 https://bugzilla.gnome.org/show_bug.cgi?id=769117 2016-07-22 17:32:33 +0100 Tim-Philipp Müller * gst/gstmessage.c: message: fix some nonsensical annotations 2016-07-22 15:25:09 +0100 Vincent Penquerc'h * docs/gst/gstreamer-sections.txt: docs: add GST_ELEMENT_*_WITH_DETAILS to doc list 2016-07-22 15:04:58 +0100 Vincent Penquerc'h * docs/gst/gstreamer-sections.txt: docs: list new message details apis where they seem to belong 2016-07-22 14:59:56 +0100 Vincent Penquerc'h * win32/common/libgstreamer.def: libgstreamer.def: fix mentions of new message details api I had not updated it after the review changes 2016-03-02 11:22:23 +0000 Vincent Penquerc'h * gst/gstelement.c: * gst/gstelement.h: * gst/gstmessage.c: * gst/gstmessage.h: * tests/check/gst/gstmessage.c: * win32/common/libgstreamer.def: message: new API for additional custom data to error messages https://bugzilla.gnome.org/show_bug.cgi?id=756806 2016-07-20 12:22:10 +0200 Guillaume Desmottes * plugins/tracers/gstleaks.c: * plugins/tracers/gstleaks.h: tracers: leaks: update type filter later for unknown types This allow us to filter using an object type which is implemented by a plugin like, say, GstGtkGLSink. https://bugzilla.gnome.org/show_bug.cgi?id=768989 2016-07-19 14:45:53 +0200 Aurélien Zanelli * libs/gst/base/gstcollectpads.c: collectpads: add g-i transfer annotations to peek/pop/read_buffer/take_buffer functions https://bugzilla.gnome.org/show_bug.cgi?id=768948 2016-07-19 23:18:24 +1000 Jan Schmidt * tests/check/libs/gstnetclientclock.c: tests: Use gst_clock_wait_for_sync () for net client clock Instead of looping, use the gst_clock_wait_for_sync() function to give clocks up to 1 second to synchronise 2016-07-13 15:43:21 +0200 Guillaume Desmottes * gst/gstmessage.c: message: fix annotation of parse_stream_{collection,streams_selected} gst_structure_id_get() returns a new reference so the returned object is actually (transfer full). The unit tests was already unreffing the objects. https://bugzilla.gnome.org/show_bug.cgi?id=768776 2016-07-13 15:43:21 +0200 Guillaume Desmottes * gst/gstdevicemonitor.c: * gst/gstmessage.c: message: fix annotation of parse_device_{added,removed} gst_structure_id_get() returns a new reference so the returned device is actually (transfer full). The code using this API was already correct but the code example in comments was not. https://bugzilla.gnome.org/show_bug.cgi?id=768776 2016-07-14 16:40:22 +0200 Guillaume Desmottes * gst/gstpad.c: pad: add g-i transfer annotatation to _store_sticky_event() For clarity. https://bugzilla.gnome.org/show_bug.cgi?id=768810 2016-07-12 12:32:56 +0300 Sebastian Dröge * libs/gst/base/gstbasesrc.c: basesrc: Fix automatic-eos=false mode if a segment.stop is given If segment.stop was given, and the subclass provides a size that might be smaller than segment.stop and also smaller than the actual size, we would already stop there. Instead try reading up to segment.stop, the goal is to ignore the (possibly inaccurate) size the subclass gives and finish until segment.stop or when the subclass tells us to stop. 2016-07-11 21:13:28 +0200 Stefan Sauer * common: Automatic update of common submodule From f363b32 to f49c55e 2016-07-11 18:45:49 +0530 Nirbheek Chauhan * tests/benchmarks/capsnego.c: benchmarks: Fix potential stack corruption in capsnego test flavour_str is a non-const pointer that will be written to if the -f option is passed 2016-07-11 11:34:02 +0200 Guillaume Desmottes * plugins/tracers/gstleaks.c: leaks: check return values of libunwind calls 2016-07-11 09:58:47 +0200 Edward Hervey * plugins/elements/gstqueue2.c: queue2: Fix average input rate calculation on small input range When dealing with small-ish input data coming into queue2, such as adaptivedemux fragments, we would never take into account the last <200ms of data coming in. The problem is that usually on TCP connection the download rate gradually increases (i.e. the rate is lower at the beginning of a download than it is later on). Combined with small download time (less than a second) we would end up with a computed average input rate which was sometimes up to 30-50% off from the *actual* average input rate for that fragment. In order to fix this, force the average input rate calculation when we receive an EOS so that we take into account that final window of data. https://bugzilla.gnome.org/show_bug.cgi?id=768649 2016-07-08 16:31:56 +0200 Guillaume Desmottes * gst/gstminiobject.c: miniobject: weak_unref: display the pointer of the object if failing That's generally the most useful information to help debugging the problem. https://bugzilla.gnome.org/show_bug.cgi?id=768579 2016-07-08 16:29:38 +0200 Guillaume Desmottes * gst/gstbin.c: bin: properly display the type of the removed message Makes debugging easier. https://bugzilla.gnome.org/show_bug.cgi?id=768579 2016-07-08 17:46:06 +0100 Tim-Philipp Müller * gst/gstelement.c: element: re-create threadpool after cleaning up tasks We don't free this from gst_deinit() but from gst_task_cleanup_all(), so more GStreamer API may be called. In particular makes unit tests work again with CK_FORK=no. https://bugzilla.gnome.org/show_bug.cgi?id=768577 2016-07-08 16:53:51 +0200 Guillaume Desmottes * plugins/tracers/gstleaks.c: * plugins/tracers/gstleaks.h: leaks: warn if object is destroyed while the tracer is disposing This should not happen and generally means some thread is still running. https://bugzilla.gnome.org/show_bug.cgi?id=768578 2016-07-08 16:36:01 +0200 Guillaume Desmottes * gst/gst_private.h: * gst/gstelement.c: * gst/gsttask.c: element: clean up thread pool from gst_task_cleanup_all() This ensures that all async operations (started from gst_element_call_async()) have been completed and so there is no extra thread running. Fix races when checking for leaks on unit tests as some of those operations were still running when the leaks tracer was checking for leaked objects. https://bugzilla.gnome.org/show_bug.cgi?id=768577 2016-07-08 11:15:06 +0200 Guillaume Desmottes * configure.ac: * plugins/tracers/gstleaks.c: leaks tracer: use G_OS_UNIX to check for signal support Checking for signal.h is not good enough as it's present in Windows. Those signals are UNIX specific anyway. https://bugzilla.gnome.org/show_bug.cgi?id=767857 2016-06-22 16:25:16 +0200 Guillaume Desmottes * configure.ac: * docs/design/part-tracing.txt: * plugins/tracers/Makefile.am: * plugins/tracers/gstleaks.c: * plugins/tracers/gstleaks.h: leaks tracer: add creation stack trace support This allow us to provide the trace of leaked objects making it easier to debug. https://bugzilla.gnome.org/show_bug.cgi?id=767862 2016-06-01 11:08:39 +0200 Guillaume Desmottes * docs/design/part-tracing.txt: * plugins/tracers/gstleaks.c: * plugins/tracers/gstleaks.h: leaks tracer: add checkpoint support using SIGUSR2 https://bugzilla.gnome.org/show_bug.cgi?id=767857 2016-05-31 16:56:26 +0200 Guillaume Desmottes * configure.ac: * docs/design/part-tracing.txt: * plugins/tracers/gstleaks.c: leaks tracer: log alive objects when receiving SIGUSR1 We don't want to automatically catch signals so use an env variable to enable this feature. https://bugzilla.gnome.org/show_bug.cgi?id=767857 2016-07-07 13:15:51 +0300 Sebastian Dröge * plugins/elements/gstfunnel.c: funnel: Only forward sticky events on GAP events if needed That is, if the active pad changed and if forwarding of sticky events is requested at all. We otherwise forward events too often. 2016-07-05 16:50:16 +0200 Miguel París Díaz * gst/gstpad.c: pad: check query caps answered and caps not NULL https://bugzilla.gnome.org/show_bug.cgi?id=768450 2016-07-06 13:50:56 +0300 Sebastian Dröge * configure.ac: Back to development === release 1.9.1 === 2016-07-06 13:05:02 +0300 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/gstreamer-plugins.hierarchy: * docs/plugins/inspect/plugin-coreelements.xml: * gstreamer.doap: * win32/common/config.h: * win32/common/gstenumtypes.c: * win32/common/gstenumtypes.h: * win32/common/gstversion.h: Release 1.9.1 2016-07-06 11:37:56 +0300 Sebastian Dröge * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files 2016-07-06 10:17:37 +0300 Sebastian Dröge * po/da.po: * po/hr.po: * po/pt_BR.po: * po/sk.po: po: Update translations 2016-07-05 12:17:18 +0200 Jan Alexander Steffens (heftig) * libs/gst/base/gstbaseparse.c: baseparse: Don't add calculated bitrates until threshold Waiting before posting calculated bitrates seems to be the intent of the code, so avoid adding them to the tag list pushed with the first frame. When the threshold is reached, gst_base_parse_update_bitrates sets tags_changed, so this posts the calculated ones right that moment. This prevents an insane average calculated from just the first (key) frame from getting posted. https://bugzilla.gnome.org/show_bug.cgi?id=768439 2016-07-04 10:00:38 +0200 Sebastian Dröge * libs/gst/base/gstbaseparse.c: baseparse: Make sure to not create an invalid event order when generating the default CAPS event because of a GAP event There must be a SEGMENT event before the GAP event, and SEGMENT events must come after any CAPS event. We however did not produce any CAPS yet, so we need to ensure to insert the CAPS event before the SEGMENT event into the pending events list. https://bugzilla.gnome.org/show_bug.cgi?id=766970 2016-07-01 22:34:59 +1000 Jan Schmidt * gst/gstinfo.h: gstinfo: Avoid gcc 6 warning that breaks the tests build gcc 6 has problems detecting and avoiding throwing a warning for tautological compares in macros (they should only trigger for compares outside macros). Avoid them with a nasty cast of one parameter to void * https://bugzilla.gnome.org/show_bug.cgi?id=764526 2016-07-01 09:44:12 +0200 Edward Hervey * plugins/elements/gstmultiqueue.c: multiqueue: Fix behaviour with not-linked and eos pads This is an update on c9b6848885f4675d447e823c8fb117e247658252 multiqueue: Fix not-linked pad handling at EOS While that commit did fix the behaviour if upstream sent a GST_EVENT_EOS, it would break the same issue when *downstream* returns GST_FLOW_EOS (which can happen for example when downstream decoders receive data from after the segment stop). GST_PAD_IS_EOS() is only TRUE when a GST_EVENT_EOS has flown through it and not when a GST_EVENT_EOS has gone through it. In order to handle both cases, also take into account the last flow return. https://bugzilla.gnome.org/show_bug.cgi?id=763770 2016-06-30 15:07:28 +0100 Tim-Philipp Müller * gst/gstevent.c: * gst/gstevent.h: * gst/gstmessage.c: * gst/gstmessage.h: * gst/gststreamcollection.c: * gst/gststreamcollection.h: * gst/gststreams.c: * gst/gstutils.c: streams: sprinkle some Since: markers for docs 2016-06-30 14:37:17 +0100 Tim-Philipp Müller * plugins/elements/gstmultiqueue.c: multiqueue: add gtk-doc blurb for new pad property 2016-02-10 11:42:04 +0100 Edward Hervey * plugins/elements/gstmultiqueue.c: * plugins/elements/gstmultiqueue.h: multiqueue: Add a pad property to "group" streams When syncing by running time, multiqueue will throttle unlinked streams based on a global "high-time" and the pending "next_time" of a stream. The idea is that we don't want unlinked streams to be "behind" the global running time of linked streams, so that if/when they get linked (like when switching tracks) decoding/playback can resume from the same position as the other streams. The problem is that it assumes elements downstream will have a more or less equal buffering/latency ... which isn't the case for streams of different type. Video decoders tend to have higher latency (and therefore consume more from upstream to output a given decoded frame) compared to audio ones, resulting in the computed "high_time" being at the position of the video stream, much further than the audio streams. This means the unlinked audio streams end up being quite a bit after the linked audio streams, resulting in gaps when switching streams. In order to mitigate this issue, this patch adds a new "group-id" pad property which allows users to "group" streams together. Calculating the high-time will now be done not only globally, but also per group. This ensures that within a given group unlinked streams will be throttled by that group's high-time instead. This fixes gaps when switching downstream elements (like switching audio tracks). 2015-06-12 10:53:23 +0200 Edward Hervey * docs/design/part-stream-selection.txt: * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * gst/Makefile.am: * gst/gst.c: * gst/gst.h: * gst/gstevent.c: * gst/gstevent.h: * gst/gstmessage.c: * gst/gstmessage.h: * gst/gstquark.c: * gst/gstquark.h: * gst/gststreamcollection.c: * gst/gststreamcollection.h: * gst/gststreams.c: * gst/gststreams.h: * gst/gstutils.c: * gst/gstutils.h: * tests/check/Makefile.am: * tests/check/gst/.gitignore: * tests/check/gst/gstevent.c: * tests/check/gst/gstmessage.c: * tests/check/gst/gststream.c: * tests/check/gst/gststream.h: * win32/common/libgstreamer.def: gst: New Stream listing/selection system * GstStream * GstStreamCollection * GST_EVENT_SELECT_STREAMS * GST_MESSAGE_STREAM_COLLECTION 2016-06-29 23:24:02 +0200 Sebastian Dröge * gst/gstbufferpool.c: * gst/gstbus.c: * gst/gstpoll.c: poll: #define EWOULDBLOCK to EAGAIN if it's not defined on Windows 2016-06-29 14:05:18 +0200 Sebastian Dröge * gst/gstbufferpool.c: bufferpool: Fix handling of the GstPoll Especially if multiple threads are waiting for buffers to be available again, the current code was wrong. Fix this and document clearly how the GstPoll is supposed to be used. Also fix some potential races with reading from the GstPoll before writing actually happened. https://bugzilla.gnome.org/show_bug.cgi?id=767979 2016-06-29 14:02:55 +0200 Sebastian Dröge * gst/gstbus.c: bus: Make sure to always read the control after popping a message It might happen that we popped the message before writing of the control happened. In this case we just have to retry again a bit later, and failure to do so will cause an additional byte in the control and the GSource / gst_poll_wait() to always wake up again immediately. https://bugzilla.gnome.org/show_bug.cgi?id=750397 2016-06-29 13:37:28 +0200 Sebastian Dröge * gst/gstsystemclock.c: systemclock: Improve GstPoll handling and don't check for impossible errno values Also just read/write control every time, GstPoll is optimized by itself already to only do I/O if switching between empty and one byte. https://bugzilla.gnome.org/show_bug.cgi?id=750397 2016-06-29 13:35:35 +0200 Sebastian Dröge * gst/gstpoll.c: poll: Clarify when FALSE is returned from read/write_control() And also mention what the expected values of errno are going to be. write_control() will only ever return FALSE if there was a critical error. It will never return because of EINTR, EAGAIN or EWOULDBLOCK. read_control() will return FALSE if there was no byte to read, in which case errno would be EWOULDBLOCK. In all other cases there was a critical error. https://bugzilla.gnome.org/show_bug.cgi?id=750397 2016-06-29 13:26:57 +0200 Sebastian Dröge * gst/gstpoll.c: poll: set_controllable(), restart() and set_flushing() are only valid for non-timer GstPolls On timer GstPolls it will cause the control socket state to become inconsistent as now one less read_control() than write_control() be would needed. Similarly, read_control() and write_control() are only valid on timer GstPolls. https://bugzilla.gnome.org/show_bug.cgi?id=750397 2016-06-29 13:11:01 +0200 Sebastian Dröge * gst/gstpoll.h: poll: Warn if the return value of gst_poll_read_control() is unused This might fail even under correct usage, e.g. if read_control() is called from another thread before write_control() finished in another. It has to be retried then, or other measures have to be taken, depending on how it is used by the surrounding code. https://bugzilla.gnome.org/show_bug.cgi?id=750397 2016-06-29 18:57:42 +0200 Matthew Gruenke * gst/gstpoll.c: poll: Fix various race conditions with read_control() and write_control() This addresses slightly different race conditions on Linux and Windows, and fixes gst_poll_read_control() when control_pending == 0. On Linux, the socketpair() used for control should not be made O_NONBLOCK. If there's any propagation delay between set->control_write_fd.fd and set->control_read_fd.fd, even the mutex now held will not be sufficient to prevent a race condition. There's no benefit to using O_NONBLOCK, here. Only liabilities. For Windows, it's necessary to fix the race condition between testing set->control_pending and performing WAKE_EVENT()/RELEASE_EVENT(). This is accomplished by acquiring and holding set->lock, for both of these operations. We could optimize the Linux version by making this Windows-specific. For consistency with the Linux implementation, Windows' RELEASE_EVENT() has also been made to block, although it should never happen. Also, changed release_wakeup() to return TRUE and decrement control_pending only when > 0. Furthermore, RELEASE_EVENT() is called only when control_pending == 1. Finally, changed control_pending to use normal, non-atomic arithmetic operations, since it's now protected by set->lock. Note: even though the underlying signaling mechanisms are blocking, release_wakeup() is effectively non-blocking, as it will only attempt to read from control_read_fd.fd after a byte has been written to control_write_fd.fd or WaitForSingleObject() after it's been signaled. https://bugzilla.gnome.org/show_bug.cgi?id=750397 2016-06-28 15:01:17 +0200 Guillaume Desmottes * gst/gstbus.c: bus: chain up GObject::constructed() to the parent class' implementation Needed so GstBus can be tracked by the leaks tracer. https://bugzilla.gnome.org/show_bug.cgi?id=768141 2016-06-24 05:26:09 +0530 Nirbheek Chauhan * gst/gstconfig.h.in: gstconfig.h: Don't use extern with dllexport GCC emits an error for this with -Werror: plugin.c:22:1: error: 'gst_plugin_desc' initialized and declared 'extern' [-Werror] This matches how glib does symbol exporting. https://bugzilla.gnome.org/show_bug.cgi?id=767463 2016-06-21 19:49:15 +0530 Nirbheek Chauhan * configure.ac: * gst/gstconfig.h.in: win32: Don't use dllexport/import when only building statically If the prototypes in the public API have dllimport in them when building statically on Windows, the compiler will look for symbols with symbol mangling and indirection corresponding to a DLL. This will cause a build failure when trying to link tests/examples/etc. External users of GStreamer also need to define -DGST_STATIC_COMPILATION if they want to link to static gstreamer libraries on Windows. A similar version of this patch has been committed to all gstreamer repositories. https://bugzilla.gnome.org/show_bug.cgi?id=767463 2016-06-21 11:45:26 -0400 Nicolas Dufresne * common: Automatic update of common submodule From ac2f647 to f363b32 2016-06-15 16:24:27 +0100 Vincent Penquerc'h * tests/check/elements/queue2.c: tests: add a test for small ring buffer sizes https://bugzilla.gnome.org/show_bug.cgi?id=767688 2016-06-15 13:43:59 +0100 Vincent Penquerc'h * plugins/elements/gstqueue2.c: queue2: fix crash deleting current region for small ring buffers Ensure we do not attempt to destroy the current range. Doing so causes the current one to be left dangling, and it may be dereferenced later, leading to a crash. This can happen with a very small queue2 ring buffer (10000 bytes) and 4 kB buffers. repro case: gst-launch-1.0 fakesrc sizetype=2 sizemax=4096 ! \ queue2 ring-buffer-max-size=1000 ! fakesink sync=true https://bugzilla.gnome.org/show_bug.cgi?id=767688 2016-06-20 11:34:49 +0100 Tim-Philipp Müller * tests/check/gst/gstobject.c: tests: gstobject: fix typo in test name 2016-06-16 14:08:01 -0700 Reynaldo H. Verdejo Pinochet * docs/design/part-tracing.txt: docs/design/part-tracing: fix reference to renamed func 2016-06-08 12:34:53 -0400 Nicolas Dufresne * plugins/elements/gsttee.c: tee: Properly handle return value when only 1 pad This patch handle the case when you have 1 pad (so the fast path is being used) but this pad is removed. If we are in allow-not-linked, we should return GST_FLOW_OK, otherwise, we should return GST_FLOW_UNLINKED and ignore the meaningless return value obtained from pushing. https://bugzilla.gnome.org/show_bug.cgi?id=767413 2016-06-16 15:52:16 +0200 Stefan Sauer * scripts/gst-plot-traces.sh: gst-plot-traces.sh: add a script to plot gst-tracer graphs The script extracts cpu-usage data from a tracelog and plots it via gnuplot. 2016-06-15 16:12:23 +0200 Sebastian Dröge * gst/gstdevice.c: device: Fix typo paramater -> parameter 2016-06-14 19:16:33 +0100 Tim-Philipp Müller * gst/gstinfo.h: info: flesh out GST_PTR_FORMAT docs a bit 2016-06-13 18:33:27 +0200 Sebastian Dröge * libs/gst/base/gstbasesink.c: basesink: Update start time when losing state only if we were in PLAYING If we were in PAUSED, the current clock time and base time don't have much to do with the running time anymore as the clock might have advanced while we were PAUSED. The system clock does that for example, audio clocks often don't. Updating the start time in PAUSED will cause a) the wrong position to be reported, b) step events to step not just the requested amount but the amount of time we spent in PAUSED. The start time should only ever be updated when going from PLAYING to PAUSED to remember the current running time (to be able to compensate later when going to PLAYING for the clock time advancing while PAUSED), not when we are already in PAUSED. Based on a patch by Kishore Arepalli The updating of the start time when the state is lost was added in commit ba943a82c0bbfd17c9ee9f5068d44c9d9274fd13 to fix the position reporting when the state is lost. This still works correctly after this change. https://bugzilla.gnome.org/show_bug.cgi?id=739289 2016-06-11 22:18:06 +0300 Sebastian Dröge * gst/gstpad.c: pad: Log pad offsets as signed times 2016-06-11 21:56:19 +0300 Sebastian Dröge * tests/check/gst/gstpad.c: pad: Also check the number of segment events and if other serialized events and queries trigger segment updating too https://bugzilla.gnome.org/show_bug.cgi?id=765049 2016-06-11 21:37:47 +0300 Sebastian Dröge * tests/check/gst/gstpad.c: pad: Add unit test for pad offset handling on src pads https://bugzilla.gnome.org/show_bug.cgi?id=765049 2016-06-07 11:32:47 +0300 Sebastian Dröge * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstadapter.c: * libs/gst/base/gstadapter.h: * tests/check/libs/adapter.c: * win32/common/libgstbase.def: adapter: Rename functions and implement new functions, update test We don't do calculations with different units (buffer offsets and bytes) anymore but have functions for: 1) getting the number of bytes since the last discont 2) getting the offset (and pts/dts) at the last discont and the previously added function to get the last offset and its distance from the current adapter position. https://bugzilla.gnome.org/show_bug.cgi?id=766647 2016-05-19 10:31:02 +0200 Edward Hervey * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstadapter.c: * libs/gst/base/gstadapter.h: * tests/check/libs/adapter.c: * win32/common/libgstbase.def: adapter: Add methods to query current offset API: gst_buffer_prev_offset API: gst_buffer_get_offset_from_discont The gst_buffer_get_offset_from_discont() method allows retrieving the current offset based on the GST_BUFFER_OFFSET of the buffers that were pushed in. The offset will be set initially by the GST_BUFFER_OFFSET of DISCONT buffers, and then incremented by the sizes of the following buffers. The gst_buffer_prev_offset() method allows retrievent the previous GST_BUFFER_OFFSET regardless of flags. It works in the same way as the other gst_buffer_prev_*() methods. https://bugzilla.gnome.org/show_bug.cgi?id=766647 2016-06-09 17:42:13 +0100 Tim-Philipp Müller * gst/gstconfig.h.in: gstconfig.h.in: indent #if #else jungle for better readability 2016-06-08 12:11:19 +0300 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gstutils.c: * gst/gstutils.h: * win32/common/libgstreamer.def: utils: Add gst_pad_link_maybe_ghosting() for consistency We already had a _full() version, but having that alone seems inconsistent. Add a non-full version that mirrors the behaviour of gst_pad_link() vs gst_pad_link_full(). 2016-05-22 13:10:06 +0200 Edward Hervey * libs/gst/base/gstbaseparse.c: baseparse: Make sure DISCONT flags are properly propagated If we drop a frame that contained a discontinuity, we must remember that for the next frame that *will* be pushed downstream. https://bugzilla.gnome.org/show_bug.cgi?id=766795 2016-06-04 13:31:58 +0100 Tim-Philipp Müller * gst/gstdeviceprovider.c: deviceprovider: remove base_class_finalize function It's not going to get called anyway. https://bugzilla.gnome.org/show_bug.cgi?id=765540 2016-06-04 13:11:55 +0100 Tim-Philipp Müller * gst/gstelement.c: element: remove base_class_finalize_func which is never called Won't be called for static types, so no point keeping it around. https://bugzilla.gnome.org/show_bug.cgi?id=765540 2016-06-03 13:55:44 +0100 Tim-Philipp Müller * plugins/tracers/gstleaks.c: tracers: leaks: some micro-optimisations - we know number of filter items is not going to change, but compiler doesn't - only do GST_IS_TRACER check for GObjects, not mini objects - use non-type check cast macros in performance critical paths 2016-05-10 09:29:12 +0200 Guillaume Desmottes * docs/design/part-tracing.txt: * plugins/tracers/Makefile.am: * plugins/tracers/gstleaks.c: * plugins/tracers/gstleaks.h: * plugins/tracers/gsttracers.c: tracers: add leaks tracer https://bugzilla.gnome.org/show_bug.cgi?id=765052 2016-05-30 12:11:13 +0200 Guillaume Desmottes * gst/gstcaps.c: * gst/gstdeviceproviderfactory.c: * gst/gstelementfactory.c: * gst/gstpadtemplate.c: * gst/gsttask.c: * libs/gst/net/gstnetclientclock.c: Use MAY_BE_LEAKED_FLAG This helps having "make check" passing with the leaks tracer enabled. https://bugzilla.gnome.org/show_bug.cgi?id=766008 2016-05-09 16:31:36 +0200 Guillaume Desmottes * gst/gstminiobject.c: * gst/gstobject.c: * gst/gsttracerutils.c: * gst/gsttracerutils.h: tracing: add hooks when objects or miniobjects are created and destroyed https://bugzilla.gnome.org/show_bug.cgi?id=765052 2016-05-09 16:56:56 +0200 Guillaume Desmottes * gst/gst.c: gst_deinit: move down tracers cleaning We want the tracer detecting leaks to be finalized as late as possible to give the chance to other gst components to be properly cleaned first. https://bugzilla.gnome.org/show_bug.cgi?id=765052 2016-05-10 11:06:42 +0200 Guillaume Desmottes * tests/check/gst/gstplugin.c: tests: plugin: remove feature refcount assert This check fails if one, or more, tracers are loaded while running the test. The new "leaks" tracer will be able to check for leaks anyway. https://bugzilla.gnome.org/show_bug.cgi?id=765052 2016-04-14 12:25:43 +0300 Guillaume Desmottes * gst/gststructure.c: tracerrecord: allow G_TYPE_POINTER for field types Tracers may want to display the address of an object. https://bugzilla.gnome.org/show_bug.cgi?id=765052 2016-05-30 13:42:36 +0200 Stefan Sauer * tests/check/gst/gstobject.c: gstobject: split up name tests It is better to have separate tests: 1) the test name will tell what is broekn when the test fails 2) we still run the other tests when one assert fails 3) the tests are easier to understand 4) we don't rely on sie effect of previous actions 5) ... Also ix the assertion message for the name checks (Gst -> fakeobject). 2016-05-30 02:06:01 -0700 Stefan Sauer * docs/design/part-tracing.txt: design: update design doc Some of the api was renamed before the merge. 2016-05-30 02:04:18 -0700 Stefan Sauer * gst/gstquery.c: docs: xref the free function and expand allocation query docs Add xrefs for how to parse pool details from an allocation query. 2016-05-26 14:43:10 -0400 Nicolas Dufresne * tests/check/gst/gstobject.c: object: Add _set_name() test on parented object This is not allowed, and set_name() should fail. https://bugzilla.gnome.org/show_bug.cgi?id=766923 2016-05-26 14:41:38 -0400 Nicolas Dufresne * tests/check/gst/gstobject.c: object: Check that name change are notified once GObject allow calling g_object_notify() within set_property() and won't notify it twice. As it was raised during review, add a unit test to make sure. https://bugzilla.gnome.org/show_bug.cgi?id=766923 2016-05-26 13:17:37 -0400 Nicolas Dufresne * gst/gstobject.c: object: Notify name change when using _set_name() There was a 0.11 FIXME about notifying the name change or removing that function. Clearly we can't remove this function, so let's notify it. https://bugzilla.gnome.org/show_bug.cgi?id=766923 2016-05-25 15:30:21 +0200 Edward Hervey * gst/gst_private.h: gst_private: Fix gstconfig include Since it's a generated header, we need to specify the gst subdir so that it gets properly included in out-of-dir compilation 2016-05-25 10:48:05 +0100 Tim-Philipp Müller * gst/gst_private.h: gst: make sure to include gstconfig.h also in gst_private.h For GST_EXPORT define and also things like GST_DISABLE_REGISTRY. Hopefully fixes the following build failure on cerbero-cross-mingw32: helpers/gst-plugin-scanner.c:50: undefined reference to `_imp___gst_disable_registry_cache' 2016-05-24 00:40:27 +0100 Tim-Philipp Müller * gst/Makefile.am: * libs/gst/base/Makefile.am: * libs/gst/check/Makefile.am: * libs/gst/controller/Makefile.am: * libs/gst/net/Makefile.am: g-i: pass compiler env to g-ir-scanner It's what introspection.mak does as well. Should fix spurious build failures on gnome-continuous. 2016-05-23 21:15:48 +0100 Tim-Philipp Müller * gst/Makefile.am: gst: g-i: pass compiler with quotes So CC="ccache gcc" works properly. 2016-05-23 21:06:53 +0100 Ray Strode * gst/Makefile.am: gst: attempt to fix/track-down mysterious gnome-continuous build failures 2016-05-23 18:00:30 +0100 Tim-Philipp Müller * gst/gstiterator.c: iterator: only unset GValue if it was inited And add some function guards. From GLib 2.48 on it is allowed to pass an uninitialised GValue to g_value_unset(). https://bugzilla.gnome.org/show_bug.cgi?id=763762 2016-05-23 18:44:01 +0530 Nirbheek Chauhan * gst/parse/Makefile.am: gst/parse: Also pass -DGST_EXPORTS here This static library gets included directly into libgstreamer-1.0.so, so it needs the same GST_EXPORTS definition as the rest of the code that's compiled into that otherwise it will try to find the constants it uses from gstinfo via DLL importing (__declspec(dllimport)). Fixes https://ci.gstreamer.net/job/cerbero-cross-mingw32/4393/ 2016-05-20 00:24:54 +0530 Nirbheek Chauhan * gst/gstconfig.h.in: gstconfig.h: Always use dllexport/import on Windows __declspec(dllexport/import) are supported by GCC and are needed for properly generating code that fetches the values of constants from DLLs built with __declspec(dllexport) which happens when anything using GST_EXPORT is built with MSVC. See: https://msdn.microsoft.com/en-us/library/619w14ds.aspx Essentially, if you built gstreamer with MSVC and then tried to use constants from it (such as GST_TYPE_CAPS) in a plugin, GCC would retrieve the address of the value instead of the value itself. 2016-05-19 11:27:36 -0300 Danilo Cesar Lemes de Paula * scripts/git-update.sh: scripts: make git-update.sh build with all cores available The git-update.sh now builds with all cores available. In case of failure it defaults to 1 The developer can still override this by setting -j to something else in MAKEFLAGS, as stated by 299605dfe2f97fca330161ff01a392e1a85fe422. https://bugzilla.gnome.org/show_bug.cgi?id=766666 2016-05-04 13:53:56 +0200 Guillaume Desmottes * gst/gstminiobject.h: * gst/gstobject.h: (mini)object: add MAY_BE_LEAKED flag https://bugzilla.gnome.org/show_bug.cgi?id=766008 2016-05-15 14:15:51 +0100 Tim-Philipp Müller * gst/gstbin.c: * tests/check/gst/gstbin.c: bin: emit deep-element-{added,removed} for children of newly-added/removed bin https://bugzilla.gnome.org/show_bug.cgi?id=578933 2016-05-14 10:55:53 +0100 Tim-Philipp Müller * gst/gstbin.c: * gst/gstbin.h: * tests/check/gst/gstbin.c: bin: add "deep-element-added" and "deep-element-removed" signals This means applications and bin sub-classes can easily track when a new child element is added to the pipeline sub-hierarchy or removed. Currently doesn't signal deep added/removed for elements inside a bin if a bin is added/removed. https://bugzilla.gnome.org/show_bug.cgi?id=578933 2016-05-15 15:02:49 +0300 Sebastian Dröge * gst/gstpad.h: pad: Improve IDLE probe docs Make it explicit that the pad is only blocked while the callback is running, and the pad will be unblocked again once the callback returned. If BLOCK and IDLE behaviour is needed, both need to be used. https://bugzilla.gnome.org/show_bug.cgi?id=766002 2016-05-15 13:29:55 +0300 Sebastian Dröge * docs/plugins/inspect/plugin-coreelements.xml: docs: Update for git master 2016-03-11 16:04:52 +0200 Sebastian Dröge * plugins/elements/gstqueue.c: * plugins/elements/gstqueue2.c: queue: Only unblock upstream waiting for the query once downstream is finished ... when flushing and deactivating pads. Otherwise downstream might have a query that was already unreffed by upstream, causing crashes or other interesting effects. https://bugzilla.gnome.org/show_bug.cgi?id=763496 2016-05-14 17:31:51 +0300 Sebastian Dröge * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: basesink/src: Post an error message if ::start() fails The subclass should do that already, but just in case do it ourselves too as a fallback. Without this, e.g. playbin will just wait forever if this fails because it is triggered as part of an ASYNC state change. 2016-05-14 23:36:43 +1000 Jan Schmidt * gst/gstbin.c: bin: Fix EOS forwarding on PLAYING->PLAYING When doing a transition from PLAYING to PLAYING, we will fail to forward an EOS message on the bus, and noone else will ever send it because there'll be no actual state changed message. Allow EOS through directly in that case. 2016-05-13 09:43:14 +0200 Edward Hervey * gst/gstpad.c: pad: Don't drop LATENCY queries with default implementation If there is only one pad in the internal pads, when folding for LATENCY queries it will just drop the response if it's not live. This is maybe not the proper fix, but it will just accept the first peer responses, and if there are any other pads, it will only take them into account if the response is live. This *should* properly handle the aggregation/folding behaviour of multiple live peer responses, while at the same time handling the simple one-pad-only-and-forward use-case https://bugzilla.gnome.org/show_bug.cgi?id=766360 2016-04-07 00:46:20 +1000 Jan Schmidt * tools/gst-launch.1.in: Update the examples in the gst-launch-1.0 manpage Replace elements that don't exist any more with ones that do, and insert elements like mpegaudioparse where they are needed. https://bugzilla.gnome.org/show_bug.cgi?id=727105 2016-04-02 01:05:39 +1100 Jan Schmidt * gst/gst.c: debug: Instantiate GType when dumping debug categories. A lot of debug categories are declared in element class_init functions, which don't get run until the element is first created (not just registered in the plugin load function). This means that --gst-debug-help doesn't print out a lot of categories. Creating an instance of each element from the element factory makes them visible, at some extra cost - 2-3 times longer, which can be a full second or two of extra waiting. Yikes! https://bugzilla.gnome.org/show_bug.cgi?id=741001 2016-05-11 15:06:39 +0300 Sebastian Dröge * plugins/elements/gsttypefindelement.c: typefind: Only push a CAPS event downstream if the sinkpad is not in PULL mode The other signal handlers of the type-found signal might have reactivated typefind in PULL mode already, pushing a CAPS event at that point would cause deadlocks and is in general unexpected by elements that are in PULL mode. https://bugzilla.gnome.org/show_bug.cgi?id=765906 2016-05-11 12:16:09 +0900 Wonchul Lee * gst/gstdebugutils.c: debugutils: fix warning on enum properties printing https://bugzilla.gnome.org/show_bug.cgi?id=766251 2016-05-10 15:01:42 +0300 Sebastian Dröge * gst/gstpad.c: pad: Fix pad state when deactivating from one mode and then trying to activate another and failing When activating a pad in PULL mode, it might already be in PUSH mode. We now first try to deactivate it from PUSH mode and then try to activate it in PULL mode. If the activation fails, we would set the pad to flushing and set it back to its old mode. However the old mode is wrong, the pad is not in PUSH mode anymore but in NONE mode. This fixes e.g. typefind in decodebin reactivating PUSH/PULL mode if upstream actually fails to go into PULL mode after first PUSHING data to typefind. 2016-03-13 11:05:29 -0400 Anthony G. Basile * libs/gst/check/libcheck/strsignal.c: libcompat.h: strsignal() should be not be decleared const POSIX standards requires strsignal() to return a pointer to a char, not a const pointer to a char. [1] On uClibc, and possibly other libc's, that do not HAVE_DECL_STRSIGNAL, libcompat.h declares const char *strsignal (int sig) which causes a type error. [1] man 3 strsignal https://bugzilla.gnome.org/show_bug.cgi?id=763567 2016-05-05 18:50:05 +0100 Tim-Philipp Müller * libs/gst/base/gstflowcombiner.c: flowcombiner: add debug category Not that it logs much. 2016-05-05 18:02:21 +0100 Tim-Philipp Müller * libs/gst/base/gstflowcombiner.c: flowcombiner: fix docs for gst_flow_combiner_reset() 2016-05-04 10:04:30 +0200 Guillaume Desmottes * tests/check/pipelines/parse-launch.c: parse-launch: fix factory leak in test We get 2 references one from gst_element_factory_find() and the other from gst_plugin_feature_load(). https://bugzilla.gnome.org/show_bug.cgi?id=765976 2016-05-04 13:46:46 +0200 Guillaume Desmottes * tests/check/gst/gstminiobject.c: miniobject: fix ref count leaks in tests https://bugzilla.gnome.org/show_bug.cgi?id=765978 2016-05-04 09:53:32 +0200 Guillaume Desmottes * gst/gstutils.c: * tests/check/pipelines/parse-launch.c: utils: fix element leak in find_common_root() The root element was not unreffed when iterating over ancestors. https://bugzilla.gnome.org/show_bug.cgi?id=765961 2016-05-02 17:35:29 +0200 Guillaume Desmottes * tools/gst-inspect.c: inspect: fix feature leak https://bugzilla.gnome.org/show_bug.cgi?id=765957 2016-05-03 11:49:03 +0200 Guillaume Desmottes * gst/gsturi.c: uri: unref instead of using _gst_uri_free() directly This confuses gst_tracing as we shortcut the mini object reference system. https://bugzilla.gnome.org/show_bug.cgi?id=765958 2016-05-02 09:32:47 +0200 Guillaume Desmottes * tests/check/pipelines/seek.c: pipeline: fix bus leak in seek test gst_bus_add_signal_watch_full() keeps a ref on the bus which should be released using gst_bus_remove_signal_watch(). https://bugzilla.gnome.org/show_bug.cgi?id=765903 2016-05-02 09:29:31 +0200 Guillaume Desmottes * tests/check/elements/streamiddemux.c: streamiddemux: fix list and event leaks in test https://bugzilla.gnome.org/show_bug.cgi?id=765903 2016-05-02 08:43:04 +0200 Guillaume Desmottes * tests/check/elements/selector.c: selector: fix pad leaks in tests setup_input_pad() creates a new pad so we should unref it once we're done. https://bugzilla.gnome.org/show_bug.cgi?id=765903 2016-05-02 08:33:42 +0200 Guillaume Desmottes * tests/check/elements/filesrc.c: filesrc: fix buffer leaks in tests gst_check_setup_sink_pad() internally uses gst_check_chain_func() so we should call gst_check_drop_buffers() when tearing down tests to free the buffers which have been exchanged through the pipeline. https://bugzilla.gnome.org/show_bug.cgi?id=765903 2016-05-02 08:29:00 +0200 Guillaume Desmottes * tests/check/elements/fakesink.c: fakesink: fix pipeline leak in test https://bugzilla.gnome.org/show_bug.cgi?id=765903 2016-05-02 07:35:45 +0200 Guillaume Desmottes * tests/check/gst/gstelementfactory.c: elementfactory: fix factory leak in test https://bugzilla.gnome.org/show_bug.cgi?id=765903 2016-05-02 16:00:42 +0200 Guillaume Desmottes * gst/gstdeviceproviderfactory.c: deviceproviderfactory: fix factory leak The code path when early returning was leaking the extra reference on the factory. https://bugzilla.gnome.org/show_bug.cgi?id=765904 2016-04-10 11:42:18 +0100 Tim-Philipp Müller * gst/gstquery.c: query: fix compiler warning C4146: unary minus operator applied to unsigned type, result still unsigned 2016-04-28 14:59:51 +0300 Guillaume Desmottes * tests/check/gst/gstbin.c: bin: fix leaks in unit tests The test rely on bus being flushed when setting the bin to the NULL state which is not the case. This apply only when setting the pipeline state to NULL. https://bugzilla.gnome.org/show_bug.cgi?id=765720 2016-04-28 14:56:18 +0300 Guillaume Desmottes * tests/check/gst/gstpad.c: pad: fix buffer leaks in tests The buffer received through the pad have to be unreffed using gst_check_drop_buffers(). https://bugzilla.gnome.org/show_bug.cgi?id=765719 2016-04-30 14:15:08 +0100 Tim-Philipp Müller * gst/gstbuffer.c: * gst/gstghostpad.c: * libs/gst/check/gstharness.c: Fix some nonsensical g-i annotations 2016-04-29 14:55:02 +0200 Matej Knopp * plugins/elements/gstmultiqueue.c: multiqueue: Ignore time when determining whether sparse stream limits have been reached Basically, sq->max_size.visible is never increased for sparse streams in overruncb when empty queue has been found; If the queue is sparse it just skip the entire logic determining whether max_size.visible should be increased, deadlocking the demuxer. What should be done instead is that when determining if limits have been reached, to ignore time for sparse streams, as the buffer may be far in the future. https://bugzilla.gnome.org/show_bug.cgi?id=765736 2016-02-28 12:06:40 +0200 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gstbin.c: * gst/gstbin.h: * gst/gstelement.c: * gst/gstelement.h: * win32/common/libgstreamer.def: element: Add gst_element_call_async() This calls a function from another thread, asynchronously. This is to be used for cases when a state change has to be performed from a streaming thread, directly via gst_element_set_state() or indirectly e.g. via SEEK events. Calling those functions directly from the streaming thread will cause deadlocks in many situations, as they might involve waiting for the streaming thread to shut down from this very streaming thread. This is mostly a convenience function around a GThreadPool and is for example used by GstBin to continue asynchronous state changes. https://bugzilla.gnome.org/show_bug.cgi?id=760532 2016-04-27 09:21:31 +0300 Sebastian Dröge * docs/manual/advanced-dataaccess.xml: manual: Fix buffer memory leak in appsrc example g_signal_emit_by_name() is not like gst_app_src_push_buffer() due to reference counting limitations of signals, it does *not* take ownership of the buffer. 2016-04-26 16:02:14 +0300 Guillaume Desmottes * gst/gst.c: * gst/gst_private.h: * gst/gstcaps.c: caps: add cleanup priv function Those are allocated in _priv_gst_caps_initialize() so it makes sense to have a symetric cleanup functions called by gst_deinit(). https://bugzilla.gnome.org/show_bug.cgi?id=765606 2016-04-26 16:02:14 +0300 Guillaume Desmottes * gst/gst.c: * gst/gst_private.h: * gst/gstcapsfeatures.c: capsfeature: add cleanup priv function Those are allocated in _priv_gst_caps_features_initialize() so it makes sense to have a symetric cleanup functions called by gst_deinit(). https://bugzilla.gnome.org/show_bug.cgi?id=765606 2016-04-21 14:45:39 +0100 Alex Ashley * libs/gst/check/gsttestclock.c: testclock: add clock-type property To allow the GstTestClock to be used as a GstSystemClock, it is useful to implement the clock-type property that GstSystemClock provides. This allows GstTestClock to be used as the system clock with code that expects a GstSystemClock. https://bugzilla.gnome.org/show_bug.cgi?id=762147 2016-04-21 13:49:32 +0300 Sebastian Dröge * gst/gstdatetime.c: datetime: Sanity check year, month and day when parsing ISO-8601 strings Passing years > 9999, months > 12 or days > 31 to gst_date_time_new() will cause an assertion and generally does not make much sense. Instead consider it as a parsing error like hours > 24 and return NULL. 2016-04-20 11:46:19 +0300 Sebastian Dröge * libs/gst/base/gstbaseparse.c: baseparse: Remember if we interpolated DTS from PTS and refresh it whenever we update the PTS Otherwise PTS and DTS will come out of sync if upstream continues to provide PTS and not DTS, and we have to skip some data from the stream or PTS are not exactly increasing with the duration of each packet. https://bugzilla.gnome.org/show_bug.cgi?id=765260 2016-04-20 11:45:28 +0300 Sebastian Dröge * libs/gst/base/gsttypefindhelper.c: typefindhelper: Fix gobject-introspection warning about invalid transfer annotation gsttypefindhelper.c:485: Warning: GstBase: invalid "transfer" annotation for gsize: only valid for array, struct, union, boxed, object and interface types 2016-04-18 13:05:40 +0300 Guillaume Desmottes * gst/gst.c: * gst/gst_private.h: * gst/gstallocator.c: allocator: add cleanup method Make tracking memory leaks easier. https://bugzilla.gnome.org/show_bug.cgi?id=765212 2016-03-25 15:55:18 +0100 Francisco Velazquez * tests/check/gst/gstplugin.c: tests: plugin: improve debug message https://bugzilla.gnome.org/show_bug.cgi?id=764199 2016-04-14 11:54:32 +0200 Carlos Rafael Giani * plugins/elements/gstmultiqueue.c: * tests/check/elements/multiqueue.c: multiqueue: Recheck buffering status after changing low threshold https://bugzilla.gnome.org/show_bug.cgi?id=763757 2016-04-14 00:09:44 +0200 Carlos Rafael Giani * plugins/elements/gstmultiqueue.c: * tests/check/elements/multiqueue.c: multiqueue: Recalculate fill level after changing high-threshold This ensures the following special case is handled properly: 1. Queue is empty 2. Data is pushed, fill level is below the current high-threshold 3. high-threshold is set to a level that is below the current fill level Since mq->percent wasn't being recalculated in step #3 properly, this caused the multiqueue to switch off its buffering state when new data is pushed in, and never post a 100% buffering message. The application will have received a <100% buffering message from step #2, but will never see 100%. Fix this by recalculating the current fill level percentage during high-threshold property changes in the same manner as it is done when use-buffering is modified. https://bugzilla.gnome.org/show_bug.cgi?id=763757 2016-04-15 13:50:30 +0300 Sebastian Dröge * libs/gst/base/gstbaseparse.c: baseparse: When initializing DTS from PTS, remember that we did so If we don't store the value in prev_dts, we would over and over again initialize the DTS from the last known upstream PTS. If upstream only provides PTS every now and then, then this causes DTS to be rather static. For example in adaptive streaming scenarios this means that all buffers in a fragment will have exactly the same DTS while the PTS is properly updated. As our queues are now preferring to do buffer fill level calculations on DTS, this is causing huge problems there. See https://bugzilla.gnome.org/show_bug.cgi?id=691481#c27 where this part of the code was introduced. https://bugzilla.gnome.org/show_bug.cgi?id=765096 2016-04-14 09:58:04 +0100 Julien Isorce * README: * common: Automatic update of common submodule From 6f2d209 to ac2f647 2016-04-13 16:08:30 +0100 Vincent Penquerc'h * plugins/elements/gstmultiqueue.c: multiqueue: catch errors and flushing case after lock This ensures we can not get into an indefinite wait on the following cond var wait. https://bugzilla.gnome.org/show_bug.cgi?id=764999 2016-04-13 16:40:43 +0100 Tim-Philipp Müller * tools/gst-launch.c: tools: gst-launch: fix up caps printing in verbose mode Add missing 'else' and print caps and taglists without the annoying duplicate string escaping, making both nicer to read. Fixes string leak and coverity CID 1358492. 2016-04-13 12:38:05 +0300 Guillaume Desmottes * plugins/tracers/gstrusage.c: rusage: properly free the queue memory The queue is allocated as part of the tracer struct so we should not use g_queue_free() to free it. https://bugzilla.gnome.org/show_bug.cgi?id=764985 2016-04-13 10:21:15 +0300 Sebastian Dröge * gst/gstbuffer.c: * gst/gstmeta.c: meta: Warn if a meta implementation is registered without init function This previously caused uninitialized memory unless something else was initializing all the fields explicitly to something. To be on the safe side, we also allocate metas without init function to all zeroes now as it was relatively common. https://bugzilla.gnome.org/show_bug.cgi?id=764902 2016-04-12 15:17:36 +0300 Sebastian Dröge * libs/gst/base/gstbasesink.c: Revert "basesink: Take PREROLL_LOCK in wait_event()" This reverts commit 828a4627db0cb6a6706b96d9be97e5e5c7d22215. The lock was already taken elsewhere, in gst_base_sink_event(). 2016-04-12 15:11:30 +0300 Sebastian Dröge * libs/gst/base/gstbasesink.c: basesink: Take PREROLL_LOCK in wait_event() It is calling do_sync(), which requires the STREAM_LOCK and PREROLL_LOCK to be taken. The STREAM_LOCK is already taken in all callers, the PREROLL_LOCK not. https://bugzilla.gnome.org/show_bug.cgi?id=764939 2016-02-11 09:33:28 +0100 Julien Isorce * tests/check/Makefile.am: tests: add PTHREAD_CFLAGS for make check to pass on OS X Currently "make check" fails with: "error: argument unused during compilation: '-pthread'" PTHREAD_CFLAGS now contains -Qunused-arguments to fix that. Explanation here: http://savannah.gnu.org/patch/?8186#comment21 https://bugzilla.gnome.org/show_bug.cgi?id=747954 2016-04-11 10:44:22 +0100 Tim-Philipp Müller * tests/check/libs/baseparse.c: tests: baseparse: make work with CK_FORK=no https://bugzilla.gnome.org/show_bug.cgi?id=623469 2016-04-11 10:27:56 +0100 Tim-Philipp Müller * tests/check/libs/test_transform.c: * tests/check/libs/transform1.c: * tests/check/libs/transform2.c: tests: transform1: make test work with CK_FORK=no We need to clear some global state and register a new test basetransform subclass for each test because we do things in class_init base on global state. https://bugzilla.gnome.org/show_bug.cgi?id=623469 2016-04-10 20:45:24 +0100 Tim-Philipp Müller * tests/check/libs/collectpads.c: tests: collectpads: fix for CK_FORK=no Reset global state when done, and unref sink pads too in teardown function to make it valgrind clean. https://bugzilla.gnome.org/show_bug.cgi?id=623469 2016-04-10 20:25:44 +0100 Tim-Philipp Müller * tests/check/elements/streamiddemux.c: tests: streamiddemux: fix with CK_FORK=no Clear global state when done. https://bugzilla.gnome.org/show_bug.cgi?id=623469 2016-04-10 20:04:07 +0100 Tim-Philipp Müller * tests/check/gst/gstbufferpool.c: tests: bufferpool: fix wrong assumptions about pointers and object lifecycles The test assumed that if a buffer has the same pointer address as before it is in fact the same mini object and has been re-used by the pool. This seems to be mostly true, but not always. The buffer might be destroyed and when a new buffer is created the allocator might return the same memory that we just freed. Instead attach a qdata with destroy notify function to buffer instances we want to track to make sure the buffer actually gets finalized rather than resurrected and put back into the pool. 2016-04-10 18:37:31 +0100 Tim-Philipp Müller * docs/pwg/building-boiler.xml: * docs/pwg/pwg.xml: docs: pwg: remove broken references to example code We point to gst-template at the beginning that shoul be enough. https://bugzilla.gnome.org/show_bug.cgi?id=623575 2016-04-08 13:26:48 +0100 Tim-Philipp Müller * tests/check/Makefile.am: tests: don't run tracerrecord in valgrind for now Because of the way we implement logging and adding/removing log functions currently (we leak a GList on purpose) this test leaks. 2016-03-05 17:51:01 +0000 Tim-Philipp Müller * tools/gst-launch.c: tools: gst-launch: use new async property change notification API https://bugzilla.gnome.org/show_bug.cgi?id=763142 2016-03-05 14:12:36 +0000 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gstelement.c: * gst/gstelement.h: * gst/gstmessage.c: * gst/gstmessage.h: * gst/gstquark.c: * gst/gstquark.h: * tests/check/gst/gstelement.c: * win32/common/libgstreamer.def: element: add API to get property change notifications via messages Be notified in the application thread via bus messages about notify::* and deep-notify::* property changes, instead of having to deal with it in a non-application thread. API: gst_element_add_property_notify_watch() API: gst_element_add_property_deep_notify_watch() API: gst_element_remove_property_notify_watch() API: gst_message_new_property_notify() API: gst_message_parse_property_notify() API: GST_MESSAGE_PROPERTY_NOTIFY https://bugzilla.gnome.org/show_bug.cgi?id=763142 2016-04-07 20:29:10 +0300 Sebastian Dröge * tests/check/gst/gstcpp.cc: * tests/check/libs/gstlibscpp.cc: tests: Add C++ tests for the other INIT macros we have 2016-04-06 17:19:28 +0100 Tim-Philipp Müller * tests/check/gst/gstcpp.cc: tests: gstcpp: flesh out C++ test so we can add more bits Like a check for GST_MAP_INFO_INIT. 2016-04-06 16:48:38 +0100 Tim-Philipp Müller * tests/check/libs/gstlibscpp.cc: tests: use catch-all includes for c++ gst libs include test So we get any new header files as well as they're added. 2016-04-06 17:23:20 +0100 Tim-Philipp Müller * gst/gstmemory.h: memory: fix C++ compiler warnings with GST_MAP_INFO_INIT 2016-04-04 10:28:18 +0000 Matthew Waters * gst/gstutils.c: * tests/check/gst/gstutils.c: utils: check the correct element's state on ghosting pads Checking the current element's state when we're adding pads to the parent element is checking the wrong thing. Silences a 'attempting to add an inactive pad to a running element' warning when adding a ghost pad to a running parent bin of the parent bin of the element. https://bugzilla.gnome.org/show_bug.cgi?id=764176 2016-03-25 01:28:18 +0000 Matthew Waters * docs/gst/gstreamer-sections.txt: * gst/gstutils.c: * gst/gstutils.h: * win32/common/libgstreamer.def: utils: expose pad_link_maybe_ghosting This is a useful function to automatically add ghost pads when linking two elements across bin boundaries without know their exact parentage. e.g. when using gst_parse_bin_from_description (with or without it ghosting pads), one can simply retreive the src/sink pads from the bin to link to another pad. Similar functionality is provided by gst_element_link_pads{_full}() however only by pad name rather than by actual pads. API: gst_pad_link_maybe_ghosting_full https://bugzilla.gnome.org/show_bug.cgi?id=764176 2016-04-03 23:35:46 -0700 Reynaldo H. Verdejo Pinochet * docs/design/part-states.txt: docs/design/part-states.txt: spelling fix 2015-05-15 13:36:04 +0100 Mark Combellack * gst/gstbin.c: * gst/gstbufferpool.c: * gst/gstelement.c: * gst/gstobject.c: * gst/gstpad.c: * gst/gstpipeline.c: GST_REFCOUNTING: Add logging of pointer address for dispose, finalize, etc messages Updated the GST_REFCOUNTING logging so that it includes the pointer address of the object that is being disposed or finalized. With this change is is then possible to match up GST_REFCOUNTING log messages for object allocation/disposal/finalization. This can help with diagnosing "memory leaks" in applications that have not correctly disposed of all the GStreamer objects it creates. https://bugzilla.gnome.org/show_bug.cgi?id=749427 2016-03-31 11:46:03 +0100 Luis de Bethencourt * gst/gstinfo.c: info: only open log file when adding it to the log function This avoids the leak of opening it and then not passing it or closing it before it goes out of scope. 2016-04-01 22:41:51 +0300 Sebastian Dröge * gst/gstclock.c: clock: Return FALSE in all paths that don't set out parameters in gst_clock_add_observation_unapplied() It returned TRUE when regression failed, while not setting any of the out parameters. This caused uninitialized data from the stack to be used for setting the clock calibration. 2016-03-24 17:34:20 -0300 Thiago Santos * gst/gstpad.c: pad: rework probe's hook_marshall function PUSH and PULL mode have opposite scenarios for IDLE and BLOCK probes. For PUSH it will BLOCK with some data type and IDLE won't have a type. For PULL it will BLOCK before getting some data and will be IDLE when some data is obtained. The check in hook_marshall was specific for PUSH mode and would cause PULL probes to fail to be called. Adding different checks for the mode to fix this issue. https://bugzilla.gnome.org/show_bug.cgi?id=761211 2016-03-24 17:34:40 -0300 Thiago Santos * tests/check/gst/gstpad.c: tests: pad: extra tests for pad pull probes For BUFFER and IDLE probes https://bugzilla.gnome.org/show_bug.cgi?id=761211 2016-01-28 16:22:17 +0100 Matej Knopp * tests/check/gst/gstpad.c: pad: Add test for blocking pull probe https://bugzilla.gnome.org/show_bug.cgi?id=761211 2016-03-24 12:13:39 -0300 Thiago Santos * gst/gstpad.c: pad: consider PROBE_TYPE_EVENT_FLUSH when using PROBE_TYPE_ALL_BOTH When GST_PAD_PROBE_EVENT_FLUSH is used, the probes already have a data type and it is not needed to automatically add the default types. https://bugzilla.gnome.org/show_bug.cgi?id=762330 2016-02-19 16:18:12 +0100 Linus Svensson * tests/check/gst/gstpad.c: gstpad tests: Add a test for flush event only probes https://bugzilla.gnome.org/show_bug.cgi?id=762330 2016-03-26 17:21:51 +0000 Tim-Philipp Müller * gst/gstdebugutils.c: debugutils: fix enum/flag properties printing for elements We want to use the flag/enum nicks here, not only because they are shorter but also because in case of element-specific enums and flags we abuse the enum/flag name field for the description, and we don't want that printed in the dot file. https://bugzilla.gnome.org/show_bug.cgi?id=763814 2016-03-23 10:31:46 +0000 Tim-Philipp Müller * gst/gsttrace.c: alloctrace: print size and allocator details for buffers and memories 2016-02-29 19:04:16 +0000 Tim-Philipp Müller * gst/gstinfo.c: info: make it possible to remove default log handler before gst_init() Make sure it's not even added then, so that we never output anything via the default log handler then. https://bugzilla.gnome.org/show_bug.cgi?id=751538 2016-03-05 14:27:35 +0000 Tim-Philipp Müller * gst/gstmemory.h: * gst/gstminiobject.h: * gst/gsturi.h: miniobject, memory, uri: warn on unused return value of some funcs Make compiler issue a warning for common beginner mistakes such as: ... gst_buffer_make_writable (buf); gst_buffer_map (buf, &map, GST_MAP_WRITE); ... and similar. Only do this for some functions for now. 2016-03-26 11:17:02 +0000 Tim-Philipp Müller * .gitignore: .gitignore new netclock-replay testing tool binary 2015-10-17 18:01:47 +0100 Tim-Philipp Müller * gst/gstregistry.c: registry: allow plugin and feature filter funcs to call registry API Don't keep the registry locked whilst iterating over the plugins or features with a filter function. This would deadlock if the callback tried to access the registry from the function. Instead, make a copy of the feature/plugin list and then filter it without holding the registry lock. This is still considerably faster than the alternative which would be to use a GstIterator. https://bugzilla.gnome.org/show_bug.cgi?id=756738 2016-03-25 12:59:57 +0200 Sebastian Dröge * configure.ac: configure: Remove unneeded parenthesis from AG_GST_CHECK_CHECKS 2016-03-25 12:05:41 +0200 Sebastian Dröge * tests/check/elements/valve.c: valve: Fix unit test by sending caps before buffers Unexpected critical/warning: gstpad.c:4400:gst_pad_push_data:<'':src> Got data flow before segment event https://bugzilla.gnome.org/show_bug.cgi?id=763753 2016-03-25 10:23:46 +0200 Sebastian Dröge * tests/misc/Makefile.am: netclock: Link the replay example to GIO 2016-03-03 21:45:54 +0530 Arun Raghavan * tests/misc/Makefile.am: * tests/misc/netclock-replay.c: tests: Add some code to replay and analyse netclientclock This takes readings in the form of ... ... with one observation per line, and then replays it using the netclientclock code. The output is the statistics structure emitted by the netclientclock, which can then be analysed and tuned once we get those readings for potential edge-cases. It should be possible to find some inputs with "bad" data and convert this into a unit test for future tweaks to run against. 2016-03-03 21:44:35 +0530 Arun Raghavan * libs/gst/net/gstnetclientclock.c: netclientclock: Always dump clock observations in logs This makes it possible to examine what values we get in logs, and potentially tune our filtering/extrapolation in various scenarios. 2016-03-04 15:50:26 +0900 Vineeth TM * plugins/elements/gstdataurisrc.c: bad: use new gst_element_class_add_static_pad_template() https://bugzilla.gnome.org/show_bug.cgi?id=763081 2016-03-16 15:13:39 +0100 Havard Graff * plugins/elements/gstvalve.c: * tests/check/elements/valve.c: valve: don't send sticky events as a direct response to upstream events Also refactor the existing valve test to actually test the valve, and not just test the EOS mechanism of a pad. https://bugzilla.gnome.org/show_bug.cgi?id=763753 2016-03-11 09:23:04 +0100 Carlos Rafael Giani * gst/gstparse.c: * gst/gstparse.h: * gst/parse/grammar.y: parse-launch: Add flag for placing elements in a bin instead of a pipeline By default, gst_parse_launch_full() creates a GstPipeline if there's more than one toplevel element. Add a flag to let it use a GstBin instead. Also fix the parser to let it use this flag for GST_TYPE_ELEMENT property values, to avoid having GstPipelines inside other GstPipelines. https://bugzilla.gnome.org/show_bug.cgi?id=763457 2016-03-08 19:08:16 +0000 Tim-Philipp Müller * plugins/elements/gstcapsfilter.c: * plugins/elements/gstcapsfilter.h: capsfilter: optimisation: avoid unnecessary gst_pad_has_current_caps() checks No need to do this for every input buffer, since it involves locking and iterating of the sticky events array and such. https://bugzilla.gnome.org/show_bug.cgi?id=763337 2016-03-03 14:15:00 +0900 Vineeth TM * gst/gstpadtemplate.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * tests/check/elements/fakesink.c: * tests/check/gst/gstpad.c: * tests/check/gst/gstprotection.c: * tests/check/gst/gstutils.c: * tests/check/libs/baseparse.c: * tests/check/libs/collectpads.c: * tests/check/libs/test_transform.c: * tests/check/pipelines/parse-launch.c: * tests/check/pipelines/seek.c: gstreamer: use new gst_element_class_add_static_pad_template() https://bugzilla.gnome.org/show_bug.cgi?id=763020 2016-03-02 17:47:33 +0100 Edward Hervey * plugins/elements/gstqueue.c: * plugins/elements/gstqueue.h: queue: Use full running time for level calculation Ensures we have proper time level estimation for the cases where the incoming buffers have PTS/DTS outside of the segment start/stop values. https://bugzilla.gnome.org/show_bug.cgi?id=762995 2016-01-27 11:46:06 +0100 Stian Selnes * gst/gstpad.c: pad: Fix race between gst_element_remove_pad and state change When going from READY to NULL all element pads are deactivated. If simultaneously the pad is being removed from the element with gst_element_remove_pad() and the pad is unparented, there is a race where the deactivation will assert (g_critical) if the parent is lost at the wrong time. The proposed fix will check parent only once and retain it to avoid the race. https://bugzilla.gnome.org/show_bug.cgi?id=761912 2016-03-02 21:11:51 -0500 Nicolas Dufresne * libs/gst/base/gstcollectpads.c: collectpads: Assume PTS is equal DTS if PTS is missing This is the best guess we can make if such a buffer reached the collect pad. This is uncommon, we do expect parsers to have tried and fixed that if possible (or needed). https://bugzilla.gnome.org/show_bug.cgi?id=762207 2016-03-24 13:32:41 +0200 Sebastian Dröge * configure.ac: Back to development 2016-03-24 11:49:44 +0200 Sebastian Dröge * plugins/elements/gsttypefindelement.c: typefind: Remove redundant assignment CID 1357158 === release 1.8.0 === 2016-03-24 11:49:08 +0200 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * gstreamer.doap: * win32/common/config.h: * win32/common/gstversion.h: Release 1.8.0 2016-03-24 11:35:26 +0200 Sebastian Dröge * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files 2016-03-13 11:05:29 -0400 Anthony G. Basile * libs/gst/check/libcheck/libcompat.h: libcompat.h: strsignal() should be not be decleared const POSIX standards requires strsignal() to return a pointer to a char, not a const pointer to a char. [1] On uClibc, and possibly other libc's, that do not HAVE_DECL_STRSIGNAL, libcompat.h declares const char *strsignal (int sig) which causes a type error. [1] man 3 strsignal https://bugzilla.gnome.org/show_bug.cgi?id=763567 2016-03-22 19:04:59 +0200 Sebastian Dröge * gst/gstpreset.c: preset: Use GST_PRESET_PATH as an extension of the system path, not a replacement of the user path First load all system presets, then all from the environment variable, then from the app directory, then from the user directory. Any one in the chain with the highest version completely replaces all previous ones, later ones with lower versions are merged in without replacing existing presets. This is basically the same behaviour as before, just that GST_PRESET_PATH is inserted as another source of directories between the system and app presets. It was added in ca08af1f17d2ce36b83998a0ba3a7b8bcafd7872, but was accidentially overriding the user preset path there. Which caused inconsistent behaviour as new presets were still stored in the system path, just not loaded from there. Meaning you could store a new preset (in the user path), just for GstPreset to not find it anymore later (because it only looked in the GST_PRESET_PATH instead of the user path). https://bugzilla.gnome.org/show_bug.cgi?id=764034 2016-03-19 12:55:09 +0100 Aurélien Zanelli * gst/gstutils.c: utils: add 'transfer full' annotation to gst_pad_peer_query_caps https://bugzilla.gnome.org/show_bug.cgi?id=763912 2016-03-19 12:39:18 +0100 Aurélien Zanelli * gst/gstpad.c: pad: add 'transfer full' and 'nullable' annotations to gst_pad_get_current_caps and also change the description accordingly since function returns an incremented caps object or NULL if there is no caps set. https://bugzilla.gnome.org/show_bug.cgi?id=763912 2016-03-18 16:02:43 -0400 Ben Iofel * gst/gstutils.c: utils: fix gir annotation for gst_element_query_convert() https://bugzilla.gnome.org/show_bug.cgi?id=763895 2016-03-17 01:42:55 +1100 Jan Schmidt * tests/check/elements/multiqueue.c: tests: Check multiqueue not-linked EOS handling Add a test which checks that not-linked pads continue to output data after linked pads have gone EOS https://bugzilla.gnome.org/show_bug.cgi?id=763770 2016-03-18 03:08:39 +1100 Jan Schmidt * plugins/elements/gstmultiqueue.c: multiqueue: Fix not-linked pad handling at EOS Ensure that not-linked pads will drain out at EOS by correctly detecting the EOS condition based on the EOS pad flag (which indicates we actually pushed an EOS), and make sure that not-linked pads are woken when doing EOS processing on linked pads. https://bugzilla.gnome.org/show_bug.cgi?id=763770 2016-03-15 16:37:33 +0100 Romain Picard * plugins/elements/gsttypefindelement.c: typefind: Allow caps query in "have-type" signal handlers If an application calls gst_pad_query_caps from its "have-type" signal handler, then the query fails because typefind->caps has not been set yet. This patch sets typefind->caps in the object method handler, before the signal handlers are called. https://bugzilla.gnome.org/show_bug.cgi?id=763491 === release 1.7.91 === 2016-03-15 11:56:10 +0200 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * gstreamer.doap: * win32/common/config.h: * win32/common/gstversion.h: Release 1.7.91 2016-03-15 11:44:03 +0200 Sebastian Dröge * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/gl.po: * po/hr.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/tr.po: * po/zh_TW.po: Update .po files 2016-03-15 11:39:42 +0200 Sebastian Dröge * po/cs.po: * po/fr.po: * po/hu.po: * po/ru.po: * po/sr.po: * po/sv.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: po: Update translations 2016-03-11 14:17:13 +0200 Sebastian Dröge * plugins/elements/gsttypefindelement.c: typefind: Store caps on the pad before emitting have-type but send it downstream only in the default signal handler https://bugzilla.gnome.org/show_bug.cgi?id=763491 2016-03-13 10:33:53 +0200 Sebastian Dröge * libs/gst/base/gstbaseparse.c: baseparse: Recheck after pre_push_frame() if there are tags pending Many parsers are storing tags only in pre_push_frame(), if we wouldn't check afterwards we would push buffers before those tags and a lot of code assumes that tags are available before preroll. https://bugzilla.gnome.org/show_bug.cgi?id=763553 2016-03-14 11:15:07 +0100 Carlos Rafael Giani * plugins/elements/gstconcat.c: concat: Fix comment typo 2016-03-12 12:56:28 +0200 Sebastian Dröge * plugins/elements/gsttypefindelement.c: Revert "typefind: Store caps on the pad before emitting have-type but send it downstream only in the default signal handler" This reverts commit 0835c3d6569dde0ec9e5524436367c7678cc4a4a. It causes deadlocks in decodebin, which currently would deadlock if the caps are already on the pad in have-type and are forwarded while copying the sticky events (while holding the decodebin lock)... as that might cause the next element to expose pads, which then calls back into decodebin and takes the decodebin lock. This needs some more thoughts. 2016-03-11 14:17:13 +0200 Sebastian Dröge * plugins/elements/gsttypefindelement.c: typefind: Store caps on the pad before emitting have-type but send it downstream only in the default signal handler https://bugzilla.gnome.org/show_bug.cgi?id=763491 2016-03-10 10:35:40 +0100 Carlos Rafael Giani * gst/gstelement.h: * gst/gstobject.h: docs: Flesh out element and object macro accessor docs a bit https://bugzilla.gnome.org/show_bug.cgi?id=763213 2016-03-09 16:06:58 +0200 Sebastian Dröge * libs/gst/net/gstnetclientclock.c: netclientclock: Remove some obsolete code that can cause warnings 2016-03-09 13:44:24 +0200 Sebastian Dröge * libs/gst/net/gstnetclientclock.c: netclientclock: Don't reset calibration of internal clock whenever a new netclient clock is created https://bugzilla.gnome.org/show_bug.cgi?id=763325 2016-03-04 18:23:18 +0100 Víctor Manuel Jáquez Leal * gst/gstbuffer.h: * tests/check/gst/gstbuffer.c: gstbuffer: fix GstParentBufferMeta GType name The alias define GST_TYPE_PARENT_BUFFER_META_API_TYPE is wrong and breaks the usage of gst_buffer_get_parent_buffer_meta(). This patch fixes the GType alias and make another alias to keep the API compatibility guarded by GST_DISABLE_DEPRECATED. Also added a unit test. https://bugzilla.gnome.org/show_bug.cgi?id=763112 2016-03-02 10:37:09 +0200 Sebastian Dröge * gst/gsttracerrecord.c: tracerrecord: Remove useless NULL check and add assertion for making assumptions explicit gst_structure_new_empty() is not returning NULL in any valid scenarios, checking for NULL here is useless. Especially because we would dereference any NULL right after the NULL check again. CID 1352037. We previously check if the string ends on .class, as such strrchr() should return something non-NULL. Add an assertion for that. CID 1349642. 2016-03-01 19:50:26 +0000 Tim-Philipp Müller * gst/gstelement.c: element: minor docs fix Make gtk-doc happy. === release 1.7.90 === 2016-03-01 18:14:03 +0200 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * gstreamer.doap: * win32/common/config.h: * win32/common/gstversion.h: Release 1.7.90 2016-03-01 16:52:41 +0200 Sebastian Dröge * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: po: Update translations 2016-02-29 23:33:03 +0200 Sebastian Dröge * gst/gstbus.c: * tests/check/gst/gstpipeline.c: Revert "bus: change GstBusSource to hold a weak ref to GstBus" This reverts commit 894c67e642c0f858b5b18097fa7c995bf3cc50c1. 2016-02-29 23:32:58 +0200 Sebastian Dröge * gst/gstbus.c: Revert "bus: Make sure to remove the GPollFD from the GSources when destroying the bus" This reverts commit 05700a7082c145057ccc0be763067bcc263239eb. 2016-02-29 17:06:36 +0200 Sebastian Dröge * gst/gstelement.h: element: Remove GST_STATE_LOCK_FULL() / UNLOCK_FULL() There is no corresponding API for that in GLib and nobody could've ever used these macros without compiler errors anyway. 2016-02-29 10:01:50 +0200 Sebastian Dröge * gst/gstbus.c: bus: Make sure to remove the GPollFD from the GSources when destroying the bus Otherwise the GSource can look into our already destroyed bus where the GPollFD is stored. https://bugzilla.gnome.org/show_bug.cgi?id=762849 2016-02-29 11:06:50 +0900 Vineeth TM * tests/check/gst/gstghostpad.c: tests: ghostpad: Fix memory leaks https://bugzilla.gnome.org/show_bug.cgi?id=762845 2016-02-28 13:59:48 +0000 Tim-Philipp Müller * gst/gsttaglist.c: taglist: add guard to check writability when removing tags from a taglist https://bugzilla.gnome.org/show_bug.cgi?id=762793 2016-02-27 15:36:28 +0000 Tim-Philipp Müller * plugins/elements/gstcapsfilter.c: * plugins/elements/gstconcat.c: * plugins/elements/gstdownloadbuffer.c: * plugins/elements/gstfakesink.c: * plugins/elements/gstfakesrc.c: * plugins/elements/gstfdsink.c: * plugins/elements/gstfdsrc.c: * plugins/elements/gstfilesink.c: * plugins/elements/gstfilesrc.c: * plugins/elements/gstfunnel.c: * plugins/elements/gstidentity.c: * plugins/elements/gstinputselector.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstoutputselector.c: * plugins/elements/gstqueue.c: * plugins/elements/gstqueue2.c: * plugins/elements/gststreamiddemux.c: * plugins/elements/gsttee.c: * plugins/elements/gsttypefindelement.c: * plugins/elements/gstvalve.c: elements: use new gst_element_class_add_static_pad_template() https://bugzilla.gnome.org/show_bug.cgi?id=762778 2016-02-27 15:28:49 +0000 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gstelement.c: * gst/gstelement.h: * win32/common/libgstreamer.def: element: add gst_element_class_add_static_pad_template() Pretty much every single element does gst_element_class_add_pad_template (element_class, gst_static_pad_template_get (&some_templ)); which is both confusing and unnecessary. We might just as well add a function to do that in one step. https://bugzilla.gnome.org/show_bug.cgi?id=762778 2016-02-27 15:32:19 +0000 Tim-Philipp Müller * plugins/elements/gsttypefindelement.c: typefind: fix indentation 2016-02-26 12:40:55 +0200 Sebastian Dröge * common: Automatic update of common submodule From b64f03f to 6f2d209 2016-02-25 22:36:14 +0000 James Stevenson * gst/gstbus.c: bus: Prevent gst_bus_add_watch_full_unlocked from a segfault if priv->poll == NULL This happens if the process runs out of file descriptors. Better print a critical warning instead of just crashing. https://bugzilla.gnome.org/show_bug.cgi?id=762702 2016-02-24 10:56:24 -0300 Thiago Santos * gst/gstbus.c: * tests/check/gst/gstpipeline.c: bus: change GstBusSource to hold a weak ref to GstBus When holding a regular ref it will cause the GstBus to never reach 0 references and it won't be destroyed unless the application explicitly calls gst_bus_remove_signal_watch(). Switching to weakref will allow the GstBus to be destroyed. The application is still responsible for destroying the GSource. https://bugzilla.gnome.org/show_bug.cgi?id=762552 2016-02-25 14:11:34 +0200 Sebastian Dröge * plugins/elements/gstidentity.c: identity: Add a " " after pts: in the silent=false output 2014-04-16 11:42:18 +0200 Edward Hervey * docs/manual/advanced-dataaccess.xml: manual: Fix examples to check for gst_buffer_map return values Otherwise people reading the manual will expect it to always succeed :) https://bugzilla.gnome.org/show_bug.cgi?id=728326 2014-04-16 11:40:46 +0200 Edward Hervey * libs/gst/check/gstcheck.c: gstcheck: Check return value of gst_buffer_map We can't check contents if we don't have access to it https://bugzilla.gnome.org/show_bug.cgi?id=728326 2014-04-16 11:39:15 +0200 Edward Hervey * plugins/elements/gstfakesink.c: * plugins/elements/gstfakesrc.c: * plugins/elements/gstfdsrc.c: * plugins/elements/gstfilesrc.c: * plugins/elements/gstidentity.c: * plugins/elements/gstqueue2.c: plugins: Check return values of gst_buffer_map() They can fail for various reasons. For non-fatal cases (such as the dump feature of identiy and fakesink), we just silently skip it. For other cases post an error message. https://bugzilla.gnome.org/show_bug.cgi?id=728326 2016-02-23 17:23:43 +0100 Edward Hervey * gst/gstbuffer.c: buffer: Check return value of gst_memory_map() Only do memory operations if the memory was succesfully map'ed https://bugzilla.gnome.org/show_bug.cgi?id=728326 2016-02-23 18:17:42 +0200 Sebastian Dröge * plugins/elements/gstdataurisrc.c: dataurisrc: Don't assume that get_current_caps() returns non-NULL caps after has_current_caps() Remove calls to gst_pad_has_current_caps() which then go on to call gst_pad_get_current_caps() as the caps can go to NULL in between. Instead just use gst_pad_get_current_caps() and check for NULL. https://bugzilla.gnome.org/show_bug.cgi?id=759539 2015-12-10 15:32:27 +0100 Adam Miartus * gst/gsttaglist.c: * gst/gsttaglist.h: taglist: add GST_TAG_CONDUCTOR This is useful for metadata which explicitely distinguishes between artist/composer and conductor. https://bugzilla.gnome.org/show_bug.cgi?id=762450 2016-02-22 14:09:56 +0100 Mark Nauwelaerts * gst/gstevent.c: event: add some more documentation on stream-id ... where it might end up being used for. 2016-01-22 11:25:30 +0100 Thibault Saunier * gst/gsttracerutils.c: tracer: Initialize GstTracer _priv_tracers and quarks unconditionnally Some people might use tracer hooks even if GST_TRACER_PLUGINS is not set. https://bugzilla.gnome.org/show_bug.cgi?id=760979 2016-02-20 10:18:06 +0000 Tim-Philipp Müller * docs/manual/appendix-integration.xml: docs: manual: remove dead link from integration page 2016-02-20 10:13:38 +0000 Tim-Philipp Müller * docs/manual/advanced-dataaccess.xml: docs: manual: fix formatting advanced-dataaccess.xml:1210: element listitem: validity error : Element listitem content does not follow the DTD, expecting (...), got (para CDATA para ) 2016-02-20 00:55:30 +0000 Tim-Philipp Müller * scripts/create-uninstalled-setup.sh: scripts: check for git in create-uninstalled-setup.sh as well 2016-02-19 20:26:26 +0530 Nirbheek Chauhan * gst/glib-compat.c: * gst/gsttask.c: * libs/gst/net/gstptpclock.c: Whenever we include windows.h, also define WIN32_LEAN_AND_MEAN This reduces the number of symbols and code pulled in drastically 2016-02-13 06:53:24 +0530 Nirbheek Chauhan * gst/printf/gst-printf.h: printf: On MSVC, also define HAVE_STDINT_H_WITH_UINTMAX MSVC provides stdint.h but not inttypes.h, and we need to include stdint.h to get intmax_t 2016-02-13 06:42:06 +0530 Nirbheek Chauhan * libs/gst/net/gstptpclock.c: ptpclock: Only include unistd.h if found unistd.h is not provided by the Microsoft Visual C++ compiler. It instead provides the necessary defines through io.h 2016-02-13 06:19:52 +0530 Nirbheek Chauhan * gst/gstplugin.c: plugin: Only check for S_IFBLK if it is defined Windows does not define S_IFBLK since it doesn't have block devices 2016-02-19 20:17:02 +0000 Tim-Philipp Müller * win32/MANIFEST: * win32/README.txt: * win32/common/dirent.c: * win32/common/dirent.h: * win32/common/gtchar.h: * win32/common/libgstdataprotocol.def: * win32/vs10/Common.props: * win32/vs10/Library.props: * win32/vs10/Plugin.props: * win32/vs10/ReadMe.txt: * win32/vs10/Tool.props: * win32/vs10/base/base.vcxproj: * win32/vs10/base/base.vcxproj.filters: * win32/vs10/controller/controller.vcxproj: * win32/vs10/controller/controller.vcxproj.filters: * win32/vs10/generated/generated.vcxproj: * win32/vs10/generated/generated.vcxproj.filters: * win32/vs10/gst-inspect/gst-inspect.vcxproj: * win32/vs10/gst-inspect/gst-inspect.vcxproj.filters: * win32/vs10/gst-launch/gst-launch.vcxproj: * win32/vs10/gst-launch/gst-launch.vcxproj.filters: * win32/vs10/gst-typefind/gst-typefind.vcxproj: * win32/vs10/gst-typefind/gst-typefind.vcxproj.filters: * win32/vs10/gstcoreelements/gstcoreelements.vcxproj: * win32/vs10/gstcoreelements/gstcoreelements.vcxproj.filters: * win32/vs10/gstreamer.sln: * win32/vs10/gstreamer/gstreamer.vcxproj: * win32/vs10/gstreamer/gstreamer.vcxproj.filters: * win32/vs10/net/net.vcxproj: * win32/vs10/net/net.vcxproj.filters: * win32/vs6/grammar.dsp: * win32/vs6/gst_inspect.dsp: * win32/vs6/gst_launch.dsp: * win32/vs6/gstreamer.dsw: * win32/vs6/libgstbase.dsp: * win32/vs6/libgstcontroller.dsp: * win32/vs6/libgstcoreelements.dsp: * win32/vs6/libgstnet.dsp: * win32/vs6/libgstreamer.dsp: * win32/vs7/grammar.vcproj: * win32/vs7/gst-inspect.vcproj: * win32/vs7/gst-launch.vcproj: * win32/vs7/gstreamer.sln: * win32/vs7/libgstbase.vcproj: * win32/vs7/libgstcontroller.vcproj: * win32/vs7/libgstcoreelements.vcproj: * win32/vs7/libgstreamer.vcproj: * win32/vs8/grammar.vcproj: * win32/vs8/gst-inspect.vcproj: * win32/vs8/gst-launch.vcproj: * win32/vs8/gstreamer.sln: * win32/vs8/libgstbase.vcproj: * win32/vs8/libgstcontroller.vcproj: * win32/vs8/libgstcoreelements.vcproj: * win32/vs8/libgstreamer.vcproj: win32: update README and remove outdated build cruft This hasn't been touched for generations, doesn't work, and is just causing confusion. We also don't want to maintain these files manually. 2016-02-19 08:43:00 +0000 George Yunaev * docs/manual/advanced-dataaccess.xml: manual: Explain what happens if upstream elements are removed from the pipeline without draining them first https://bugzilla.gnome.org/show_bug.cgi?id=762302 2016-02-19 14:41:55 +0000 Tim-Philipp Müller * tests/check/elements/identity.c: * tests/check/libs/gstharness.c: tests: fix indentation 2016-02-19 12:38:21 +0200 Sebastian Dröge * configure.ac: Back to development === release 1.7.2 === 2016-02-19 11:47:52 +0200 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/gstreamer-plugins.args: * docs/plugins/inspect/plugin-coreelements.xml: * gstreamer.doap: * win32/common/config.h: * win32/common/gstenumtypes.c: * win32/common/gstenumtypes.h: * win32/common/gstversion.h: Release 1.7.2 2016-02-19 10:29:40 +0200 Sebastian Dröge * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: po: Update translations 2016-02-18 14:20:17 +0000 Julien Isorce * pkgconfig/gstreamer-base-uninstalled.pc.in: * pkgconfig/gstreamer-check-uninstalled.pc.in: * pkgconfig/gstreamer-controller-uninstalled.pc.in: * pkgconfig/gstreamer-net-uninstalled.pc.in: * pkgconfig/gstreamer-uninstalled.pc.in: uninstalled.pc: add support for non libtool build systems Currently the .la path is provided which requires to use libtool as mentioned in the GStreamer manual section-helloworld-compilerun.html. It is fine as long as the application is built using libtool. So currently it is not possible to compile a GStreamer application within gst-uninstalled with CMake or other build system different than autotools. This patch allows to do the following in gst-uninstalled env: gcc test.c -o test $(pkg-config --cflags --libs gstreamer-1.0) Previously it required to prepend libtool --mode=link https://bugzilla.gnome.org/show_bug.cgi?id=720778 2016-02-18 11:43:22 +0200 Sebastian Dröge * gst/gstpad.c: Revert "pad: PULL probes are called without a buffer so don't require any of the data flags to be set" This reverts commit b89fa4786b3df6cb79f662c037dee74b3f7428d6. The changes break various tests. 2016-02-18 11:43:04 +0200 Sebastian Dröge * tests/check/gst/gstpad.c: Revert "pad: Add test for blocking pull probe" This reverts commit 17d30e944be0425ebb4fb6046f82d1f61701fe8f. The PULL probe changes break various tests. 2016-02-18 11:09:36 +0200 Sebastian Dröge * gst/gstbuffer.c: buffer: Protect against failing to map input memory when merging memories https://bugzilla.gnome.org/show_bug.cgi?id=762239 2016-01-28 16:22:17 +0100 Matej Knopp * tests/check/gst/gstpad.c: pad: Add test for blocking pull probe https://bugzilla.gnome.org/show_bug.cgi?id=761211 2016-02-17 16:57:27 +0200 Sebastian Dröge * gst/gstpad.c: pad: PULL probes are called without a buffer so don't require any of the data flags to be set https://bugzilla.gnome.org/show_bug.cgi?id=761211 2016-02-17 16:41:02 +0200 Sebastian Dröge * gst/gstelement.c: Revert "element: Don't hold state lock all the time while sending an event" This reverts commit b427997119a2b6aacbeb550f729936f8b963e24b. It breaks things that used to work before, even if the change by itself is correct and the previous code is just working around deeper bugs in the async state change code. Let's go back to what previously worked and then fix async state changes in general. https://bugzilla.gnome.org/show_bug.cgi?id=760532 2016-02-17 15:26:49 +0100 Edward Hervey * gst/gstghostpad.c: Revert "ghostpad: Do nothing in _internal_activate_push_default" That commit would break scheduling reconfiguration with ghostpads This reverts commit ab55ad7eaad4fa2c0b16c789350e882cf70a27ed. 2016-02-17 15:25:08 +0100 Edward Hervey * tests/check/gst/gstghostpad.c: check: Add test for checking scheduling reconfiguration with ghostpads Showcases the regression introduced by this commit: Commit: ab55ad7eaad4fa2c0b16c789350e882cf70a27ed Author: Stian Selnes Date: Wed Jan 27 13:20:23 2016 +0100 ghostpad: Do nothing in _internal_activate_push_default 2016-02-17 11:02:34 +0100 Havard Graff * tests/check/gst/gstghostpad.c: ghostpad: add some tests for activation https://bugzilla.gnome.org/show_bug.cgi?id=761913 2016-01-27 13:20:23 +0100 Stian Selnes * gst/gstghostpad.c: ghostpad: Do nothing in _internal_activate_push_default When calling gst_pad_activate_mode() on a ghostpad gst_ghost_pad_activate_push_default() will be called. This will call gst_pad_activate_mode() on the proxypad (which is internal of the ghostpad), calling gst_ghost_pad_internal_activate_push_default(), which again will call gst_pad_activate_mode() on the original ghostpad. By simply returning TRUE in gst_ghost_pad_internal_activate_push_default() the redundant call to gst_pad_activate_mode() (for the same pad) is avoided. https://bugzilla.gnome.org/show_bug.cgi?id=761913 2016-02-16 17:53:10 -0300 Thiago Santos * gst/gstregistrychunks.c: registrychunks: remove unused macro macro was added in 2011 and isn't used anymore 2016-02-16 19:11:59 +0200 Sebastian Dröge * plugins/elements/gstqueue2.c: * plugins/elements/gstqueue2.h: * tests/check/elements/queue2.c: Revert "queue2: add overrun signal" This reverts commit 8ae8b2723d0cf179a4f09b2f6c5f797e2d97034d. It's not used anymore by anything and was considered a bad idea in general. 2014-06-05 13:27:28 -0700 Evan Nemerson * gst/gstbuffer.c: * gst/gstcaps.c: * gst/gstcapsfeatures.c: * gst/gstclock.h: * gst/gstevent.c: * gst/gstinfo.c: * gst/gstinfo.h: * gst/gstiterator.c: * gst/gstmessage.c: * gst/gstpadtemplate.c: * gst/gstpluginfeature.c: * gst/gstquery.c: * gst/gststructure.c: * gst/gsttagsetter.c: * gst/gsttypefindfactory.c: * libs/gst/base/gstadapter.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: docs: annotate C examples as such https://bugzilla.gnome.org/show_bug.cgi?id=731292 2016-02-15 11:13:40 -0300 Thiago Santos * tests/benchmarks/tracerserialize.c: benchmark: tracerserialize: add missing return statement tracerserialize.c:117:1: error: control reaches end of non-void function [-Werror=return-type] 2016-02-15 10:06:09 -0300 Thiago Santos * gst/gstprotection.c: * libs/gst/check/gstharness.c: * tests/check/gst/gstsystemclock.c: protection/harness/systemclock: move declaration out of for loop initialization C90 compilers complain about it error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode Also run gst-indent on systemclock tests. 2016-01-27 15:16:03 +0100 Havard Graff * libs/gst/check/gstharness.c: harness: always set our test-clock on the harnessed element The integration is already so tight, there is no reason to not further formalize it! https://bugzilla.gnome.org/show_bug.cgi?id=761914 2016-02-13 16:10:27 +0000 Tim-Philipp Müller * libs/gst/check/gstharness.c: harness: fix compilation Was supposed to be squashed with 336c7bb6 https://bugzilla.gnome.org/show_bug.cgi?id=761910 2016-02-13 16:10:11 +0000 Tim-Philipp Müller * libs/gst/check/gstharness.c: harness: fix indentation 2016-01-21 13:33:15 +0100 Stian Selnes * libs/gst/check/gstharness.c: * tests/check/libs/gstharness.c: harness: Fix MT issues when forwarding event/query to sink harness https://bugzilla.gnome.org/show_bug.cgi?id=761910 2016-02-13 10:04:42 +0000 Tim-Philipp Müller * scripts/gst-uninstalled: gst-uninstalled: add new -bad libraries audio, player and wayland to paths And remove egl which no longer exists. 2016-02-12 11:57:55 -0800 Martin Kelly * libs/gst/base/gstpushsrc.h: pushsrc: fix minor typos in header https://bugzilla.gnome.org/show_bug.cgi?id=761970 2016-01-21 13:28:23 +0100 Stian Selnes * docs/libs/gstreamer-libs-sections.txt: * libs/gst/check/Makefile.am: * libs/gst/check/gstharness.c: * libs/gst/check/gstharness.h: harness: Add event stress test functions with callback Similar to the stress test functions for buffers that has a callback to create the buffer to be pushed, it's useful to have functions that use a callback to create the event to be pushed. API: gst_harness_stress_push_event_with_cb_start() API: gst_harness_stress_push_event_with_cb_start_full() API: gst_harness_stress_send_upstream_event_with_cb_start() API: gst_harness_stress_push_upstream_event_with_cb_start_full() https://bugzilla.gnome.org/show_bug.cgi?id=761932 2016-01-14 21:54:42 +0100 Havard Graff * docs/libs/gstreamer-libs-sections.txt: * libs/gst/check/Makefile.am: * libs/gst/check/gstharness.c: * libs/gst/check/gsttestclock.c: * libs/gst/check/gsttestclock.h: * tests/check/libs/gsttestclock.c: testclock: add crank method And use it inside GstHarness API: gst_test_clock_crank() https://bugzilla.gnome.org/show_bug.cgi?id=761906 2015-12-09 13:43:38 +1100 Havard Graff * docs/libs/gstreamer-libs-sections.txt: * libs/gst/check/Makefile.am: * libs/gst/check/gstharness.c: * libs/gst/check/gstharness.h: harness: enable empty harness creation and refactor around this Also make the testclock a member of the harness, allowing some more interactions with the clock prior to adding elements. https://bugzilla.gnome.org/show_bug.cgi?id=761905 2016-02-12 15:12:43 +0100 Stian Selnes * libs/gst/check/gstcheck.h: check: fix unused parameter compiler warning https://bugzilla.gnome.org/show_bug.cgi?id=761919 2015-08-04 17:09:35 +0200 Mikhail Fludkov * libs/gst/check/gstharness.c: harness: fix the race in blocking push mode Depending on when gst_harness_pull was called - before the buffer reached gst_harness_chain or after we can get different behaviors of the test with enabled blocking push mode. The fix makes the behavior always the same. In pull function we get the buffer first, thus making sure gst_harness_chain waits for the signal, and emitting the signal after. https://bugzilla.gnome.org/show_bug.cgi?id=761931 2016-02-04 15:16:41 +0100 Stian Selnes * libs/gst/check/gstcheck.h: check: Add tcase_skip_broken_loop_test https://bugzilla.gnome.org/show_bug.cgi?id=761917 2016-01-21 13:25:40 +0100 Stian Selnes * libs/gst/check/gstharness.c: harness: Fix docs for stress test functions notify is not called per buffer, but when the thread is freed. Comment about serialized events and OOB does not make sense for upstream events. https://bugzilla.gnome.org/show_bug.cgi?id=761909 2015-12-08 14:18:21 +0100 Stian Selnes * libs/gst/check/gstharness.c: harness: Unset sink_forward_pad before tearing down sink_harness Set the sink_forward_pad to NULL before tearing down sink_harness to avoid that the harness tries to forward events/queries to it while it's tearing down. https://bugzilla.gnome.org/show_bug.cgi?id=761904 2015-09-29 12:12:24 +0200 Havard Graff * libs/gst/check/gstharness.c: harness: fix up docs to reference functions properly https://bugzilla.gnome.org/show_bug.cgi?id=761901 2016-02-10 14:01:54 +0100 Víctor Manuel Jáquez Leal * gst/gstbufferpool.c: bufferpool: pass acquire params to alloc_buffer When allocating a new buffer in the pool, both the do_alloc_buffer() and the vmethod, alloc_buffer(), receive the parameter GstBufferPoolAcquireParams. Nonetheless, when default_acquire_buffer() calls the do_alloc_buffer() it does not pass the received GstBufferPoolAcquireParams, so when the user pass those parameters they are ignored by alloc_buffer() vmethod. This one-liner patch pass the received acquire params to do_alloc_buffer(). https://bugzilla.gnome.org/show_bug.cgi?id=761824 2016-02-10 09:09:29 +0100 Stian Selnes * gst/gstsystemclock.c: * tests/check/gst/gstsystemclock.c: systemclock: Fix wait/unschedule race Fixes a race where an entry is set to BUSY in gst_system_clock_id_wait_jitter() and is UNSCHEDULED before gst_system_clock_id_wait_jitter_unlocked() starts processing it. The wakeup added by gst_system_clock_id_unschedule() must be cleaned up. Two stress tests are added. One test that triggers the specific issue described above. The second stresses the code path where a wait is rescheduled because the poll returned early. https://bugzilla.gnome.org/show_bug.cgi?id=761586 2016-02-05 15:34:47 -0300 Thiago Santos * gst/gstsystemclock.c: systemclock: handle unschedule of late entries If the clockentry is too late and is unscheduled before it gets a change to detect its lateness the wakeup count and the poll are used but never properly cleaned up. This leaves it in a dirty state that is going to mess with the next clock entry waiting requests. https://bugzilla.gnome.org/show_bug.cgi?id=761586 2016-02-05 19:08:18 -0300 Thiago Santos * tests/check/Makefile.am: tests: extend the AM_TESTS_ENVIRONMENT from check.mak To get the CK_DEFAULT_TIMEOUT defined for all tests https://bugzilla.gnome.org/show_bug.cgi?id=761472 2016-02-05 18:01:52 -0300 Thiago Santos * autogen.sh: * common: Automatic update of common submodule From 86e4663 to b64f03f 2016-02-04 10:07:22 +0000 Tim-Philipp Müller * libs/gst/base/gstbaseparse.c: baseparse: fix stray discont flag set on outgoing buffers in push mode We have no guarantees about what flags are set on buffers we take out of the GstAdapter. If we push out multiple buffers from the first input buffer (which will have discont set), only the first buffer we push out should be flagged as discont, not all of the buffers produced from that first initial input buffer. Fixes issue where the first few mp3 frames/seconds of data in push mode were skipped or garbled in some cases, and the discont flags would also trip up decoders which were getting drained/flushed for every buffer. This was a regression introduced in 1.6 apparently. 2016-02-02 16:35:34 +0100 Thibault Saunier * libs/gst/controller/gstdirectcontrolbinding.c: controller: Do not unset uninitiallized GValue In case the property was not interpollable we might never initialize the GValue, we should thus never unset it. 2016-02-02 16:34:51 +0000 Tim-Philipp Müller * docs/pwg/advanced-allocation.xml: docs: pwg: fix missing end of line semicolon in custom meta example 2016-02-02 10:56:35 +0000 Tim-Philipp Müller * gst/gsturi.c: uri: add guard to make sure gstreamer is initialized https://bugzilla.gnome.org/show_bug.cgi?id=761448 2016-02-01 18:41:55 +0000 Tim-Philipp Müller * scripts/gst-uninstalled: gst-uninstalled: add new rtsp server plugin location to plugins path 2016-01-25 16:30:04 +0900 HoonHee Lee * libs/gst/base/gstbaseparse.c: baseparse: Try to generate caps on the srcpad before forwarding GAP event To configure downstream elements and complete initial pre-rolling, ensure we have default output caps before forwarding GAP event. https://bugzilla.gnome.org/show_bug.cgi?id=753899 2016-01-28 20:18:55 -0700 Alex Henrie * plugins/elements/gsttypefindelement.c: typefindelement: Improve English grammar https://bugzilla.gnome.org/show_bug.cgi?id=761273 2016-01-27 12:45:20 +0000 Luis de Bethencourt * docs/manual/advanced-clocks.xml: docs: fix an other typo in clock chapter Shockingly I missed this bigger typo in the previos fix 2016-01-27 12:24:57 +0000 Luis de Bethencourt * docs/manual/advanced-clocks.xml: docs: fix typo in clock chapter 2016-01-25 12:09:54 +0900 Vineeth TM * tests/check/gst/gstinfo.c: tests:gstinfo: Fix string memory leak info_fourcc test leaks string. https://bugzilla.gnome.org/show_bug.cgi?id=761071 2016-01-23 16:00:48 +0000 Tim-Philipp Müller * tests/check/gst/gstinfo.c: tests: info: make work without registry 2016-01-22 12:50:08 +0000 Tim-Philipp Müller * docs/design/part-tracing.txt: * gst/gsttracerutils.c: * tests/benchmarks/tracing.sh: tracer: rename GST_TRACER_PLUGINS env var to GST_TRACERS 2016-01-21 08:12:01 +0100 Stefan Sauer * gst/gsttracerrecord.c: * gst/gsttracerrecord.h: * plugins/tracers/gstlatency.c: * plugins/tracers/gstrusage.c: * plugins/tracers/gststats.c: * tests/check/gst/gsttracerrecord.c: tracerrecord: don't leak the spec structures Change the gst_tracer_record_new() api to take the parameters the make the spec structure directly. This allows us to own the top-level structure and also collect the args so that we can take ownership of the sub-structures. https://bugzilla.gnome.org/show_bug.cgi?id=760821 2016-01-21 15:45:30 +0000 Tim-Philipp Müller * gst/gstdevice.c: device: fix comparison in _has_classesv() We're comparing a pointer type with '\0' here, which probably isn't right, and the loop condition made sure that classes[0] is != NULL already, so it's pointless. Was probaby meant to check if the string pointed to is not empty, so make it do that instead. 2016-01-20 20:32:24 +0100 Stefan Sauer * tests/check/gst/gsttracerrecord.c: test/tracerrecord: unref objects and free string 2016-01-18 22:45:58 +0000 Florin Apostol * tests/check/gst/gstsystemclock.c: systemclock: tests: added stress test for async order Keep inserting alarms at the beginning of the list. Due to https://bugzilla.gnome.org/show_bug.cgi?id=760757 alarm thread will get confused and not serve them in order. 2016-01-18 16:25:20 +0000 Florin Apostol * gst/gstsystemclock.c: systemclock: fixed race condition in handling alarms When choosing the first entry from the list, gst_system_clock_async_thread must set the entry state to busy before releasing the clock lock. Otherwise a new entry could be added to the beginning of the list and gst_system_clock_async_thread will be unaware and keep waiting on the entry it has already chosen. Also improved messages about expected state and bumped them to ERROR level to detect unexpected state changes. https://bugzilla.gnome.org/show_bug.cgi?id=760757 2016-01-20 11:07:17 +0000 Tim-Philipp Müller * gst/gstutils.c: utils: remove duplicate check 2016-01-20 09:57:00 +0000 Tim-Philipp Müller * plugins/elements/gstmultiqueue.c: multiqueue: two small fixes for when an existing pad is requested Unlock when returning NULL from gst_single_queue_new(), and don't crash with debug logging enabled if NULL is returned. Spotted by Steven Hoving. 2016-01-20 10:02:37 +0100 Stefan Sauer * gst/gstvalue.c: gstvalue: remove a half finishesh sentence in the docs No idea what was the idea here. SO lets just drop it. 2016-01-19 14:39:06 +0900 Vineeth TM * gst/gsttracerrecord.c: tracerrecord: Fix self->spec structure invalid free self->spec is got using g_value_get_boxed(), which is a transfer none function. So the same should not be freed, which is resulting in wrong behavior. https://bugzilla.gnome.org/show_bug.cgi?id=760821 2016-01-20 09:25:44 +0100 Vineeth TM * gst/gsttracerrecord.c: tracerrecord: Initialise flags to avoid wrong comparision GstTracerValueFlags is not being initialized and the same could result in wrong comparision and behavior. Hence initializing it to GST_TRACER_VALUE_FLAGS_NONE. https://bugzilla.gnome.org/show_bug.cgi?id=760821 2016-01-20 09:18:01 +0100 Stefan Sauer * tests/check/gst/gstinfo.c: tests/gst/info: Fix messages glist memory leak 2016-01-19 15:03:55 +0900 Vineeth TM * tests/check/gst/gsttracerrecord.c: tests: tracerrecord: Fix messages glist memory leak https://bugzilla.gnome.org/show_bug.cgi?id=760821 2016-01-18 21:12:53 +0100 Stefan Sauer * gst/gst_private.h: * gst/gstinfo.c: * gst/gststructure.c: * gst/gstvalue.c: tracer: add an internal ptr format for tracer serialisation We need to apply the string wrapping that value serialisation does also in the tracer logging, otherwise we can't parse nested structures. 2016-01-18 21:09:49 +0100 Stefan Sauer * plugins/tracers/gststats.c: * tools/gst-stats.c: tracer/gststats: fix mismatch between '.class' and tracer args Clean up from the recent changes. The logging descriptiors did not match what we logged. 2015-11-12 01:14:34 +1100 Jan Schmidt * plugins/elements/gstqueue2.c: * plugins/elements/gstqueue2.h: queue2: Add use-tags-bitrate property The use-tags-bitrate property makes queue2 look at tag events in the stream and extract a bitrate for the stream to use when calculating a duration for buffers that don't have one explicitly set. This lets queue2 sensibly buffer to a time threshold for any bytestream for which the general bitrate is known. 2016-01-19 12:04:16 +0000 Luis de Bethencourt * gst/gsttracerrecord.c: tracerrecord: avoid overwriting value res value is overwritten, remove the assignment. priv__gst_structure_append_template_to_gstring () always returns TRUE anyway. CID 1349645 2016-01-19 11:11:25 +0100 Edward Hervey * tests/benchmarks/Makefile.am: benchmarks: Disable tracerserialize benchmark on GST_DISABLE_GST_DEBUG no gst-debugging => no tracer logging (and no pony either) 2016-01-19 11:10:30 +0100 Edward Hervey * gst/gsttracerrecord.c: * gst/gsttracerrecord.h: tracerrecord: Disable logging if GST_DISABLE_GST_DEBUG Make the gst_tracer_record_log() a no-op if the gst-debug subsystem is disabled. 2016-01-18 19:17:16 +0000 Tim-Philipp Müller * gst/gstvalue.c: * tests/check/gst/gstvalue.c: value: fail flag deserialization on invalid flag names 2016-01-18 19:10:48 +0000 Tim-Philipp Müller * tests/check/gst/gststructure.c: tests: structure: fix wrong flag name in deserialization test There is no GST_SEEK_FLAGS_NONE only GST_SEEK_FLAG_NONE (but the deserializer silently skips bad flag names currently). 2016-01-17 23:49:27 +0000 Tim-Philipp Müller * plugins/tracers/gstrusage.c: * plugins/tracers/gststats.c: * tools/gst-stats.c: tracers: fix thread-id casts to 64-bit ints on 32-bit systems https://bugzilla.gnome.org/show_bug.cgi?id=760762 2016-01-18 10:13:02 +0900 Vineeth TM * gst/gst.c: gst: ref/unref new enum types in gst_init/deinit https://bugzilla.gnome.org/show_bug.cgi?id=760767 2016-01-17 00:08:33 +0000 Tim-Philipp Müller * win32/common/libgstreamer.def: win32: update exports for new flags get_type() 2016-01-16 22:43:23 +0100 Philip Van Hoof * gst/gsttracer.c: * gst/gsttracer.h: tracer.h: don't include private noinst header gsttracerutils.h in a public header https://bugzilla.gnome.org/show_bug.cgi?id=760732 2016-01-16 21:24:19 +0100 Stefan Sauer * tests/benchmarks/tracing.sh: benchmark: improve script Use a temp file for the log and fix one env-var. 2016-01-16 21:23:10 +0100 Stefan Sauer * plugins/tracers/gststats.c: tracer/stats: use the right log template When porting we used the wrong record (copy and paste). 2016-01-16 21:04:46 +0100 Stefan Sauer * docs/gst/gstreamer-sections.txt: * gst/gsttracerrecord.h: tracer: update the docs Add the new enum and flags. Remove the GstTracerRecordPrivate. 2016-01-16 21:02:39 +0100 Stefan Sauer * tools/gst-stats.c: gst-stats: update to latest tarcer api The thread-ids are serialized as uint64. The 'elem-ix' got changed to 'element-ix'. Make the code a bit more robust. 2016-01-16 18:55:07 +0100 Stefan Sauer * gst/gsttracerrecord.c: * gst/gsttracerrecord.h: * plugins/tracers/gststats.c: tracer: use the new flags to create the optional field in the format string This spares us explicitly listing the field in the spec. and thus hide this implementation detail. 2016-01-16 18:52:32 +0100 Stefan Sauer * docs/design/part-tracing.txt: * gst/gsttracerrecord.h: * plugins/tracers/gstlatency.c: * plugins/tracers/gstrusage.c: * plugins/tracers/gststats.c: tracer: add a GstTracerValueFlags and replace strings This allows us to document the flags and makes the logs a bit smaller. 2016-01-16 16:01:38 +0000 Tim-Philipp Müller * gst/gstmessage.c: message: add function guard to gst_message_set_buffering_stats() https://bugzilla.gnome.org/show_bug.cgi?id=760704 2016-01-16 14:51:37 +0000 Tim-Philipp Müller * configure.ac: * docs/gst/Makefile.am: * gst/gst.h: * gst/gsttracer.c: * gst/gsttracer.h: * gst/gsttracerrecord.c: * gst/gsttracerrecord.h: * gst/gsttracerutils.c: * plugins/tracers/Makefile.am: * tests/check/Makefile.am: gst.h: Don't spew warnings if GST_USE_UNSTABLE_API is not defined Only hide GstTracer and GstTracerRecord API behind GST_USE_UNSTABLE_API, but don't spew any warnings, otherwise everyone has to define this to avoid compiler warnings. This reverts parts of commit 89ee5d948dff560204e6edd210c44ed2b8654b8e. 2016-01-16 13:30:34 +0100 Stefan Sauer * tests/benchmarks/tracerserialize.c: * tests/benchmarks/tracing.sh: benchmarks: update the tracer benchmark and add a shell benchmark 2016-01-16 13:28:32 +0100 Stefan Sauer * docs/design/part-tracing.txt: docs/design: update tracerspec examples 2016-01-16 13:27:59 +0100 Stefan Sauer * docs/design/draft-tagreading.txt: docs/design: spell checking 2016-01-16 13:24:16 +0100 Stefan Sauer * configure.ac: * docs/gst/Makefile.am: * gst/gst.h: * gst/gsttracer.c: * gst/gsttracerrecord.c: * gst/gsttracerrecord.h: * gst/gsttracerutils.c: * plugins/tracers/Makefile.am: * plugins/tracers/gstlatency.c: * plugins/tracers/gstrusage.c: * plugins/tracers/gststats.c: * tests/check/Makefile.am: * win32/common/libgstreamer.def: tracer: add a GFlag for the tracer scope Port all tracers. Add the GST_USE_UNSTABLE_API flag to the internal CFLAGS so that we don't have to specify this for gir, docs, mkenum, ... 2016-01-16 10:48:02 +0100 Sebastian Dröge * plugins/elements/gstoutputselector.c: output-selector: Make access to the active pad and last buffer thread-safe Both can be modified from different threads at the same time. 2016-01-16 10:47:36 +0100 Sebastian Dröge * plugins/elements/gstoutputselector.c: output-selector: Notify when the active-pad property is changing 2016-01-12 14:59:04 +0100 Stefan Sauer * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * docs/gst/gstreamer.types.in: * gst/Makefile.am: * gst/gst_private.h: * gst/gststructure.c: * gst/gsttracer.c: * gst/gsttracer.h: * gst/gsttracerrecord.c: * gst/gsttracerrecord.h: * plugins/tracers/gstlatency.c: * plugins/tracers/gstrusage.c: * plugins/tracers/gststats.c: * tests/check/Makefile.am: * tests/check/gst/.gitignore: * tests/check/gst/gsttracerrecord.c: * win32/common/libgstreamer.def: tracerrecord: add a log record class We use this class to register tracer log entry metadata and build a log template. With the log template we can serialize log data very efficiently. This also simplifies the logging code, since that is now a simple varargs function that is not exposing the implementation details. Add docs for the new class and basic tests. Remove the previous log handler. Fixes #760267 2016-01-15 09:48:32 +0100 Sebastian Dröge * libs/gst/net/gstnetclientclock.c: netclientclock: Check return value of g_socket_close() CID 1348452 2016-01-15 09:02:42 +0100 Sebastian Dröge * libs/gst/net/gstnetclientclock.c: netclientclock: Free data after removing it from the list Does not matter here but makes Coverity more happy. It can't know that g_list_remove() only looks at the pointer value but does not dereference it. CID 1348454 2016-01-15 00:30:59 +0530 Nirbheek Chauhan * gst/gstdevicemonitor.c: GstDeviceMonitor: Clarify the behaviour of gst_device_monitor_add_filter 2016-01-15 00:25:05 +0530 Nirbheek Chauhan * gst/gstdevicemonitor.c: GstDeviceMonitor: Don't remove unmatched class filters If no providers for a particular class could be found, then removing unmatched filters would cause all devices to be returned instead which is not at all what the user intended. We still return 0 for unmatched filters. 2016-01-13 21:32:20 +0000 Florin Apostol * libs/gst/net/gstnetclientclock.c: netclientclock: Fix GError memory leak in handling NTP response Error was not released if gst_ntp_packet_receive failed. https://bugzilla.gnome.org/show_bug.cgi?id=760598 2016-01-13 13:10:10 +1100 Matthew Waters * win32/common/libgstreamer.def: win32: update exports for API additions 2016-01-11 16:31:39 +1100 Matthew Waters * docs/gst/gstreamer-sections.txt: * gst/gstinfo.c: * gst/gstinfo.h: info: expose debugging printf functions Other gst libraries and/or elements may want to add some debug logging to an external debug system or implement delayed debugging for performance reasons. Exposes the internal __gst_vasprintf as gst_info_vasprintf which has a fallback to g_vasprintf if the debug system is disabled. API: gst_info_vasprintf API: gst_info_strdup_vprintf API: gst_info_strdup_printf https://bugzilla.gnome.org/show_bug.cgi?id=760421 2016-01-11 21:17:25 +0100 Carlos Rafael Giani * libs/gst/base/gstbasesrc.c: basesrc: Only set duration/position query values in case of query success Currently, the query values are being set even if the query itself was determined to have failed. Fix this to ensure the values are only set in case of a query success. https://bugzilla.gnome.org/show_bug.cgi?id=760479 2016-01-10 14:30:05 +0100 Stefan Sauer * plugins/tracers/gstlatency.c: * plugins/tracers/gststats.c: tracers: code clean ups Drop some trailing whilespace. Make field order consistent. 2016-01-08 23:35:53 +0100 Stefan Sauer * tests/benchmarks/tracerserialize.c: benchmark: fix copy'n'past of the file-description comment 2016-01-08 23:06:55 +0100 Stefan Sauer * tests/benchmarks/.gitignore: * tests/benchmarks/Makefile.am: * tests/benchmarks/tracerserialize.c: benchmark: add a benchmark for bgo/760267 Big suprise - GstStructure is faster than GVariant. 2015-03-10 13:07:18 +0900 HoonHee Lee * plugins/elements/gstfunnel.c: funnel: improve debug message https://bugzilla.gnome.org/show_bug.cgi?id=745939 2016-01-08 19:25:24 +0000 Tim-Philipp Müller * gst/gstinfo.c: * tests/check/gst/gstinfo.c: info: add buffer list support to GST_PTR_FORMAT 2015-11-25 17:36:25 +0100 Aurélien Zanelli * gst/gstcontrolsource.h: controlsource: fix GetValue and GetValueArray documentation GstControlSourceGetValue() value paramater is a gdouble, not a GValue and GstControlSourceGetValueArray doesn't return a GstValueArray but an array of double. https://bugzilla.gnome.org/show_bug.cgi?id=758668 2016-01-07 23:03:48 +0100 Stefan Sauer * gst/gstelement.c: * gst/gstpad.c: * gst/gsttracerutils.h: * plugins/tracers/gstlog.c: * plugins/tracers/gststats.c: tracer: harmonize the query hooks In post hooks always pass the return value as the last param. Pass the query also to post hooks since it is still alive. 2016-01-07 22:47:37 +0100 Stefan Sauer * plugins/tracers/gststats.c: tracers/stats: add missing parameters to callback functions 2016-01-07 22:43:58 +0100 Stefan Sauer * gst/gsttracerutils.c: tracerutils: update #endif comment We changed the define, but left the comment inconsistent. 2016-01-07 19:13:03 +0100 Stefan Sauer * docs/gst/Makefile.am: * docs/gst/gstreamer-sections.txt: * gst/gsttracerutils.h: tracerutils: document the tracer hook functions Document all tracer hook function pointer together with the detail string that one needs to use with gst_tracing_register_hook(). 2016-01-07 18:46:21 +0200 Sebastian Dröge * gst/gsttracerutils.c: tracer: Use GST_DISABLE_GST_TRACER_HOOKS instead of GST_DISABLE_GST_DEBUG everywhere Previously we used the latter one still for the tracer utility code, causing undefined references in the resulting binary if the debugging system was disabled but the tracer system not. 2016-01-07 18:41:25 +0200 Sebastian Dröge * gst/gst.c: * gst/gst_private.h: * gst/gstdebugutils.c: * gst/gstinfo.c: * gst/gsttracerutils.h: gst: Rename _priv_gst_info_start_time to _priv_gst_start_time and initialize it centrally It's used by the debugging and tracer subsystem and in various files, make it a central thing that is initialized independ of the existence of those subsystems. 2016-01-06 21:42:30 +0100 Stefan Sauer * win32/common/libgstreamer.def: win32: update win32 exports Remove the _hook_id() methods we made internal in the prev commit. 2016-01-06 21:17:16 +0100 Stefan Sauer * gst/gststructure.c: structure: log a warning if we can't serialize a field The function always returns TRUE right now, so atleast log something. 2015-10-06 12:49:00 +0000 Aleksander Wabik * tests/check/elements/queue2.c: tests: queue2: add test for fill level arithmetic overflow https://bugzilla.gnome.org/show_bug.cgi?id=755971 2016-01-06 19:51:44 +0000 Tim-Philipp Müller * plugins/elements/gstqueue2.c: queue2: avoid calculating fill levels multiple times Macro expansion means we might calculate the fill level once for the check and then possibly again for the return value. 2016-01-06 19:50:21 +0000 Tim-Philipp Müller * plugins/elements/gstqueue2.c: queue2: fix fill level arithmetic overflow with large values Based on patch by: Aleksander Wabik https://bugzilla.gnome.org/show_bug.cgi?id=755971 2016-01-06 20:41:26 +0100 Stefan Sauer * docs/gst/gstreamer-sections.txt: * gst/gsttracer.h: * gst/gsttracerutils.c: * plugins/tracers/gstrusage.c: tracer: make gst_tracing_register_hook_id static We don't need to expose this as public API. Change the only plugin that was using it. 2016-01-06 18:56:38 +0000 Tim-Philipp Müller * docs/design/Makefile.am: docs: design: update list of disted files after file rename 2016-01-06 19:42:49 +0200 Sebastian Dröge * docs/libs/Makefile.am: * docs/libs/gstreamer-libs-sections.txt: docs: Hide NTP packet API and add GST_PTP_STATISTICS_* defines to the docs 2016-01-06 18:17:27 +0100 Stefan Sauer * libs/gst/net/gstptpclock.h: docs: remove parent docs for GstPtpClock Instance docs don't need to docuemnt the parent (first member). 2016-01-06 18:14:06 +0100 Stefan Sauer * docs/libs/Makefile.am: * docs/libs/gstreamer-libs-sections.txt: docs: cleanup -unused.txt report for libs The IGNORE_H_FILES can only contain files or dirs. 2016-01-06 17:58:11 +0100 Stefan Sauer * docs/gst/gstreamer-sections.txt: docs: add more core api to the right sections Add new and documented api reported in -unused.txt to -section.txt. 2016-01-06 17:54:44 +0100 Stefan Sauer * docs/gst/Makefile.am: docs: exclude more header from doc-scan Exclude gst/printf/*.h and a few generated .h files from the api-scan. This makes -unused.txt report file from gtkdoc useful again. 2016-01-06 16:21:40 +0200 Sebastian Dröge * gst/gstclock.c: clock: adjust/unadjust_with_calibration() have a clock parameter but it's useless Document this, for 2.0 we should just remove that parameter. 2016-01-06 16:19:22 +0200 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gstclock.c: * gst/gstclock.h: * win32/common/libgstreamer.def: clock: Add gst_clock_unadjust_with_calibration() We already have gst_clock_adjust_with_calibration() and gst_clock_unadjust_unlocked(), having the other variant is useful. 2016-01-06 13:33:39 +0100 Stefan Sauer * docs/gst/gstreamer-sections.txt: docs: add new pad-event function to the docs 2016-01-06 13:26:27 +0100 Stefan Sauer * docs/gst/Makefile.am: * docs/gst/gstreamer-sections.txt: * docs/gst/gstreamer.types.in: docs: hide internal tracer api from docs Also address warnigns regarding the unstable tracer api. 2016-01-06 12:47:26 +0100 Stefan Sauer * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * docs/gst/gstreamer.types.in: * gst/gsttracer.c: docs: add the tracer to the docs Add GstTracer and GstTracerFactory to the core docs. 2016-01-06 11:52:53 +0100 Stefan Sauer * docs/design/part-tracing.txt: docs: rename the tracer doc to part since it is now merged 2016-01-06 11:35:46 +0100 Stefan Sauer * gst/Makefile.am: tracerutils: move header to noinst section This is internal code, that is only to be used in core. 2016-01-06 11:31:16 +0100 Stefan Sauer * configure.ac: * gst/gsttracerutils.h: configure: add a new option to disable the tracer hooks This was previously done via {enable,disable}-gst-debug. Since both subsystems are independent having separate options is better. 2016-01-05 16:44:53 +0200 Sebastian Dröge * gst/gstclock.c: * libs/gst/net/gstnetclientclock.c: clock: Fix typo clocked -> clock 2016-01-05 14:59:34 +0200 Sebastian Dröge * libs/gst/net/gstnetclientclock.c: netclientclock: Disconnect the "synced" signal handler from the internal clock Not from the external one. 2016-01-05 13:57:12 +0100 Stefan Sauer * libs/gst/controller/gstinterpolationcontrolsource.c: * libs/gst/controller/gstinterpolationcontrolsource.h: * libs/gst/controller/gsttimedvaluecontrolsource.h: controller: rename new cubic interpolation mode Don't abbreviate to 'mono' and use 'monotonic' instead. 2016-01-05 14:23:26 +0200 Sebastian Dröge * gst/gstclock.c: clock: Don't allow setting an unsynced clock as master 2016-01-05 14:21:58 +0200 Sebastian Dröge * gst/gstclock.c: clock: Don't try to slave unsynced clocks They will return useless values from get_time(). 2016-01-05 13:41:08 +0200 Sebastian Dröge * libs/gst/net/gstnetclientclock.c: ntp: The clock inherits from GstNetClientClock, not just GstSystemClock 2016-01-04 17:18:07 +0200 Sebastian Dröge * libs/gst/net/gstnetclientclock.c: netclientclock: Destroy a cached clock 60 seconds after its last use There's not much lost by having the clock idle around a bit longer but it will potentially allow anybody wanting to use the same clock server again to sync much faster. 2016-01-04 16:31:23 +0200 Sebastian Dröge * libs/gst/net/gstnetclientclock.c: netclientclock: Only ever run one clock against a specific server If multiple net/NTP clocks are created for the same server, reuse the same internal clock for all of them. This makes sure that we don't flood the server with too many requests and also possibly allows faster synchronization if there already was an earlier synchronized clock when creating a new one. 2016-01-04 10:39:27 +0200 Sebastian Dröge * libs/gst/net/gstnettimeprovider.c: nettimeprovider: Use GInitable instead of having a new() function that can return NULL Bindings don't like that much and as we're using GIO here anyway we can as well use GInitable for possibly failing initialization. 2016-01-03 14:06:16 +0200 Sebastian Dröge * libs/gst/net/gstnettimeprovider.c: nettimeprovider: Mark address, port and clock properties CONSTRUCT_ONLY They can't sensibly be changed after construction. 2016-01-03 22:55:48 +0100 Stefan Sauer * gst/parse/grammar.y: parse_launch: make nicer log messages Add two macros to build nicer element/pad name strings. The macros avoid printing "(NULL)" and print the element type in addition to the name. 2016-01-02 19:42:17 +0100 Stefan Sauer * gst/gstparse.h: * gst/parse/grammar.y: parse-launch: warn when still waiting to plug sub-pipelines after no-more-pads The parse-launch API automagically handles dynamic pads and performs delayed linking as needed, without any feedback about whether the linking succeeded or not however. If a delayed dynamic link can't be completed for whatever reason, parse-launch will simply wait in case a suitable pad appears later. This may never happen though, in which case the pipeline may just hang forever. Try to improve this by connecting to the "no-more-pads" signal of any element with dynamic pads and posting a warning message for the related outstanding dynamic links when "no-more-pads" is emitted. Fixes #760003 2015-12-31 19:27:12 +0000 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gstbuffer.h: * gst/gstpad.c: * gst/gstpad.h: * gst/gsttracer.c: * gst/gsttracerfactory.c: * gst/gsttracerfactory.h: docs: fix some warnings and add some since markers 2016-01-03 11:39:24 +0100 Stefan Sauer * docs/design/draft-tracing.txt: tracing: add some pointers about memory tracing 2016-01-03 11:37:57 +0100 Stefan Sauer * gst/parse/grammar.y: grammar.y: remove trailing whitespace 2015-12-31 00:04:09 +0000 Tim-Philipp Müller * tests/check/gst/gstvalue.c: tests: value: test buffer serialisation/deserialisation more thoroughly Tests data/strings as well, not just that we received something non-NULL back. 2015-12-31 10:57:37 +0000 Tim-Philipp Müller * gst/gst.c: gst: fix typo in comment 2015-12-30 16:57:29 +0200 Sebastian Dröge * libs/gst/net/gstnetclientclock.c: netclientclock: Implement resolval of hostnames Just allowing IPs here is not ideal and implementing DNS resolval is easy. 2015-12-29 16:28:02 +0200 Sebastian Dröge * libs/gst/net/gstptpclock.c: ptpclock: Add read-only properties to get the master and grandmaster clock ids 2015-12-29 14:32:47 +0200 Sebastian Dröge * gst/gstcaps.c: caps: Add (transfer full) annotation to simplify() and subtract() return value https://bugzilla.gnome.org/show_bug.cgi?id=759948 2015-12-29 11:06:39 +0100 Aurélien Zanelli * gst/gstcaps.c: caps: add 'transfer full' annotation to caps returned by interserction functions To make clear caller is responsible to unref them. https://bugzilla.gnome.org/show_bug.cgi?id=759948 2015-12-28 19:41:38 +0200 Sebastian Dröge * docs/libs/gstreamer-libs.types: net: Add NTP and PTP clock types to the docs This gives us the property documentation for example. 2015-12-27 19:42:37 +0100 Stefan Sauer * libs/gst/check/gstcheck.c: check: don't memcmp twice Simply call fail() in the condition after the first memcmp. 2015-12-24 15:27:12 +0100 Sebastian Dröge * configure.ac: Back to development === release 1.7.1 === 2015-12-24 13:58:52 +0100 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * gstreamer.doap: * win32/common/config.h: * win32/common/gstenumtypes.c: * win32/common/gstversion.h: Release 1.7.1 2015-12-24 12:50:33 +0100 Sebastian Dröge * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files 2015-12-24 12:21:21 +0100 Sebastian Dröge * po/cs.po: * po/de.po: * po/fr.po: * po/hu.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/ru.po: * po/sv.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: po: Update translations 2015-12-21 00:43:49 +0100 Koop Mast * configure.ac: configure: Make -Bsymbolic check work with clang. Update the -Bsymbolic check with the version glib has. This version works with clang. https://bugzilla.gnome.org/show_bug.cgi?id=759713 2015-12-16 09:35:18 +0100 Sebastian Dröge * docs/plugins/gstreamer-plugins.args: * docs/plugins/gstreamer-plugins.hierarchy: * docs/plugins/gstreamer-plugins.signals: * docs/plugins/inspect/plugin-coreelements.xml: docs: update to git 2015-12-14 11:09:46 +0900 Vineeth TM * plugins/elements/gstdataurisrc.c: plugins-bad: Fix example pipelines rename gst-launch --> gst-launch-1.0 replace old elements with new elements(ffmpegcolorspace -> videoconvert, ffenc_** -> avenc_**) fix caps in examples https://bugzilla.gnome.org/show_bug.cgi?id=759432 2015-11-10 12:38:59 -0500 Xavier Claessens * gst/gstallocator.h: * gst/gstatomicqueue.h: * gst/gstbin.h: * gst/gstbuffer.h: * gst/gstbufferlist.h: * gst/gstbus.h: * gst/gstcaps.h: * gst/gstcapsfeatures.h: * gst/gstclock.h: * gst/gstcontext.h: * gst/gstcontrolbinding.h: * gst/gstcontrolsource.h: * gst/gstdatetime.h: * gst/gstdevice.h: * gst/gstdevicemonitor.h: * gst/gstdeviceprovider.h: * gst/gstdeviceproviderfactory.h: * gst/gstelement.h: * gst/gstelementfactory.h: * gst/gstevent.h: * gst/gstghostpad.h: * gst/gstiterator.h: * gst/gstmemory.h: * gst/gstmessage.h: * gst/gstobject.h: * gst/gstpad.h: * gst/gstpadtemplate.h: * gst/gstparse.h: * gst/gstpipeline.h: * gst/gstplugin.h: * gst/gstpluginfeature.h: * gst/gstquery.h: * gst/gstregistry.h: * gst/gstsample.h: * gst/gstsegment.h: * gst/gststructure.h: * gst/gstsystemclock.h: * gst/gsttaglist.h: * gst/gsttask.h: * gst/gsttaskpool.h: * gst/gsttoc.h: * gst/gsttracer.h: * gst/gsttracerfactory.h: * gst/gsttypefindfactory.h: * gst/gsturi.h: * libs/gst/base/gstadapter.h: * libs/gst/base/gstbaseparse.h: * libs/gst/base/gstbasesink.h: * libs/gst/base/gstbasesrc.h: * libs/gst/base/gstbasetransform.h: * libs/gst/base/gstcollectpads.h: * libs/gst/base/gstdataqueue.h: * libs/gst/base/gstflowcombiner.h: * libs/gst/base/gstpushsrc.h: * libs/gst/check/gsttestclock.h: * libs/gst/controller/gstargbcontrolbinding.h: * libs/gst/controller/gstdirectcontrolbinding.h: * libs/gst/controller/gstinterpolationcontrolsource.h: * libs/gst/controller/gstlfocontrolsource.h: * libs/gst/controller/gsttimedvaluecontrolsource.h: * libs/gst/controller/gsttriggercontrolsource.h: * libs/gst/net/gstnetclientclock.h: * libs/gst/net/gstnettimepacket.h: * libs/gst/net/gstnettimeprovider.h: * libs/gst/net/gstptpclock.h: core: Add g_autoptr() support to all types https://bugzilla.gnome.org/show_bug.cgi?id=754464 2015-12-14 13:06:57 +0100 Sebastian Dröge * plugins/elements/gsttee.c: tee: Check if parsing the name template with sscanf() was successful If not, go back to the automatic pad numbering. CID 1195129 2015-12-14 11:20:43 +0100 Sebastian Dröge * plugins/elements/gstmultiqueue.c: * plugins/elements/gstqueue.c: queue/multiqueue: Don't special-case CAPS events in the event handlers For CAPS events we will never ever have a FALSE return value here, so just remove the dead code instead of causing future confusion. 2015-12-14 11:16:50 +0100 Sebastian Dröge * plugins/elements/gstqueue.c: Revert "queue: Illegal memory access of sink event" This reverts commit 78614c505a2a761cb4dcb7f4e5f3e9f97c9a8e88. The code it was fixing does not have any effect anyway and will be removed in the next commit. 2015-12-14 10:32:14 +0900 Vineeth TM * plugins/elements/gstqueue.c: queue: Illegal memory access of sink event Once event is pushed to pad, then queue should not access the event. This is leading to invalid read valgrind errors https://bugzilla.gnome.org/show_bug.cgi?id=759430 2015-12-14 10:10:04 +0100 Sebastian Dröge * gst/gstelement.c: element: Unref event if GstElement::send_event() is not implemented Otherwise we'll take ownership of the event only if it's implemented, and leak the event in all other situations. 2015-12-14 10:04:19 +0100 Sebastian Dröge * docs/manual/advanced-dataaccess.xml: manual: Fix dynamic pipeline example Use GST_PAD_PROBE_PASS to pass through all events other than EOS instead of blocking on the first non-EOS event forever. Also fix a typo in a comment in that function. Thanks to David Jaggard for reporting this on the mailing list. 2015-12-13 00:37:39 +0000 Luis de Bethencourt * docs/pwg/building-boiler.xml: docs: typo in the location of make_element tool https://bugzilla.gnome.org/show_bug.cgi?id=759352 2015-12-12 01:13:59 -0800 Reynaldo H. Verdejo Pinochet * plugins/elements/gstdownloadbuffer.c: downloadbuffer: drop unneeded macros for G_OS_WIN32 2015-12-12 01:09:20 -0800 Reynaldo H. Verdejo Pinochet * plugins/elements/gstfdsrc.c: fdsrc: drop unneeded macros for G_OS_WIN32 2015-12-12 01:06:43 -0800 Reynaldo H. Verdejo Pinochet * plugins/elements/gstfdsrc.c: fdsrc: enable large file support in Android https://bugzilla.gnome.org/show_bug.cgi?id=758980 2015-12-11 22:14:32 -0800 Reynaldo H. Verdejo Pinochet * plugins/elements/gstfdsink.c: fdsink: enable large file support in Android https://bugzilla.gnome.org/show_bug.cgi?id=758980 2015-12-11 20:52:57 -0800 Reynaldo H. Verdejo Pinochet * plugins/elements/gstqueue2.c: queue2: fix some typos 2015-12-11 20:42:05 -0800 Reynaldo H. Verdejo Pinochet * plugins/elements/gstqueue2.c: queue2: enable large file support on Android https://bugzilla.gnome.org/show_bug.cgi?id=758980 2015-12-11 19:11:01 -0800 Reynaldo H. Verdejo Pinochet * plugins/elements/gstdownloadbuffer.c: downloadbuffer: fix some typos 2015-12-11 18:59:32 -0800 Reynaldo H. Verdejo Pinochet * plugins/elements/gstdownloadbuffer.c: downloadbuffer: enable large file support on Android https://bugzilla.gnome.org/show_bug.cgi?id=758980 2015-12-11 14:36:29 -0800 Reynaldo H. Verdejo Pinochet * plugins/elements/gstsparsefile.c: sparsefile: drop bogus reference to file descriptor +fix typo on return value comment 2015-12-11 14:07:27 -0800 Reynaldo H. Verdejo Pinochet * plugins/elements/gstsparsefile.c: sparsefile: enable large file support on Android https://bugzilla.gnome.org/show_bug.cgi?id=758980 2015-12-10 14:32:27 +0100 Aurélien Zanelli * gst/gstelement.c: element: unref message in _post_message when there is no implementation 'gst_element_post_message' takes the ownership of the message, so it shall unref it when there is no post_message implementation. Otherwise message is leaked. https://bugzilla.gnome.org/show_bug.cgi?id=759300 2015-12-10 11:35:05 +0200 Sebastian Dröge * gst/gstelement.c: element: Don't hold state lock all the time while sending an event This lock seems to exist only to prevent elements from changing states while events are being processed. However events are going to be processed nonetheless in those elements if sent directly via pads, so protection must already be implemented inside the elements for event handling if it is needed. As such having the lock here is not very useful and is actually causing various deadlocks in different situations as described in https://bugzilla.gnome.org/show_bug.cgi?id=744040 2015-12-07 20:27:45 -0800 Reynaldo H. Verdejo Pinochet * plugins/elements/gstfilesrc.c: filesrc: enable large file support in Android https://bugzilla.gnome.org/show_bug.cgi?id=758980 2015-12-03 15:04:32 -0800 Reynaldo H. Verdejo Pinochet * plugins/elements/gstfilesink.c: filesink: enable large file support on Android https://bugzilla.gnome.org/show_bug.cgi?id=758980 2015-12-03 15:01:27 -0800 Reynaldo H. Verdejo Pinochet * plugins/elements/gstfilesink.c: * plugins/elements/gstfilesink.h: filesink: indentation fixes 2015-12-09 17:40:02 +0100 Edward Hervey * plugins/elements/gstmultiqueue.c: multiqueue: Don't use random segment.position from upstream segment.position is meant for internal usage only, but the various GST_EVENT_SEGMENT creationg/parsing functions won't clear that field. Use the appropriate segment boundary as an initial value instead 2015-12-07 17:25:02 +0200 Sebastian Dröge * gst/gstbin.c: bin: Post a LATENCY message with async-handling=TRUE if the PLAYING state is reached Otherwise each bin might have a different latency in the end, causing synchronization problems. The bin will still first handle latency internally as before, but gives the overall pipeline the opportunity to update the latency of the whole pipeline afterwards. https://bugzilla.gnome.org/show_bug.cgi?id=759125 2015-12-07 18:20:35 +0200 Athanasios Oikonomou * libs/gst/base/gstbaseparse.c: baseparse: post tag list when avg bitrate changes at least 2% Watching videos with variant bitrate is common to have delta more than 10 kbps, resulting in tag list spam. Instead of relying on fixed 10 kpbs delta, it is better to calculale the difference in percentage and update tag list only when bitrate changes more than 2%. https://bugzilla.gnome.org/show_bug.cgi?id=759055 2015-12-07 09:08:01 -0500 Nicolas Dufresne * autogen.sh: * common: Automatic update of common submodule From b319909 to 86e4663 2015-12-07 12:59:39 +0200 Sebastian Dröge * gst/gstelement.c: element: Check for an activated pad before adding, not a non-flushing one The pad could be activated but flushing because of a FLUSH_START event. That's not what we're looking for here, we want to check for activated pads. https://bugzilla.gnome.org/show_bug.cgi?id=758928 2015-11-19 15:33:06 -0300 Thiago Santos * tests/check/elements/funnel.c: tests: funnel: remove state change from stress tests Changing states up and down while buffers are being pushed is not a valid use case. If a pad is deactivated and reactivated during a buffer push it is racy with the check of pushed sticky events and the actual chainfunction call. As it might call the chain without noticing the peer pad lost its previous sticky events. https://bugzilla.gnome.org/show_bug.cgi?id=758340 2015-12-04 10:22:56 -0500 Nicolas Dufresne * tools/gst-launch.c: gst-launch: Fix process return value on error In case of a run-time error message, the process return value was left unset. This would lead to error not being caught at shell level. https://bugzilla.gnome.org/show_bug.cgi?id=759019 2015-12-04 10:45:25 -0500 Nicolas Dufresne * tools/gst-launch.c: Revert "tools: gst-launch: return non-0 exit code on async error" This reverts commit 2ee4cba2485d7f1646d48e4559426aed4ba99c85. 2015-12-04 15:09:39 +0000 Tim-Philipp Müller * tools/gst-launch.c: tools: gst-launch: return non-0 exit code on async error When an error happens in playing state, still return a non-0 exit code. https://bugzilla.gnome.org/show_bug.cgi?id=759019 2015-12-04 14:39:29 +0000 Ross Burton * libs/gst/helpers/Makefile.am: helpers: really fix install race My previous fix for #758029 wasn't quite right and simply made the race rarer. Some of the files are installed by install-exec and others by install-exec, so the hooks need to be split too. https://bugzilla.gnome.org/show_bug.cgi?id=758029 2015-12-04 11:56:45 +0100 Wim Taymans * gst/gstquery.c: query: fix docs The allocation query has parameters with the meta API, not flags. 2015-12-02 15:02:25 -0800 Reynaldo H. Verdejo Pinochet * libs/gst/base/Makefile.am: * libs/gst/check/Makefile.am: * libs/gst/controller/Makefile.am: * libs/gst/net/Makefile.am: Drop usage of deprecated g-ir-scanner --strip-prefix flag 2015-12-02 16:28:23 +0100 Edward Hervey * plugins/elements/gstmultiqueue.c: multiqueue: Fix set/get property Blame it on the rebasing :) 2015-11-12 17:15:37 +0100 Edward Hervey * gst/gstpad.c: * gst/gstpad.h: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstqueue.c: * win32/common/libgstreamer.def: pad: Implement GstPadEventFullFunction API: GstPadEventFullFunction Returns a GstFlowReturn, allows asynchronous elements to properly propagate flow returns https://bugzilla.gnome.org/show_bug.cgi?id=757821 2015-11-30 17:09:43 +0100 Edward Hervey * plugins/elements/gstmultiqueue.c: * plugins/elements/gstmultiqueue.h: multiqueue: Use signed clock values for running time calculation This improves the accuracy of queue levels and when to push buffers for buffers falling outside of the segment https://bugzilla.gnome.org/show_bug.cgi?id=757193 2015-11-27 09:45:29 +0100 Edward Hervey * plugins/elements/gstmultiqueue.c: * plugins/elements/gstmultiqueue.h: multiqueue: Add an extra cache time for unlinked streams When synchronizing the output by time, there are some use-cases (like allowing gapless playback downstream) where we want the unlinked streams to stay slightly behind the linked streams. The "unlinked-cache-time" property allows the user to specify by how much time the unlinked streams should wait before pushing again. 2015-10-26 08:06:01 +0100 Edward Hervey * plugins/elements/gstmultiqueue.c: * plugins/elements/gstmultiqueue.h: multiqueue: Optimize multiqueue sizes based on interleave Multiqueue should only be used to cope with: * decoupling upstream and dowstream threading (i.e. having separate threads for elementary streams). * Ensuring individual queues have enough space to cope with upstream interleave (distance in stream time between co-located samples). This is to guarantee that we have enough room in each individual queues to provide new data in each, without being blocked. * Limit the queue sizes to that interleave distance (and an extra minimal buffering size). This is to ensure we don't consume too much memory. Based on that, multiqueue now continuously calculates the input interleave (per incoming streaming thread). Based on that, it calculates a target interleave (currently 1.5 x real_interleave + 250ms padding). If the target interleave is greater than the current max_size.time, it will update it accordingly (to allow enough margin to not block). If the target interleave goes down by more than 50%, we re-adjust it once we know we have gone past a safe distance (2 x current max_size.time). This mode can only be used for incoming streams that are guaranteed to be properly timestamped. Furthermore, we ignore sparse streams when calculating interleave and maximum size of queues. For the simplest of use-cases (single stream), multiqueue acts as a single queue with a time limit of 250ms. If there are multiple inputs, but each come from a different streaming thread, the maximum time limit will also end up being 250ms. On regular files (more than one input stream from the same upstream streaming thread), it can reduce the total memory used as much as 10x, ending up with max_size.time around 500ms. Due to the adaptive nature, it can also cope with changing interleave (which can happen commonly on some files at startup/pre-roll time) 2013-01-08 21:16:42 +0000 Vincent Penquerc'h * plugins/elements/gstmultiqueue.c: multiqueue: use new stream-start event sparse flag to avoid overreading subtitles This will mean a much lower delay before a subtitles track changes take effect. Also avoids excessive memory usage in many cases. This will also consider sparse streams as (individually) never full, so as to avoid blocking all playback due to one sparse stream. https://bugzilla.gnome.org/show_bug.cgi?id=600648 2015-10-30 10:22:20 +0100 Edward Hervey * plugins/elements/gstmultiqueue.c: multiqueue: Fix high_time computation * Avoid the computation completely if we know we don't need it (not in sync time mode) * Make sure we don't override highest time with GST_CLOCK_TIME_NONE on unlinked pads * Ensure the high_time gets properly updated if all pads are not linked * Fix the comparision in the loop whether the target high time is the same as the current time * Split wake_up_next_non_linked method to avoid useless calculation https://bugzilla.gnome.org/show_bug.cgi?id=757353 2015-11-06 03:02:42 +1100 Jan Schmidt * plugins/elements/gstqueue2.c: queue2: Don't report 0% unless empty When preparing a buffering message, don't report 0% if there is any bytes left in the queue at all. We still have something to push, so don't tell the app to start buffering - maybe we'll get more data before actually running dry. 2015-11-30 17:11:33 +0100 Edward Hervey * gst/gstclock.h: gstclock: Fix GST_STIME_ARGS It wasn't properly handling GST_CLOCK_STIME_NONE and always use the sign marker (+/-) to make it easier to identify signed values in logs https://bugzilla.gnome.org/show_bug.cgi?id=758870 2015-11-30 23:08:50 +0100 Thibault Saunier * gst/gstcontrolsource.c: controlsource: Annotate get_value[_array] as (method) As the names clash with gst_object_get_value[_array] https://bugzilla.gnome.org/show_bug.cgi?id=756950 2015-11-13 17:32:57 -0500 Nicolas Dufresne * gst/gstplugin.c: * gst/gstplugin.h: plugin: Add prefix support to dependencies This adds a new flags, GST_PLUGIN_DEPENDENCY_FLAG_FILE_NAME_IS_PREFIX, which allow using the names as prefix for plugin depencies. https://bugzilla.gnome.org/show_bug.cgi?id=758083 2015-11-13 16:32:31 -0500 Nicolas Dufresne * gst/gstplugin.c: plugin: Allow device nodes as dependency This is useful for feature that are produced after probing a specific node. You want to reload this plugin if the specific node(s) have been removed, added, or reloaded. https://bugzilla.gnome.org/show_bug.cgi?id=758080 2015-11-13 16:20:42 -0500 Nicolas Dufresne * gst/gstplugin.c: plugin: Don't do lossy shift on hash In plugin is responsible for calculating a hash of the dependencies in order to determine if the cache should be invalidated or not. Currently, the hash combining method removes a bit of the original have before combining with an addition. As we use 32bits for our hash and shift 1 bit for each file and directory, that resulting hash only account for the last 32 files. And is more affected by the last file. Rotating technique (shifting, and adding back the ending bit), can be use to make the addition non-commutative. In a way that different order gives different hashes. In this case, I don't preserve this behaviour because the order in which the files are provided by the OS is irrelevant. In most cases, the XOR operation is used to combine hashes. In this code we use the addition. I decided to preserve the addition because we make use of non-random hash ((guint) -1) in the algorithm for matching files that are not really part of the hash (symlinks, special files). Doing successive XOR on this value, will simply switch from full ones, to full zero. The XOR used with whitelist has been preserved as it's based on a fairly randomized hash (g_str_hash). https://bugzilla.gnome.org/show_bug.cgi?id=758078 2015-11-23 21:40:34 +0000 Lukasz Forynski * gst/gstinfo.h: info: fix compiler warning with -Wpedantic and gcc 5 Gstreamer compiled with gcc 5.2 and -Wpedantic produces the following warning: 'ISO C does not support '__FUNCTION__' predefined identifier [-Wpedantic] const char *s = __FUNCTION__;' Since gcc 5 enables C99 by default, use __func__ if it's available instead of the non-standard __FUNCTION__ (as suggested in [2]). [1]: https://gcc.gnu.org/gcc-5/changes.html [2]: https://gcc.gnu.org/gcc-5/porting_to.html https://bugzilla.gnome.org/show_bug.cgi?id=758541 2015-11-20 19:45:39 +0000 Tim-Philipp Müller controller: fix annotation to make g-ir-scanner happy gstinterpolationcontrolsource.h:59: Warning: GstController: missing ":" at column 51: * @GST_INTERPOLATION_MODE_CUBIC_MONO: (Since 1.8) monotonic cubic interpolation, will not gstinterpolationcontrolsource.h:59: Warning: GstController: unknown annotation: since 2014-09-29 14:03:13 +0530 Ravi Kiran K N * gst/gsttaglist.c: * gst/gsttaglist.h: tags: add GST_TAG_PRIVATE_DATA Can be used to represent private data that may be contained in tags, such as ID3v2 PRIV frames. https://bugzilla.gnome.org/show_bug.cgi?id=730926 2015-11-19 17:24:53 +0000 Luis de Bethencourt * plugins/elements/gstdataurisrc.c: * tests/check/elements/dataurisrc.c: docs: update gst-launch-0.10 lines Update references to gst-launch-0.10 to gst-launch-1.0 2015-11-19 00:51:44 -0300 Thiago Santos * libs/gst/base/gstbaseparse.c: Revert "baseparse: do not overwrite header buffer timestamps" This reverts commit 2c475a035543efc0202ecdc52070295a421ed4b4. This causes issues with h264parse. It breaks timestamps as there are headers in the middle of the stream and this patch makes the timestamps for those differ from the ones that are adjusted, creating a discontinuity and leading to sync issues. 2015-11-17 18:47:48 -0300 Thiago Santos * libs/gst/base/gstbaseparse.c: Revert "baseparse: simplify code a bit" This reverts commit 3984f7159a72c2eebe01905ee53716e3b2abcb30. 2015-11-18 11:46:45 +0000 Tim-Philipp Müller * plugins/elements/gstqueue2.c: queue2: don't print criticals when receiving custom events in ring buffer mode Downgrade from g_warning to GST_WARNING log message. https://bugzilla.gnome.org/show_bug.cgi?id=758276 2015-11-18 09:21:23 +0200 Sebastian Dröge * libs/gst/helpers/gst-ptp-helper.c: ptp-helper: Disable multicast loopback We're not really interested in our own packets and ignore them anyway. 2015-11-17 09:17:58 +0900 Vineeth TM * gst/gstdebugutils.c: debugutils: Fix string memory leak https://bugzilla.gnome.org/show_bug.cgi?id=758207 2015-11-16 08:22:14 -0300 Thiago Santos * libs/gst/base/gstbaseparse.c: baseparse: simplify code a bit Avoid repeated checks for testing if a buffer is a header 2015-11-13 20:44:57 -0300 Thiago Santos * libs/gst/base/gstcollectpads.c: collectpads: handle buffer with dts-only when mapping to running time Otherwise the buffer was left with the original values and later would be compared with other buffers that were converted to runninn time, leading to bad interleaving of multiple streams. https://bugzilla.gnome.org/show_bug.cgi?id=757961 2015-11-13 16:31:06 -0300 Thiago Santos * libs/gst/base/gstbaseparse.c: baseparse: do not overwrite header buffer timestamps baseparse tries to preserve timestamps from upstream if it is running on a time segment and write that to output buffers. It assumes the first DTS is going to be segment.start and sets that to the first buffers. In case the buffer is a header buffer, it had no timestamps and will have only the DTS set due to this mechanism. This patch prevents this by skipping this behavior for header buffers. https://bugzilla.gnome.org/show_bug.cgi?id=757961 2015-06-18 13:56:53 -0700 Aleix Conchillo Flaqué * plugins/elements/gstidentity.c: * plugins/elements/gstidentity.h: identity: add drop-buffer-flags property New property drop-buffer-flags that will discard buffers that have the given flags set. https://bugzilla.gnome.org/show_bug.cgi?id=751182 2015-11-12 19:46:44 +0000 Ross Burton * libs/gst/helpers/Makefile.am: helpers: fix install race The install hook needs to be a install-data-hook not an install-exec-hook as the helpers are installed into helperdir which is considered data (only path variables with "exec" in are considered executables). The explicit dependency on install-helpersPROGRAMS was an attempt at solving this, but this causes occasional races where install-helpersPROGRAMS can run twice in parallel (once via install-all, once via the hook's dependency). https://bugzilla.gnome.org/show_bug.cgi?id=758029 2015-11-12 16:14:18 +0100 Heinrich Fink * tests/check/gst/gstsystemclock.c: systemclock: Add test for gst_clock_get_resolution In a series of time measurements, the diff between now and previous timestamps is either 0 or at least as long as get_resolution returned. https://bugzilla.gnome.org/show_bug.cgi?id=758012 2015-11-12 11:26:56 +0100 Heinrich Fink * gst/gstsystemclock.c: systemclock: Use mach_time on Apple platforms On iOS/OSX g_get_current_time was used by default. However, mach_time is the preferred high-resolution monotonic clock to be used on Apple platforms. https://bugzilla.gnome.org/show_bug.cgi?id=758012 2015-11-11 11:11:23 -0300 Thiago Santos * plugins/tracers/gstlog.c: tracers: log: add missing hooks Log all possible hooks 2015-10-29 08:40:32 -0300 Thiago Santos * gst/gstelement.c: * gst/gsttracerutils.c: * gst/gsttracerutils.h: tracer: add element-change-state-pre/post hook Helps catching when a state change is starting and ending. It is also possible to track the end of state changes by checking the async-done or state-change messages. This is particularly important for elements that do async state changes. 2015-11-11 14:32:44 +0100 Miguel París Díaz * tests/check/gst/gstpad.c: pad: test for checking the order of the probe calls https://bugzilla.gnome.org/show_bug.cgi?id=757197 2015-11-10 14:41:35 -0300 Thiago Santos * gst/gstcontext.c: context: fix some copy and paste leftover in docs 2015-11-10 14:37:27 -0300 Thiago Santos * gst/gstcontext.c: context: add some more documentation Add a short paragraph on what means for a context to be persistent 2015-11-09 18:02:09 +0000 Tim-Philipp Müller * gst/gstutils.h: utils: use 'static inline' instead of 'inline static' for gtk-doc gtk-doc doesn't seem to recognise the former variant. 2015-11-09 17:59:16 +0000 Tim-Philipp Müller * gst/gstbuffer.h: * gst/gstbufferlist.h: * gst/gstcaps.h: * gst/gstcontext.h: * gst/gstevent.h: * gst/gstmemory.h: * gst/gstmessage.h: * gst/gstquery.h: * gst/gstsample.h: * gst/gsttaglist.h: * gst/gsturi.h: * gst/gstutils.h: * libs/gst/base/gstbytewriter.h: docs: remove dummy function declarations with G_INLINE_FUNCTION for gtk-doc gtk-doc can handle static inline functions just fine these days, there's no need for this stuff any more. 2015-02-23 13:16:19 +1000 Duncan Palmer * plugins/elements/gstqueue2.c: * plugins/elements/gstqueue2.h: queue2: Add the avg-in-rate property. https://bugzilla.gnome.org/show_bug.cgi?id=733959 2015-11-04 12:02:51 +0100 Philippe Normand * plugins/elements/gstqueue2.c: * plugins/elements/gstqueue2.h: * tests/check/elements/queue2.c: queue2: add overrun signal Notifies that the queue2 is full, same as queue does https://bugzilla.gnome.org/show_bug.cgi?id=733959 2015-09-29 21:14:19 -0300 Thiago Santos * tests/check/gst/gstpad.c: pad: tests for accept-caps handling with proxy pads Adds 3 new tests for testing accept-caps behavior with proxy-caps pads. 1) A scenario where there is no proxy. The caps should be compared to the template caps of the pad 2) A scenario where there is a compatible pad. The caps should be compared to the proxied pad caps (and also with the template) 3) A scenario where there is an incompatible proxy pad. No caps should be possible at all. https://bugzilla.gnome.org/show_bug.cgi?id=754112 2015-11-05 16:15:22 -0300 Thiago Santos * gst/gstpad.c: pad: check template caps for proxy pads in accept-caps Validate that the proxy pad indeed accepts the caps by also comparing with the pad template caps, otherwise when the pad had no internally linked pads it would always return true. https://bugzilla.gnome.org/show_bug.cgi?id=754112 2015-11-06 12:58:42 +0100 Thibault Saunier * gst/gstpreset.c: Fix build with -Werror=maybe-uninitialized 2015-11-06 12:05:18 +0100 Thibault Saunier * gst/gstpreset.c: * scripts/gst-uninstalled: preset: Add a GST_PRESET_PATH env variable for presets to be usable uninstalled And start setting the various uninstalled presets paths. 2015-11-05 08:56:43 +0100 Anton Bondarenko * plugins/elements/gstfilesink.c: filesink: continue element cleanup even if fclose fails Sometimes filesink cleanup during stop may fail due to fclose error. In this case object left partial cleanup with no file opened but still holding old file descriptor. It's not possible to change location property in a such state, so next start will cause old file overwrite if 'append' does not set. According to man page and POSIX standard about fclose behavior(extract): ------------------------------------------------------------------------ The fclose() function shall cause the stream pointed to by stream to be flushed and the associated file to be closed. ... Whether or not the call succeeds, the stream shall be disassociated from the file and any buffer set by the setbuf() or setvbuf() function shall be disassociated from the stream. ... The fclose() function shall perform the equivalent of a close() on the file descriptor that is associated with the stream pointed to by stream. After the call to fclose(), any use of stream results in undefined behavior. ------------------------------------------------------------------------ So file is in 'closed' state no matter if fclose succeed or not. And cleanup could be continued. https://bugzilla.gnome.org/show_bug.cgi?id=757596 2015-11-01 00:04:27 +1100 Jan Schmidt * gst/gstpad.c: pad: Mark sticky events as sent on not-linked Instead of re-sending sticky events over and over to a not-linked pad, mark them as sent the first time. If the not-linked came from downstream, it already received the events. If the pad is actually not-linked, the sticky events will be rescheduled when the pad is linked anyway. 2015-10-29 18:53:29 +1100 Jan Schmidt * gst/gstghostpad.c: ghostpad: Allow deactivation with no peer. Allow deactivation in pull-mode, since that implies we had a peer, activated in pull mode, then the peer disa-peer-ed ;) 2015-10-28 17:31:07 -0300 Thiago Santos * gst/gstelement.c: * gst/gstelementfactory.c: element: emit tracer's element-new hook from 'constructed' It allows to properly emitting it for all newly created elements https://bugzilla.gnome.org/show_bug.cgi?id=757045 2015-10-28 06:03:39 -0300 Thiago Santos * plugins/tracers/gststats.c: stats: log the element-new hook properly To be able to get the time the elements were created instead of just logging them without a time 2015-10-28 18:04:46 +0200 Sebastian Dröge * gst/gstpad.c: pad: Unblock blocking pad probes when receiving FLUSH_START in send_event() too Without this, flushing might not unblock the streaming thread and cause deadlocks. https://bugzilla.gnome.org/show_bug.cgi?id=757257 2015-10-28 13:04:25 +0200 Sebastian Dröge * gst/gstpad.c: pad: Document the order in which pad probes are called https://bugzilla.gnome.org/show_bug.cgi?id=757197 2015-10-27 18:05:05 +0200 Sebastian Dröge * gst/gstpad.c: pad: Append hooks instead of prepending to call them in the order they were added https://bugzilla.gnome.org/show_bug.cgi?id=757197 2015-10-26 12:50:12 +0100 Stian Selnes * libs/gst/net/gstnetaddressmeta.c: * libs/gst/net/gstnetaddressmeta.h: * win32/common/libgstnet.def: netaddressmeta: gst_buffer_get_net_address_meta() as function Implement gst_buffer_get_net_address_meta() as a function instead of a macro in order to get gobject-introspection to work. https://bugzilla.gnome.org/show_bug.cgi?id=702921 2015-10-26 18:07:11 +0530 Nirbheek Chauhan * gst/gstbuffer.h: buffer: flesh out docs for gst_buffer_make_writable() a little There is a similar explanation in gst_caps_make_writable, but the existing documentation can be misleading since it does not define what 'is already writable' means. Also note when this function is meant to be used. 2015-10-26 17:35:34 +0530 Nirbheek Chauhan * gst/gstcaps.c: caps: clarify docs for a few functions that they don't update things in-place It is not necessarily clear from the existing introspection tags and documentation alone. 2015-10-27 08:48:07 +0100 Edward Hervey * plugins/elements/gstqueue.c: * plugins/elements/gstqueue2.c: queue/queue2: Use GST_BUFFER_DTS_OR_PTS The input of queue/queue2 might have DTS set, in which cas we want to take that into account (instead of the PTS) to calculate position and queue levels. https://bugzilla.gnome.org/show_bug.cgi?id=756507 2015-10-13 17:20:26 +0200 Edward Hervey * plugins/elements/gstmultiqueue.c: multiqueue: Use buffer DTS if present, else PTS In order to accurately determine the amount (in time) of data travelling in queues, we should use an increasing value. If buffers are encoded and potentially reordered, we should be using their DTS (increasing) and not PTS (reordered) https://bugzilla.gnome.org/show_bug.cgi?id=756507 2015-10-27 08:33:41 +0100 Edward Hervey * libs/gst/base/gstcollectpads.c: collectpads: Use GST_BUFFER_DTS_OR_PTS Simplifies code a bit 2015-10-26 07:59:54 +0100 Edward Hervey * docs/gst/gstreamer-sections.txt: * gst/gstbuffer.h: buffer: Add a GST_BUFFER_DTS_OR_PTS macro API: GST_BUFFER_DTS_OR_PTS Many scenarios/elements require dealing with streams of buffers that might have DTS set (i.e. encoded data, potentially reordered) To simplify getting the increasing "timestamp" of those buffers, create a macro that will return the DTS if valid, and if not the PTS 2015-10-06 12:21:04 +0200 Guillaume Desmottes * docs/gst/gstreamer-sections.txt: doc: add GST_{PTR,SEGMENT}_FORMAT Very useful formats in debug output so best to have them in the generated doc. https://bugzilla.gnome.org/show_bug.cgi?id=756115 2015-10-26 10:53:35 +0200 Sebastian Dröge * gst/gstsegment.c: segment: Return -1 if gst_segment_to_stream_time_full() considers the position not inside the segment Fixes GstPipeline unit test. https://bugzilla.gnome.org/show_bug.cgi?id=756564 2015-10-24 16:52:44 +0100 Florin Apostol * gst/gsturi.c: uri: fix behaviour for merging uris ending in .. without following / https://bugzilla.gnome.org/show_bug.cgi?id=757065 2015-10-24 16:43:59 +0100 Florin Apostol * tests/check/gst/gsturi.c: uri: tests: added unit test for streams ending in .. without following / https://bugzilla.gnome.org/show_bug.cgi?id=757065 2015-08-27 12:43:28 +0200 Thibault Saunier * gst/gstdebugutils.c: debug: Dump pad properties values Currently we only show element properties values, we should also show pad properties values https://bugzilla.gnome.org/show_bug.cgi?id=754166 2015-10-23 20:04:42 +0300 Sebastian Dröge * gst/gstsegment.c: segment: Remove leftover debug g_print() 2015-10-15 14:49:37 +0300 Vivia Nikolaidou * docs/design/part-synchronisation.txt: * docs/gst/gstreamer-sections.txt: * gst/gstsegment.c: * gst/gstsegment.h: * tests/check/gst/gstsegment.c: * win32/common/libgstreamer.def: segment: Add _full variants of all stream/running_time from/to segment position functions See formula clarifications in design docs for calculation details. https://bugzilla.gnome.org/show_bug.cgi?id=756564 2015-09-26 01:29:07 +0300 Vivia Nikolaidou * scripts/gst-uninstalled: gst-uninstalled: Added env var for uninstalled PTP helper https://bugzilla.gnome.org/show_bug.cgi?id=755651 2015-10-22 12:00:42 +0200 Guillaume Desmottes * libs/gst/base/gstbasesink.h: basesink: rename argument of PREROLL_{COND,LOCK} macros They take a GstBaseSink instance as argument at not a GstPad. Rename the argument to 'obj' which is not miss leading and in line with GST_BASE_SINK_PAD(obj). https://bugzilla.gnome.org/show_bug.cgi?id=756954 2015-10-22 10:05:14 +0200 Mathieu Duponchelle * gst/gstcontrolsource.c: gstcontrolsource: Add missing (out) annotation 2015-10-21 14:34:47 +0100 Tim-Philipp Müller * common: Automatic update of common submodule From b99800a to b319909 2015-10-21 14:49:49 +0300 Sebastian Dröge * gst/gstpad.c: pad: Fix docs/annotation of gst_pad_probe_info_get_buffer_list() It's not get_bufferlist(). Because of that it was ignored by the docs and G-I, leading to crashes because of broken ownership transfer. https://bugzilla.gnome.org/show_bug.cgi?id=756898 2015-10-20 17:29:42 +0300 Sebastian Dröge * configure.ac: * gst/gstpad.c: * libs/gst/base/gstbasetransform.c: Use new GST_ENABLE_EXTRA_CHECKS #define https://bugzilla.gnome.org/show_bug.cgi?id=756870 2015-10-21 14:25:40 +0300 Sebastian Dröge * README: * common: Automatic update of common submodule From 9aed1d7 to b99800a 2015-10-20 13:46:24 +0100 Luis de Bethencourt * tools/gst-stats.c: stats: always free log We always want to free the open file log if fopen() succeeded. Independently of if fgets() succeeds or fails. CID 1326055 https://bugzilla.gnome.org/show_bug.cgi?id=756864 2015-10-19 16:50:51 +0300 Vivia Nikolaidou * gst/gstsegment.c: * tests/check/gst/gstsegment.c: segment: Correct stream_time calc for negative applied rate Updated gst_segment_position_from_stream_time and gst_segment_to_stream_time to reflect correct calculations for the case when the applied rate is negative. Pasting from design docs: =============================== Stream time is calculated using the buffer times and the preceding SEGMENT event as follows: stream_time = (B.timestamp - S.start) * ABS (S.applied_rate) + S.time For negative rates, B.timestamp will go backwards from S.stop to S.start, making the stream time go backwards. =============================== Therefore, the calculation for applied_rate < 0 should be: stream_time = (S.stop - B.timestamp) * ABS (S.applied_rate) + S.time and the reverse: B.timestamp = S.stop - (stream_time - S.time) / ABS (S.applied_rate) https://bugzilla.gnome.org/show_bug.cgi?id=756810 2015-10-19 21:39:19 +0200 Stefan Sauer * docs/design/draft-tracing.txt: * docs/plugins/gstreamer-plugins-docs.sgml: * gst/gsttracerutils.c: tracer: rename the envvar to GST_TRACER_PLUGINS The subsystem reused the GST_TRACE var that is allready in use by the alloc tracer. Fixes #756760 2015-10-15 16:32:42 +0200 Edward Hervey * plugins/elements/gstmultiqueue.c: multiqueue: Improve incoming SEGMENT handling Previously this code was just blindly setting the cached flow return of downstream to GST_FLOW_OK when we get a SEGMENT. The problem is that this can not be done blindly. If downstream was not linked, the corresponding sinqlequeue source pad thread might be waiting for the next ID to be woken up upon. By blindly setting the cached return value to GST_FLOW_OK, and if that stream was the only one that was NOT_LINKED, then the next time we check (from any other thread) to see if we need to wake up a source pad thread ... we won't even try, because none of the cached flow return are equal to GST_FLOW_NOT_LINKED. This would result in that thread never being woken up https://bugzilla.gnome.org/show_bug.cgi?id=756645 2015-09-26 18:16:07 +0800 Ting-Wei Lan * gst/gstutils.h: gstutils: Fix build with clang -Werror=cast-align https://bugzilla.gnome.org/show_bug.cgi?id=755657 2015-10-17 22:13:08 +0300 Sebastian Dröge * gst/gstbin.c: bin: Make sure to free all cached messages when going to NULL An ASYNC READY->PAUSED might have failed without the bin code noticing during the state change, in which case we will never get PAUSED->READY and would leak messages. https://bugzilla.gnome.org/show_bug.cgi?id=756611 2015-10-16 15:59:49 +0100 Tim-Philipp Müller * docs/gst/running.xml: * gst/gstdebugutils.h: * tools/gst-launch.1.in: docs: mention xdot utility to view .dot files directly 2015-10-16 12:00:50 +0100 Tim-Philipp Müller * gst/gsttrace.c: alloctrace: show details of events and messages leaked So it's clearer what leaked. 2015-10-16 11:54:18 +0100 Tim-Philipp Müller * docs/manual/advanced-metadata.xml: docs: manual: improve advanced metadata example a bit Accept both filename and a URI as argument, and print the error from the error message if there's an error. https://bugzilla.gnome.org/show_bug.cgi?id=756630 2015-10-15 19:05:21 -0300 Thiago Santos * gst/gstmemory.h: memory: fix typo in documentation It should be 1.2 unless this is a flag from the future 2015-09-15 18:08:18 +0200 Edward Hervey * plugins/elements/gstmultiqueue.c: multiqueue: Accept STREAM_START after EOS In the same way core now allows STREAM_START to remove the flushing state from pads, we need to do the same thing in multiqueue 2015-10-14 11:03:22 +0300 Sebastian Dröge * tests/check/gst/gstsegment.c: segment: Convert function to macro in unit test to get proper line numbers on failures https://bugzilla.gnome.org/show_bug.cgi?id=748316 2015-10-12 17:29:26 +0200 Edward Hervey * libs/gst/base/gstbaseparse.c: baseparse: Update internal position even if not linked Our current position has nothing to do with being linked or not. Avoids having stray segment updates fired every 2s 2015-10-07 22:55:44 +0100 Florin Apostol * gst/gstpad.c: pad: fix memory leak when sending events to an EOS pad https://bugzilla.gnome.org/show_bug.cgi?id=756208 2015-10-07 12:01:16 +0100 Sebastian Dröge * plugins/tracers/Makefile.am: tracers: Only link against libgstprintf.la if the debugging system is enabled It does not exist otherwise and linking will fail. 2015-10-07 11:25:52 +0100 Sebastian Dröge * libs/gst/helpers/gst-ptp-helper.c: gst-ptp-helper: #include to fix net/if.h include on OSX 10.6 In file included from gst-ptp-helper.c:40:0: /usr/include/net/if.h:265:19: error: field 'ifru_addr' has incomplete type struct sockaddr ifru_addr; https://bugzilla.gnome.org/show_bug.cgi?id=756136 2015-10-07 12:22:34 +0200 Stefan Sauer * configure.ac: * plugins/tracers/Makefile.am: * plugins/tracers/gstrusage.c: * plugins/tracers/gsttracers.c: Revert "tracers: Only build getrusage() tracer if RUSAGE_THREAD is available" This reverts commit 8ddbf76626a48420306869db1d171f854cc25310. 2015-10-07 12:21:56 +0200 Stefan Sauer * plugins/tracers/gstrusage.c: tracers/rusage: ifdef the RUSAGE_THREAD usage Some versions of andoid don't seem to have it. 2015-10-07 11:11:30 +0100 Sebastian Dröge * configure.ac: * plugins/tracers/Makefile.am: * plugins/tracers/gstrusage.c: * plugins/tracers/gsttracers.c: tracers: Only build getrusage() tracer if RUSAGE_THREAD is available 2015-10-06 21:46:55 +0200 Stefan Sauer * win32/common/libgstreamer.def: win32: remove gst_tracer_quark_id_get_type Revert addition from 777bbeea605051ae3d2fa7e02ad8589001e78ce0. 2015-10-06 18:52:38 +0200 Stefan Sauer * gst/gsttracer.h: * gst/gsttracerutils.h: tracer: move prototype to the right header Fixes the build when the tracing subsystem is disabled. 2015-10-06 18:49:46 +0200 Stefan Sauer * gst/gst.c: * gst/gsttracerutils.h: tracer: mark GstTracerQuarkId as non GEnum This reverts 72ca02b1de4066eeae35c891e275386770117778 and marks the enum accordingly. 2015-10-06 18:46:24 +0200 Stefan Sauer * plugins/tracers/Makefile.am: * plugins/tracers/gsttracers.c: tracers: disable the log tracer if debug logging is disabled 2015-10-06 18:45:41 +0200 Stefan Sauer * plugins/tracers/Makefile.am: makefile.am: Remove obsolete Android build cruft This is not needed any longer. 2015-10-06 14:01:03 +0200 Stefan Sauer * gst/gsttracerutils.h: tracer: fix the build with debug (tracer) disabled Sync the macro definitions. The dummy defines has argument mismatches. 2015-10-06 11:39:33 +0200 Stefan Sauer * gst/gsttracerutils.h: tracer: fix the build with debug (tracer) disabled Remove commas at the end of the macros. 2015-09-01 16:39:30 -0300 Thiago Santos * plugins/tracers/gststats.c: tracers: stats: add message structure to output The name of the message is not enough. For example, state-change is not enough to know the transition. https://bugzilla.gnome.org/show_bug.cgi?id=754496 2015-10-05 19:05:58 -0300 Thiago Santos * gst/gst.c: gst: adding tracer quark id to gst init and deinit Fixes issues at make check 2015-10-05 18:50:48 -0300 Thiago Santos * win32/common/libgstreamer.def: win32: libgstreamer: add tracer functions 2015-10-05 21:29:49 +0200 Stefan Sauer * tests/check/gst/gsttag.c: tests: fix the tag test The previous change (see bgo #756069) was causing us to free the same pointer multiple times. If we actually get a sample back, the test fails, no need to free anything in that case. 2015-06-04 01:50:34 +0200 Marcin Kolny * docs/design/draft-tracing.txt: * gst/gstbin.c: * gst/gstelement.c: * gst/gstelementfactory.c: * gst/gstpad.c: * gst/gsttracerutils.c: * gst/gsttracerutils.h: tracer: add missing hooks Add following hooks: element-new, element-add-pad, element-remove-pad, bin-add-pre, bin-add-post, bin-remove-pre, bin-remove-post, pad-link-pre, pad-link-post, pad-unlink-pre, pad-unlink-post. https://bugzilla.gnome.org/show_bug.cgi?id=733187 2015-03-13 18:31:40 +0000 Thiago Santos * plugins/tracers/gststats.c: tracer: gststats: add thread-id to log line 2015-03-13 13:10:42 +0000 Thiago Santos * gst/gstpad.c: * gst/gsttracerutils.c: * gst/gsttracerutils.h: * plugins/tracers/gststats.c: tracer: add pad query hooks 2015-01-15 06:32:48 +0100 Mathieu Duponchelle * gst/gsttracer.c: tracer: strdup the passed parameters. 2015-01-13 22:11:34 +0100 Mathieu Duponchelle * plugins/tracers/gstlog.c: tracer: Use GST_TIME_ARGS when printing with GST_TIME_FORMAT. 2014-10-16 10:42:05 +0200 Stefan Sauer * docs/design/draft-tracing.txt: tracing: update docs 2014-10-02 19:52:03 +0200 Stefan Sauer * plugins/tracers/gststats.c: * tools/gst-stats.c: stats: TIMESTAMP -> PTS 2014-09-22 09:55:56 +0200 Stefan Sauer * gst/gst.c: * gst/gsttracer.h: * gst/gsttracerutils.c: * gst/gsttracerutils.h: * plugins/tracers/gstlatency.c: * plugins/tracers/gstlog.c: * plugins/tracers/gstrusage.c: * plugins/tracers/gststats.c: tracing: rename the global api to gst_tracing This makes it more obvious what is the api for tracer elements and what is api for the global state. 2014-09-18 08:28:48 +0200 Stefan Sauer * tools/gst-stats.c: stats: fix cpu stats printing Only print them if we have them. Also scale them by 10.0 as the are in per-mille now. 2014-09-18 08:26:19 +0200 Stefan Sauer * gst/gsttracer.h: * gst/gsttracerutils.c: * gst/gsttracerutils.h: * plugins/tracers/gstlatency.c: * plugins/tracers/gstlog.c: * plugins/tracers/gstrusage.c: * plugins/tracers/gststats.c: tracers: eliminate var_args Register tracer hooks as GCallback. Use macros for hook dispatch and cast the hook functions back to the appropriate type. 2014-09-17 09:41:46 +0200 Stefan Sauer * tools/gst-stats.c: stats: don't warn on ".class" log lines 2014-09-17 08:38:02 +0200 Stefan Sauer * plugins/tracers/gstlatency.c: * plugins/tracers/gstrusage.c: * plugins/tracers/gstrusage.h: * plugins/tracers/gststats.c: * plugins/tracers/gststats.h: tracers: code cleanups Move static variables to instance variables. Add finalize methods. Remove code that is commented out. Cleanup locking code. 2014-09-15 22:27:11 +0200 Stefan Sauer * gst/gsttracer.h: * gst/gsttracerutils.c: * gst/gsttracerutils.h: * plugins/tracers/gstlatency.c: * plugins/tracers/gstlog.c: * plugins/tracers/gstrusage.c: * plugins/tracers/gststats.c: tracer: use GQuark or strings for the hook id This way one can define new tracing probes without changing the core. We are using our own quark table, as 1) we only want to initialize them if we're tracing, 2) we want to share them with the tracers. 2014-09-15 13:15:17 +0200 Stefan Sauer * gst/gsttracer.c: * gst/gsttracer.h: * gst/gsttracerutils.c: * gst/gsttracerutils.h: * plugins/tracers/gstlatency.c: * plugins/tracers/gstlog.c: * plugins/tracers/gstrusage.c: * plugins/tracers/gststats.c: tracer: simplify hook api Instead of a single invoke() function and a 'mask', register to individual hooks. This avoids one level of indirection and allows us to remove the hook enums. The message enms are now renamed to hook enums. 2014-09-12 18:43:52 +0200 Stefan Sauer * gst/gsttracer.c: * gst/gsttracer.h: * gst/gsttracerutils.c: * plugins/tracers/gstlatency.c: * plugins/tracers/gstlog.c: * plugins/tracers/gstrusage.c: * plugins/tracers/gststats.c: tracer: drop the HookId hid from the invoke method The MessageId is more detailed and anyway needed to interpret the varargs. 2014-09-12 11:17:41 +0200 Stefan Sauer * plugins/tracers/gststats.c: stats: fixup doc name and remove commented code 2014-09-12 08:40:01 +0200 Stefan Sauer * plugins/tracers/gstlatency.c: * plugins/tracers/gstrusage.c: * plugins/tracers/gststats.c: tracers: add metadata for the logged values 2014-09-11 13:02:51 +0200 Stefan Sauer * plugins/tracers/gstrusage.c: rusage: improve cpu load meassurements Get the number of cpus and scale process cpu-load accordingly. Switch the cpuload to be per-mille to get smoother graphs. Add a bit more logging and use the _OBJECT variant. 2014-09-11 13:00:59 +0200 Stefan Sauer * gst/gsttracer.c: tracer: remove commented code 2014-09-10 08:33:38 +0200 Stefan Sauer * docs/design/draft-tracing.txt: design: update tracer design Update the tracer event classes section. Add a performance section. 2014-09-10 08:32:18 +0200 Stefan Sauer * gst/gsttracer.c: tracer: use GST_PTR_FORMAT to log the structure This way we only expand the structure when we're logging. This allows us to meassure the pure tracing seperately from the logging. Also add some comments on further improvements. 2014-09-10 07:55:33 +0200 Stefan Sauer * plugins/tracers/gstrusage.c: * tools/gst-stats.c: rusage: implement windowing of cpuload Add a local help to the rusage plugin that supports windowing of values. We want to generalize this for use in other plugins. 2014-09-04 10:11:52 +0200 Stefan Sauer * plugins/tracers/gstrusage.c: * tools/gst-stats.c: rusage: announce the data format Rusage will now announce what is meassures and how it is logged. Use the new format in stats. Cleanup the the code and naming. 2014-07-28 22:08:49 +0200 Stefan Sauer * plugins/tracers/gstrusage.c: * tools/gst-stats.c: stats: improve cpu load meassurements Rename variables for clarity. Handle the initial disparity between debug time and the time already spent in the proc and main thread. 2014-07-18 08:09:32 +0200 Stefan Sauer * docs/design/draft-tracing.txt: design: update tracer design 2014-07-28 08:49:38 +0200 Stefan Sauer * gst/gstquark.c: * gst/gstquark.h: quarks: revert the quark changes, we not using them anymore 2014-07-18 07:49:38 +0200 Stefan Sauer * gst/Makefile.am: * gst/gst.h: * gst/gst_private.h: * gst/gstelement.c: * gst/gstpad.c: * gst/gstregistrychunks.c: * gst/gsttracer.c: * gst/gsttracer.h: * gst/gsttracerfactory.c: * gst/gsttracerfactory.h: * gst/gsttracerutils.c: * gst/gsttracerutils.h: * plugins/tracers/Makefile.am: * plugins/tracers/gstlatency.h: * plugins/tracers/gstlog.h: * plugins/tracers/gstrusage.h: * plugins/tracers/gststats.h: tracer: split into tracer and tracerutils Keep tracer base class in tracer and move core support into the utils module. Add a unstable-api guard to the tracer.h so that external modules would need to acknowledge the status by setting GST_USE_UNSTABLE_API. 2014-07-16 18:48:52 +0200 Stefan Sauer * gst/gsttracer.c: * gst/gsttracerfactory.c: * plugins/tracers/gstlatency.c: * plugins/tracers/gstlog.c: * plugins/tracers/gstrusage.c: * plugins/tracers/gststats.c: docs: add gtk-doc blobs 2014-02-20 11:15:20 +0100 Stefan Sauer * plugins/tracers/gstlatency.c: latency: take stop time when buffer is handled Now we meassure time from 'before buffer transfer on src' to when the 'buffer is processed on sink'. 2014-07-15 09:49:23 +0200 Stefan Sauer * gst/gsttracer.c: * gst/gsttracer.h: * plugins/tracers/gstlatency.c: * plugins/tracers/gstrusage.c: * plugins/tracers/gststats.c: tracers: add a logging helper to remove identical copies from the tracers 2014-02-18 16:15:44 +0100 Stefan Sauer * plugins/tracers/gstlatency.c: * plugins/tracers/gststats.c: tracers: tweak the get_real_pad_parent() By using the we ended up on the actual element, not the parent. 2014-02-18 11:06:10 +0100 Stefan Sauer * plugins/tracers/Makefile.am: * plugins/tracers/gstlatency.c: * plugins/tracers/gstlatency.h: * plugins/tracers/gsttracers.c: tracers: add a new latency tracer Add a new tracer with pushes extra events to meassure src-to-sink processing latency. 2014-02-17 18:30:24 +0100 Stefan Sauer * docs/design/draft-tracing.txt: design: update design docs Add new tracer idea. 2013-11-22 19:10:04 +0100 Stefan Sauer * tools/gst-stats.c: gst-stats: use the rusage stats Add cpuload info from rusage traces. 2013-11-20 08:22:58 +0100 Stefan Sauer * configure.ac: * plugins/tracers/Makefile.am: * plugins/tracers/gstrusage.c: * plugins/tracers/gstrusage.h: * plugins/tracers/gsttracers.c: rusage: add a new rusage tracer The tracer hooks up to all probes and logs resource usage figures. 2014-07-15 10:20:22 +0200 Stefan Sauer * tools/gst-stats.c: gst-stats: filter complete thread section if we have no pads 2013-11-19 08:04:38 +0100 Stefan Sauer * plugins/tracers/gststats.c: * tools/gst-stats.c: stats: improve the handling of parentage Log new object after we did the check for parents. 2013-11-17 11:37:14 +0100 Stefan Sauer * tools/gst-stats.c: stats: print thread key for stats and filter empty pad-sections 2013-11-17 11:15:36 +0100 Stefan Sauer * tools/gst-stats.c: stats: update buffer flags Remove some buffer flags that were leftovers from 0.10 and handle new 1.0 buffer flags. 2013-11-04 20:11:09 +0100 Stefan Sauer * plugins/tracers/gststats.c: * plugins/tracers/gststats.h: * tools/.gitignore: * tools/Makefile.am: * tools/gst-stats.c: stats: add a stats frontend Parse the log and collect data from tracer messages. 2013-11-15 09:36:21 +0100 Stefan Sauer * gst/gsttracer.h: tracer: use the same timebase as the logging 2014-07-16 09:22:37 +0200 Stefan Sauer * docs/design/draft-tracing.txt: design: update design 2014-07-16 09:41:48 +0200 Stefan Sauer * plugins/tracers/gstlog.c: log: add query log category 2013-11-02 18:24:56 +0100 Stefan Sauer * gst/gsttracer.c: tracer: parse parameters 2014-07-16 09:22:14 +0200 Stefan Sauer * gst/gstelement.c: * gst/gstpad.c: * gst/gsttracer.h: * plugins/tracers/Makefile.am: * plugins/tracers/gstlog.c: * plugins/tracers/gststats.c: tracer: add more hooks and handle it in the plugins 2013-10-30 08:19:41 +0100 Stefan Sauer * plugins/tracers/gststats.c: stats: handle buffer lists 2013-10-30 08:04:27 +0100 Stefan Sauer * docs/design/draft-tracing.txt: * plugins/tracers/gstlog.c: log: make the log tracer more verbose again Define log formats per message type and print details. 2013-10-28 21:59:19 +0100 Stefan Sauer * gst/gsttracer.c: * gst/gsttracer.h: * plugins/tracers/gstlog.c: * plugins/tracers/gststats.c: tracer: use a macros for the enabled check Avoid a function call and check the variables from the macro. 2013-10-28 21:39:52 +0100 Stefan Sauer * docs/design/draft-tracing.txt: * gst/gstpad.c: * gst/gsttracer.c: * gst/gsttracer.h: tracer: use macros for hooks Wrap the hook with a pre and post macro. This looks less intrusive than the previous version, although it is a little less optimized. 2013-10-28 21:28:18 +0100 Stefan Sauer * gst/gstpad.c: * gst/gstquark.c: * gst/gsttracer.c: * gst/gsttracer.h: * plugins/tracers/gstlog.c: * plugins/tracers/gststats.c: tracer: pass the timestamp directly Avoid the structure mashalling (and weird field naming). 2013-10-28 08:08:20 +0100 Stefan Sauer * plugins/tracers/Makefile.am: * plugins/tracers/gststats.c: * plugins/tracers/gststats.h: * plugins/tracers/gsttracers.c: stats: add a tracer that collects pipeline statistics This is more or less equiv to the the statistics in gst-tracelib. 2013-10-28 08:07:52 +0100 Stefan Sauer * plugins/tracers/gstlog.h: log: add cast macro 2013-10-27 20:43:25 +0100 Stefan Sauer * gst/gsttracer.c: * gst/gsttracer.h: * plugins/tracers/gstlog.c: tracer: pass the instance to the vmethod 2013-10-27 17:05:52 +0100 Stefan Sauer * docs/design/draft-tracing.txt: * plugins/tracers/gstlog.c: design: more planning 2013-10-27 17:04:32 +0100 Stefan Sauer * gst/gstpad.c: * gst/gstquark.c: * gst/gstquark.h: * gst/gsttracer.c: * gst/gsttracer.h: tracer: switch to quarks and add another hook for buffer flow Use pre-defines quarks as this will be called quite often. 2013-10-27 12:45:54 +0100 Stefan Sauer * docs/design/draft-tracing.txt: * gst/gsttracer.c: * gst/gsttracer.h: * plugins/tracers/gstlog.c: tracer: add the hook-id to the invoke signature Tracers that subscribe to multiple hooks can know what hook was used. 2013-10-26 22:05:13 +0200 Stefan Sauer * tools/gst-inspect.c: inspect: add support for the new factory Handle tracer modules. 2013-10-24 14:47:48 +0200 Stefan Sauer * configure.ac: * docs/design/draft-tracing.txt: * gst/Makefile.am: * gst/gst.c: * gst/gst.h: * gst/gst_private.h: * gst/gstpad.c: * gst/gstregistrybinary.h: * gst/gstregistrychunks.c: * gst/gsttracer.c: * gst/gsttracer.h: * gst/gsttracerfactory.c: * gst/gsttracerfactory.h: * plugins/Makefile.am: * plugins/tracers/.gitignore: * plugins/tracers/Makefile.am: * plugins/tracers/gstlog.c: * plugins/tracers/gstlog.h: * plugins/tracers/gsttracers.c: tracer: initial prototype for the tracing subsystem 2015-10-05 11:12:47 +0900 Vineeth TM * tests/check/gst/gsttag.c: * tools/gst-launch.c: tests/gst-launch: Fix sample memory leak When sample is got using gst_tag_list_get_sample_index, it should be free'd. https://bugzilla.gnome.org/show_bug.cgi?id=756069 2015-10-02 22:17:04 +0300 Sebastian Dröge * configure.ac: * gst/gst.c: * gst/gsturi.c: * gst/gstvalue.c: Update GLib dependency to 2.40.0 2015-08-20 16:21:59 +0900 Vineeth TM * docs/manual/advanced-dataaccess.xml: * docs/manual/appendix-integration.xml: * docs/manual/basics-init.xml: * libs/gst/helpers/gst-completion-helper.c: * libs/gst/helpers/gst-ptp-helper.c: * tests/benchmarks/capsnego.c: * tests/examples/ptp/ptp-print-times.c: * tools/gst-inspect.c: * tools/gst-launch.c: * tools/gst-typefind.c: gstreamer: Fix memory leaks when context parse fails When g_option_context_parse fails, context and error variables are not getting free'd which results in memory leaks. Free'ing the same. And replacing g_error_free with g_clear_error, which checks if the error being passed is not NULL and sets the variable to NULL on free'ing. https://bugzilla.gnome.org/show_bug.cgi?id=753851 2015-09-23 23:03:29 +0200 Jan Alexander Steffens (heftig) * libs/gst/controller/gsttimedvaluecontrolsource.c: timedvaluecontrolsource: Use g_sequence_lookup where possible When looking for exact matches in the sequence, this results in much simpler code than when using g_sequence_search. https://bugzilla.gnome.org/show_bug.cgi?id=755498 2015-10-01 22:09:58 +0200 Stefan Sauer * libs/gst/controller/gstinterpolationcontrolsource.c: interpolationcontrolsource: fix write over the array size The '++' got incidentially added during the refactoring in 2fe3939ce7ea84c45dd922e7f1097dd07f11fc5d. 2015-09-30 17:29:16 +0200 Stefan Sauer * libs/gst/controller/gsttimedvaluecontrolsource.h: * tests/check/libs/struct_arm.h: * tests/check/libs/struct_hppa.h: * tests/check/libs/struct_i386.h: * tests/check/libs/struct_ppc32.h: * tests/check/libs/struct_ppc64.h: * tests/check/libs/struct_sparc.h: * tests/check/libs/struct_x86_64.h: controlpoint: change the padding to be of arch-independent size The default padding I introduced in d4f81fb4e62d34a4c1dabc65b23ede7ce7694c63 is actually only 4 pointers and on 32bit platforms already smaller than the union. Replace it with a fixed 64byte padding. Don't add the normal padding for now. Fixes #755822 2015-08-21 17:42:52 +0100 Luis de Bethencourt * scripts/gst-uninstalled: gstreamer-uninstalled: add path for OpenCV haar cascade files Some OpenCV plugins use haar cascade files that are included in the GStreamer sources. To be able to use these from uninstalled, they need to be found through an environment variable. Adding this environment variable pointing to haar cascade files to gst-uninstalled. 2015-09-28 16:01:55 +0100 Tim-Philipp Müller * libs/gst/check/gstcheck.c: 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 16:45:47 +0200 Stefan Sauer * tests/examples/manual/Makefile.am: tests: fix the manual tests by setting the right env-vars 2015-09-28 16:22:36 +0200 Stefan Sauer * libs/gst/controller/gstdirectcontrolbinding.h: directcontrolbinding: fix formatting 2015-09-28 16:21:55 +0200 Stefan Sauer * libs/gst/base/gstindex.h: index: mark two structs that don't have abi padding 2015-09-28 16:19:40 +0200 Stefan Sauer * libs/gst/controller/gsttimedvaluecontrolsource.h: * tests/check/libs/struct_arm.h: * tests/check/libs/struct_hppa.h: * tests/check/libs/struct_i386.h: * tests/check/libs/struct_ppc32.h: * tests/check/libs/struct_ppc64.h: * tests/check/libs/struct_sparc.h: * tests/check/libs/struct_x86_64.h: 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-24 00:04:48 +1000 Matthew Waters * docs/gst/gstreamer-sections.txt: * gst/gstbin.c: * gst/gstelement.c: * gst/gstelement.h: * tests/check/gst/gstcontext.c: * win32/common/libgstreamer.def: 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-07 09:39:32 +0200 Stefan Sauer * libs/gst/controller/gstinterpolationcontrolsource.c: * libs/gst/controller/gstinterpolationcontrolsource.h: * libs/gst/controller/gsttimedvaluecontrolsource.h: 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-07 09:37:05 +0200 Stefan Sauer * libs/gst/controller/gstinterpolationcontrolsource.c: interpolationcontrolsource: refactor code Extract common code that looks up the control-points around the timestamp. Add some comments for future investigation. 2015-09-04 16:38:37 +0200 Stefan Sauer * configure.ac: * tests/examples/controller/.gitignore: * tests/examples/controller/Makefile.am: * tests/examples/controller/controller-graph.c: 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-09 11:55:28 -0300 Thiago Santos * plugins/elements/gstcapsfilter.c: capsfilter: remove proxying of accept-caps downstream The design is to only do a local check 2015-08-25 19:37:30 -0300 Thiago Santos * gst/gstpad.c: 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 11:03:24 +0100 Tim-Philipp Müller * libs/gst/check/gstharness.c: harness: minor doc fixes 2015-09-02 17:58:38 +0300 Vivia Nikolaidou * docs/gst/gstreamer-sections.txt: * gst/gstsegment.c: * gst/gstsegment.h: * libs/gst/base/gstbasesink.c: * tests/check/gst/gstsegment.c: * win32/common/libgstreamer.def: 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-02 17:38:25 +0300 Vivia Nikolaidou * tests/check/gst/gstsegment.c: segment: Added unit tests for gst_segment_position_from_stream_time 2015-09-25 15:57:16 +0300 Vivia Nikolaidou * gst/gstsegment.c: segment: gst_segment_to_stream_time: Renamed 'result' to 'stream_time' Renamed the "result" variable to "stream_time" for better readability. 2015-09-25 15:56:45 +0300 Vivia Nikolaidou * docs/gst/gstreamer-sections.txt: * gst/gstsegment.c: * gst/gstsegment.h: * win32/common/libgstreamer.def: 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-02 16:36:35 +0300 Vivia Nikolaidou * docs/design/part-synchronisation.txt: * gst/gstsegment.h: segment: Rewording of struct field descriptions The new wording makes it easier to understand exactly what each field of the GstSegment struct represents. 2015-08-31 15:35:11 +0300 Sebastian Dröge * gst/gstevent.c: 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-16 23:40:44 +0200 Sebastian Dröge * tests/check/gst/gsturi.c: 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:51:03 +0200 Sebastian Dröge * configure.ac: Back to development === release 1.6.0 === 2015-09-25 23:14:33 +0200 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * gstreamer.doap: * win32/common/config.h: * win32/common/gstversion.h: Release 1.6.0 2015-09-25 22:41:16 +0200 Sebastian Dröge * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files 2015-09-25 10:18:07 +0900 Vineeth TM * libs/gst/net/gstptpclock.c: ptpclock: Fix error leak during failures https://bugzilla.gnome.org/show_bug.cgi?id=755607 2015-09-21 13:58:51 +0200 Stian Selnes * plugins/elements/gstfunnel.c: * tests/check/elements/funnel.c: 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-21 15:22:19 +0200 Stian Selnes * gst/gstbin.c: * gst/gstelement.c: 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 10:23:14 +0200 Havard Graff * libs/gst/check/gstharness.c: * tests/check/libs/gstharness.c: harness: don't crash when adding a sink-harness without h->sinkpad https://bugzilla.gnome.org/show_bug.cgi?id=755511 2015-09-23 20:31:48 +0200 Sebastian Dröge * libs/gst/base/gstbasetransform.c: basetransform: Print buffer PTS when submitting an input buffer 2015-09-21 14:58:46 +0900 Eunhae Choi * plugins/elements/gstinputselector.c: 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-19 16:57:26 +0530 Vikram Fugro * gst/gstcaps.c: * gst/gstpad.h: 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 === release 1.5.91 === 2015-09-18 19:07:18 +0200 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * gstreamer.doap: * win32/common/config.h: * win32/common/gstversion.h: Release 1.5.91 2015-09-18 19:07:10 +0200 Sebastian Dröge * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files 2015-09-18 11:49:03 +0200 Sebastian Dröge * po/zh_CN.po: po: Update translations 2015-09-15 10:56:40 +0900 Vineeth TM * libs/gst/check/gstcheck.c: * plugins/elements/gstdownloadbuffer.c: * tests/benchmarks/gstbufferstress.c: * tests/benchmarks/gstclockstress.c: * tests/benchmarks/gstpollstress.c: downloadbuffer, benchmarks: fix error leaks in failure code paths https://bugzilla.gnome.org/show_bug.cgi?id=755019 2015-09-15 10:52:55 +0900 Vineeth TM * libs/gst/check/gstcheck.c: check: Fix indentation https://bugzilla.gnome.org/show_bug.cgi?id=755019 2015-09-15 18:05:11 +0100 Tim-Philipp Müller * gst/gstbufferpool.c: bufferpool: sprinkle some allow-none and out annotations for g-i 2015-09-14 11:01:11 +0900 Vineeth TM * gst/gstbin.c: bin: fix typo in log message when threadpool alloc fails https://bugzilla.gnome.org/show_bug.cgi?id=754975 2015-09-11 17:58:48 +0300 Igor Rondarev * configure.ac: * gst/Makefile.am: 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-09 13:10:04 +0530 Arun Raghavan * docs/gst/gstreamer-sections.txt: Revert "docs: Make sure gst_debug_bin_to_dot_data() is documented" This reverts commit 0dffeb03018d12be522c2d97aaaf8102153bd7c0. The commit is erroneous and documents the function twice. 2015-07-23 12:18:51 +0530 Arun Raghavan * docs/gst/gstreamer-sections.txt: docs: Make sure gst_debug_bin_to_dot_data() is documented Thanks to Nirbheek Chauhan for pointing this out. 2015-08-05 10:07:50 +0200 Stian Selnes * libs/gst/check/gstharness.c: * tests/check/libs/gstharness.c: 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-08-05 09:59:39 +0200 Stian Selnes * libs/gst/check/gstharness.c: 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-06 09:58:09 +0100 Tim-Philipp Müller * docs/plugins/gstreamer-plugins.signals: docs: remove signal that no longer exists from docs 2015-09-05 11:20:49 +0100 Tim-Philipp Müller * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: po: update for translated string changes 2015-09-05 11:18:27 +0100 Tim-Philipp Müller * tools/gst-launch.c: 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-08-31 12:07:10 +0100 Tim-Philipp Müller * plugins/elements/gstqueue2.c: 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 7b0b93dafe4ac547552cdb66ade5d8aa0405e7b4. https://bugzilla.gnome.org/show_bug.cgi?id=753887 2015-08-29 20:14:44 +0200 Havard Graff * libs/gst/check/gstharness.c: 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-26 09:29:05 -0300 Thiago Santos * tests/check/gst/gstevent.c: 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-24 21:04:37 +0300 Vivia Nikolaidou * gst/gstbin.c: * tests/check/gst/gstbin.c: 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-21 14:28:48 -0700 Nicolas Dufresne * libs/gst/base/gstbasetransform.c: 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-07 15:39:59 -0400 Nicolas Dufresne * tests/check/libs/basesrc.c: 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-19 11:46:07 +0200 Thibault Saunier * scripts/gst-uninstalled: bin: Add NLE to GST_PLUGIN_PATH === release 1.5.90 === 2015-08-19 12:50:56 +0300 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/gstreamer-plugins.args: * docs/plugins/inspect/plugin-coreelements.xml: * gstreamer.doap: * win32/common/config.h: * win32/common/gstenumtypes.c: * win32/common/gstversion.h: Release 1.5.90 2015-08-19 12:33:41 +0300 Sebastian Dröge * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files 2015-08-19 11:17:29 +0300 Sebastian Dröge * po/zh_CN.po: po: Update translations 2015-08-18 15:44:02 +0100 Tim-Philipp Müller * libs/gst/base/gstbaseparse.c: baseparse: avoid tag list spam if upstream provides bitrate tags already Explicitly keep track again whether upstream tags or parser tags already contain bitrate information, and only force a tag update for a bitrate if we are actually going to add the bitrate to the taglist later. This fixes constant re-sending of the same taglist, because upstream provided a bitrate already and we didn't add it, so we didn't save the 'posted' bitrate, which would then in turn again trigger the 'bitrate has changed too much, update tags' code path. Fixes tag spam with m4a files for example. https://bugzilla.gnome.org/show_bug.cgi?id=679768 2015-08-17 22:06:11 +0200 Stefan Sauer * gst/gstdebugutils.c: debugutils: bring the dot style a bit closer to what we use in the docs Use round corners for bins and elements. Put sink pads on the left and src pads on the right of elements. 2015-08-15 18:30:15 +0100 Tim-Philipp Müller * libs/gst/base/gstbaseparse.c: baseparse: fix tag handling In 0.10 there were no sticky events, and all tag events sent would just be merged with the previously-received tags. In 1.x we have sticky events, and the tags in the tag event(s) should at all times carry the complete tags, so we can't just push some tags and then just push tags with just bitrates to update the bitrates, etc. Instead we need to keep track of the upstream stream tags received, of the tags set by the video decoder subclass, and send an updated tag event with the combined tags including our own bitrate tags (if applicable) whenever the upstream tags, the subclass tags or any of our bitrates change. https://bugzilla.gnome.org/show_bug.cgi?id=679768 2015-08-16 10:15:56 +0100 Tim-Philipp Müller * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbaseparse.h: * win32/common/libgstbase.def: baseparse: add API for subclass to set tags This is needed so that we can do proper tag handling all around, and combine the upstream tags with the tags set by the subclass and any extra tags the base class may want to add. API: gst_base_parse_merge_tags() https://bugzilla.gnome.org/show_bug.cgi?id=679768 2015-08-15 16:01:28 +0100 Tim-Philipp Müller * libs/gst/base/gstbaseparse.c: baseparse: save upstream stream tags We'll need those later. https://bugzilla.gnome.org/show_bug.cgi?id=679768 2015-08-15 16:39:40 +0100 Tim-Philipp Müller * libs/gst/base/gstbaseparse.c: baseparse: minor code simplification Use gst_pad_peer_query_duration() and remove a few unnecessary levels of indentation. Rest of code might looks a bit questionable, but leave it as is for now. 2015-08-15 17:59:21 +0200 Sebastian Dröge * gst/gstpad.c: pad: Break sticky event array iterations if the type is bigger than the one we look for Microoptimization we can do because the array is sorted by type. 2015-04-29 15:49:17 +0200 Edward Hervey * gst/gstpad.c: * gst/gstpad.h: * tests/check/gst/gstpad.c: gstpad: Add a new GST_PROBE_HANDLED return value for probes In some cases, probes might want to handle the buffer/event/query themselves and stop the data from travelling further downstream. While this was somewhat possible with buffer/events and using GST_PROBE_DROP, it was not applicable to queries, and would result in the query failing. With this new GST_PROBE_HANDLED value, the buffer/event/query will be considered as successfully handled, will not be pushed further and the appropriate return value (TRUE or GST_FLOW_OK) will be returned This also allows probes to return a non-default GstFlowReturn when dealing with buffer push. This can be done by setting the GST_PAD_PROBE_INFO_FLOW_RETURN() field accordingly https://bugzilla.gnome.org/show_bug.cgi?id=748643 2015-08-15 13:25:35 +0200 Mathieu Duponchelle * gst/gstversion.h.in: gstversion: Add missing include in .in file. 2015-08-11 00:35:21 +0200 Mathieu Duponchelle * gst/glib-compat.h: * gst/gstallocator.h: * gst/gstatomicqueue.h: * gst/gstcapsfeatures.h: * gst/gstclock.h: * gst/gstcompat.h: * gst/gstcontext.h: * gst/gstdeviceprovider.h: * gst/gstelementmetadata.h: * gst/gstmacros.h: * gst/gstmemory.h: * gst/gstmeta.h: * gst/gstpad.h: * gst/gstpluginloader.h: * gst/gstquark.h: * gst/gsttrace.h: Headers: add missing includes. 2015-08-15 06:41:14 -0300 Thiago Santos * docs/gst/gstreamer-sections.txt: docs: add the new pad accept-template flag to the docs 2015-08-14 22:44:50 +0530 Nirbheek Chauhan * docs/libs/gstreamer-libs-sections.txt: docs: section entry missing for gst_direct_control_binding_new_absolute 2015-08-14 08:14:52 -0300 Thiago Santos * tests/check/gst/gstpad.c: tests: pad: tests for accept-caps default handling Check if all the default 4 accept-caps possibilities are working: subset or intersect check and query-caps or template caps comparisons. https://bugzilla.gnome.org/show_bug.cgi?id=753623 2015-08-14 07:51:07 -0300 Thiago Santos * gst/gstpad.c: * gst/gstpad.h: pad: add GST_PAD_FLAG_ACCEPT_TEMPLATE It will make the default accept-caps handler use the pad template caps instead of the query-caps result to check if the caps is acceptable. This is aligned with what the design docs says the accept-caps should do (be non-recursive) and should be faster. It is *not* enabled by default, though. API: GST_PAD_FLAG_ACCEPT_TEMPLATE API: GST_PAD_IS_ACCEPT_TEMPLATE API: GST_PAD_SET_ACCEPT_TEMPLATE API: GST_PAD_UNSET_ACCEPT_TEMPLATE https://bugzilla.gnome.org/show_bug.cgi?id=753623 2015-08-14 11:10:03 +0200 Edward Hervey * tests/check/generic/states.c: check: Rename states unit test Makes it easier to differentiate from other modules states unit test 2015-08-13 13:08:03 -0300 Thiago Santos * libs/gst/base/gstbasetransform.c: basetransform: rework accept-caps According to the design docs: The ACCEPT_CAPS query is not required to work recursively, it can simply return TRUE if a subsequent CAPS event with those caps would return success. So make it a shallow check instead of recursivelly check downstream. https://bugzilla.gnome.org/show_bug.cgi?id=748635 2015-08-13 12:44:29 -0300 Thiago Santos * libs/gst/base/gstbasetransform.c: basetransform: remove some dead code Doesn't seem like it is going to get back to life anytime soon Also removes a {} block that was likely used to keep the dead code around. 2015-08-11 08:07:53 -0300 Thiago Santos * libs/gst/base/gstbasetransform.c: basetransform: respect accept-caps intersect flag GstPad has a flag for suggesting if the accept-caps query should use intersect instead of the default subset caps operation to verify if the caps would be acceptable. basetransform currently always uses the subset check and this patch makes it honor the flag for using intersect if it is set. https://bugzilla.gnome.org/show_bug.cgi?id=748635 2015-08-12 13:12:38 +0900 Vineeth TM * libs/gst/base/gstbasetransform.c: basetransform: remove unreachable return statement https://bugzilla.gnome.org/show_bug.cgi?id=753538 2015-08-11 11:09:24 +0100 Tim-Philipp Müller * tests/check/libs/.gitignore: tests: ignore new harness test binary 2015-08-10 15:31:37 +0300 Vivia Nikolaidou * gst/gstdatetime.c: * tests/check/gst/gstdatetime.c: datetime: accept just a time as ISO 8601 string and use today's date then If no date and only a time is given in gst_date_time_new_from_iso8601_string(), assume that it is "today" and try to parse the time-only string. "Today" is assumed to be in the timezone provided by the user (if any), otherwise Z - just like the behavior of the existing code. https://bugzilla.gnome.org/show_bug.cgi?id=753455 2015-07-24 00:41:57 +0200 Havard Graff * docs/libs/gstreamer-libs-sections.txt: * libs/gst/check/Makefile.am: * libs/gst/check/gstharness.c: * libs/gst/check/gstharness.h: * tests/check/Makefile.am: * tests/check/libs/gstharness.c: harness: add _set_forwarding function To be able to disable the slightly "magic" forwarding of the necessary events between the harnesses. Also introduce a new test-suite for GstHarness, that documents the feature, and should hopefully expand into documenting most of the features the harness possesses. https://bugzilla.gnome.org/show_bug.cgi?id=752746 2015-08-08 17:59:51 +0200 Wim Taymans * gst/gstdevicemonitor.c: devicemonitor: fix provider leak 2015-08-08 15:28:19 +0200 Edward Hervey * gst/gstpad.c: pad: Fix previous commit We want to get the caps query *result* 2015-07-16 18:56:00 +0200 Wim Taymans * gst/gstdevicemonitor.c: * gst/gstdevicemonitor.h: * gst/gstdeviceprovider.c: * gst/gstdeviceprovider.h: * win32/common/libgstreamer.def: deviceprovider: Add method to hide devices from a provider Add methods to add/remove the providers that should be hidden by this provider. Also make a method to get a list of hidden providers. This makes it possible to have multiple systems monitor the same devices and remove duplicates. Add a property to see all devices, even duplicate ones from hidden providers. 2015-08-08 14:42:52 +0200 Edward Hervey * gst/gstpad.c: pad: get_allowed_caps() should go through both pads The previous implementation was doing a direct call to the peer pad, which resulted in query probes never being called on the original pad. Instead of that, get the peer pad caps by using gst_pad_peer_query() which will call probes in the expected fashion. 2015-08-07 10:08:21 +0900 Vineeth TM * gst/gstvalue.c: value: free caps during failure While calling gst_value_deserialize_sample, if there is a failure after caps is ref'ed, then caps is getting leaked. Hence checking for caps in fail: goto condition and unref'ing it https://bugzilla.gnome.org/show_bug.cgi?id=753338 2015-07-21 13:35:33 +0200 Thibault Saunier * gst/gst_private.h: * gst/gstplugin.c: * gst/gstregistry.c: registry: Add plugins to the registry we are loading and not default one When running gst_registry_scan_plugin_file we were losing the information about the registry being loaded and ended up adding the plugin to the default registry which was not correct. https://bugzilla.gnome.org/show_bug.cgi?id=752662 2015-08-05 15:51:27 -0400 Nicolas Dufresne * libs/gst/base/gstbasesink.c: basesink: Only drop buffer if their PTS is out of segment As of now, even for stream completly inside segment, there is no guarantied that the DTS will be inside the segment. Specifically for H.264 with B-Frames, the first few frames often have DTS that are before the segment. Instead of using the sync timestamp to clip out of segment buffer, take the duration from the start/stop provided by the sub-class, and check if the pts and pts_end is out of segment. https://bugzilla.gnome.org/show_bug.cgi?id=752791 2015-08-05 14:05:25 +0100 Luis de Bethencourt * libs/gst/check/gstharness.c: harness: don't run code inside g_assert Even though asserts can't be disabled in GstHarness, Coverity still complains about running code inside them. Moving the code to outside the g_asserts(). CID #1311326, #1311327, #1311328 2015-07-17 10:18:02 +0200 Wim Taymans * gst/gstdevicemonitor.c: * gst/gstdevicemonitor.h: * win32/common/libgstreamer.def: devicemonitor: get a list of currently monitored providers Get a list of the currently monitored providers. 2015-08-02 17:38:14 +0200 George Kiagiadakis * gst/gstpad.c: pad: fix invalid unref after IDLE probe on non-OK flow return In case there is an IDLE probe fired from gst_pad_push_data and it doesn't return GST_FLOW_OK, the code jumps to the probe_stopped label which tries to unref the data object. However, at this point the data object belongs downstream and must not be touched. By setting data = NULL, the code skips this unref. https://bugzilla.gnome.org//show_bug.cgi?id=753151 2015-08-04 20:08:04 +1000 Jan Schmidt * gst/gstbuffer.c: buffer: Fix the name of the parentbuffermeta debug category. Don't use 'glbufferrefmeta' as the debug category for the parent buffer meta. 2015-08-04 13:45:09 +0900 Eunhae Choi * plugins/elements/gstqueue2.c: queue2: not update upstream size with negative value upstream_size can be negative but queue->upstream_size is unsigned type. to get a chance to update queue->upstream_size in gst_queue2_get_range() it should keep the default value. https://bugzilla.gnome.org/show_bug.cgi?id=753011 2015-08-04 19:59:28 +1000 Jan Schmidt * gst/gstbuffer.c: * win32/common/libgstreamer.def: buffer: Remove extra debug symbol from exports Don't export the debug variable for the parent_buffer_meta. This was accidentally exported and shouldn't be public 2015-08-04 00:11:24 +0200 Stefan Sauer * plugins/elements/gstfilesink.c: filesink: use GST_INFO_OBJECT for more detail Helps to distiguish multiple filesinks. 2015-07-30 17:29:25 +0100 Tim-Philipp Müller * gst/gstinfo.h: docs: info: remove 0.8 terminology from log level description We don't "iterate" bins or pipelines any more. 2015-07-30 12:17:16 +0100 Tim-Philipp Müller * tests/check/libs/baseparse.c: tests: baseparse: fix buffer leak in unit test Fixes make check-valgrind 2015-07-28 21:14:22 -0400 Nicolas Dufresne * gst/gstsegment.h: doc/seekflags: Fix cross references This fixes miss-use of @ instead of % to refer to enumeration values. 2015-07-28 22:30:54 +0100 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: docs: add a few more new symbols and defines 2015-07-28 16:57:43 -0400 Nicolas Dufresne * plugins/elements/gstcapsfilter.h: doc/capsfilter: Document filtering modes This is documentation for the HTML documentation. 2015-07-28 16:50:55 -0400 Nicolas Dufresne * docs/plugins/gstreamer-plugins-sections.txt: * plugins/elements/gstfilesink.c: * plugins/elements/gstfilesink.h: doc/filesink: Add BufferMode enumeration This is purely for documentation purpose. This way the values will show up in the HTML documentation. 2015-07-28 15:50:40 -0400 Nicolas Dufresne * libs/gst/check/gstharness.c: doc/gsthardness: Fix typo in GstAllocationParams It's not GstAllocatorParams but GstAllocationParams. 2015-07-28 15:46:09 -0400 Nicolas Dufresne * libs/gst/check/gstharness.c: doc/gstharness: Remove unknown parameter sink_elenment_name is not a parameter of gst_harness_add_sink_harness() function, but still it show up in documentation. 2015-07-28 12:19:04 +0300 Sebastian Dröge * plugins/elements/gstcapsfilter.c: * plugins/elements/gstcapsfilter.h: capsfilter: Only remember previous filter caps if they were actually used for something If nobody ever saw the previous filter caps, nothing could've negotiated with them and we can just pretend they never existed at all. 2015-07-28 12:16:12 +0300 Sebastian Dröge * plugins/elements/gstcapsfilter.c: capsfilter: When switching caps change modes, forget all previous caps 2015-07-23 18:15:05 -0400 Olivier Crête * libs/gst/base/gstbasetransform.c: basetransform: Return FLOW_FLUSHING if negotiation fails during shutdown https://bugzilla.gnome.org/show_bug.cgi?id=752800 2015-07-22 18:55:29 -0400 Olivier Crête * libs/gst/check/gstharness.c: harness: Fix indendation 2015-07-21 13:14:59 -0400 Nicolas Dufresne * libs/gst/base/gstbasetransform.c: basetransform: Avoid increasing query reference gst_query_find_allocation_meta() requires the query to be writable to work. This patch ensure avoids taking a reference on the query, so we can now check if a certain allocation meta is present. https://bugzilla.gnome.org/show_bug.cgi?id=752661 2015-07-22 15:38:06 +0100 Tim-Philipp Müller * gst/gstbuffer.c: docs: fix description of gst_buffer_extract_dup() No GBytes involved. 2015-07-21 00:17:28 -0300 Thiago Santos * plugins/elements/gstconcat.c: concat: dot not reset pad states too early Resetting the flushing state of the pads at the end of the PAUSED_TO_READY transition will make pads handle serialized queries again which will wait for non-active pads and might cause deadlocks when stopping the pipeline. Move the reset to the READY_TO_PAUSED instead. https://bugzilla.gnome.org/show_bug.cgi?id=752623 2015-07-20 16:18:06 +0200 Havard Graff * docs/libs/gstreamer-libs-sections.txt: * libs/gst/check/Makefile.am: * libs/gst/check/gstharness.c: * libs/gst/check/gstharness.h: harness: add functions for adding sub-harnesses directly By introducing gst_harness_add_src_harness and gst_harness_add_sink_harness we collect all sub-harness setup in one function, making the previous sub-harness creation functions now calls these directly, and making it much easier (and less error-prone) to add your own src or sink-harness using the more generic harness-creation functions. 2015-07-17 17:44:52 -0400 Nicolas Dufresne * libs/gst/base/gstbaseparse.c: baseparse: Don't override gst_segment_do_seek() This line has no purpose, clearly gst_segment_do_seek() is doing the right job, also, having the start time (a timestamp) be that same as time (the stream time) is quite odd. https://bugzilla.gnome.org/show_bug.cgi?id=750783 2015-07-17 17:43:26 -0400 Nicolas Dufresne * libs/gst/base/gstbaseparse.c: baseparse: Fix extrapolation of seeksegment.stop The stop shall be relative to start if extrapolated from the duration. https://bugzilla.gnome.org/show_bug.cgi?id=750783 2015-07-16 18:47:20 +0200 Wim Taymans * gst/gstdevicemonitor.c: devicemonitor: do start and stop outside of the lock Release the monitor lock when calling the provider start/stop methods. Because we release the lock now, We need to make sure we check the cookie again and keep track of started and removed providers. 2015-07-16 18:43:06 +0200 Wim Taymans * gst/gstdeviceprovider.c: * gst/gstdeviceprovider.h: deviceprovider: small cleanups Protect against wrong arguments. Clean up the header file indentation. 2015-07-16 17:25:24 +0200 Wim Taymans * gst/gstdevicemonitor.c: devicemonitor: keep order of providers and devices The deviceproviders are added to the array sorted by their rank. Make sure we keep this ordering when removing a provider. We use _prepend to collect the devices, use g_list_reverse to get the devices in the right order; sorted by rank and in the same order as returned by the provider. 2015-07-16 17:50:49 +0100 Tim-Philipp Müller * libs/gst/check/gstharness.c: harness: fix indentation 2015-07-16 17:50:06 +0100 Tim-Philipp Müller * libs/gst/check/gstharness.c: harness: fix pad template leak 2015-07-16 17:13:35 +0100 Tim-Philipp Müller * gst/gstplugin.c: docs: drop reference to sourceforge mailing list adress 2015-07-16 17:53:40 +0200 Havard Graff * libs/gst/check/gstharness.c: harness: don't re-establish the harness sink and src pads Given that the element has the possibility to have one, they should already be there. https://bugzilla.gnome.org/show_bug.cgi?id=752498 2015-07-13 11:03:13 +0200 Stian Selnes * libs/gst/check/gstharness.c: * libs/gst/check/gstharness.h: harness: Improve detection of element type The element flag does not indicate wether a bin should be tested as a source or as a sink, eg. a bin with the sink flag may still have a source pad and a bin with the source flag may have a sink pad. In this case it is better to determine the element type by looking at the available pads and pad templates. Also rename srcpad and sinkpad where it actually represents element_srcpad_name and element_sinkpad_name. https://bugzilla.gnome.org/show_bug.cgi?id=752493 2015-07-13 11:10:49 +0200 Stian Selnes * libs/gst/check/gstharness.c: harness: Forward sticky events to sink harness Fixes issue where if a sink harness was added late the sticky events would not be forwared. https://bugzilla.gnome.org/show_bug.cgi?id=752494 2015-07-16 12:36:14 +0100 Tim-Philipp Müller * libs/gst/check/gstharness.h: harness: make header nicer to read 2015-07-16 10:36:36 +0100 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: docs: add new function to API docs 2015-07-15 18:21:13 +0200 Wim Taymans * gst/gstdevice.c: * gst/gstdevice.h: * win32/common/libgstreamer.def: device: add generic struct with properties Add a generic structure to hold any additional properties about the device. 2015-07-14 12:44:12 +0100 Tim-Philipp Müller * plugins/elements/gsttee.c: tee: fix typo in allow-not-linked property description 2015-07-13 14:24:34 +0100 Tim-Philipp Müller * gst/gstbus.c: docs: bus: mention main loop requirement in gst_bus_add_watch() docs 2015-03-18 16:05:34 +0530 Prashant Gotarne * gst/gsttask.c: task: add function guard for _set_lock() and fix guard for _join() Should only access the object structure after checking it's valid in gst_task_join(). https://bugzilla.gnome.org/show_bug.cgi?id=746385 https://bugzilla.gnome.org/show_bug.cgi?id=746431 2015-05-19 18:58:11 +0200 Philippe Normand * gst/gstprotection.c: protection: implement meta transform function Copy the GstMeta contents over to the new buffer. https://bugzilla.gnome.org/show_bug.cgi?id=749590 2015-07-10 09:12:15 +0900 Vineeth TM * libs/gst/base/gstbaseparse.c: baseparse: estimate duration on EOS For files which are smaller than 1.5 seconds, the duration estimation does not happen. So the duration will always be displayed as 0. Updating the duration on EOS when the estimation has not happened already https://bugzilla.gnome.org/show_bug.cgi?id=750131 2015-07-10 11:01:21 +0900 Hyunjun Ko * libs/gst/base/gstadapter.c: adapter: change log message properly https://bugzilla.gnome.org/show_bug.cgi?id=752116 2015-07-09 00:12:51 +0900 Justin Joy * plugins/elements/gststreamiddemux.c: * plugins/elements/gststreamiddemux.h: docs: add StreamidDemux to documentation https://bugzilla.gnome.org/show_bug.cgi?id=749873 2015-07-09 00:21:42 +0900 Hyunjun Ko * libs/gst/base/gstadapter.c: adapter: fix to get valid (buffer_)list get_list/get_buffer_list should be done with buffers in adapter remaining while take_list/take_buffer_list flushes each buffer one by one. https://bugzilla.gnome.org/show_bug.cgi?id=752116 2015-07-08 20:06:27 +0900 Hyunjun Ko * tests/check/libs/adapter.c: adapter: unit test for new get_(buffer_)list 2015-07-08 12:00:56 +0200 Arnaud Vrac * libs/gst/base/gstbaseparse.c: baseparse: put buffer in a correct state after gst_adapter_get_buffer call We must make the buffer writable to write its PTS and DTS, and also reset its duration. The behaviour is now the same as before commit c3bcbadd, except metas might still be attached to the buffer extracted from the adapter. https://bugzilla.gnome.org/show_bug.cgi?id=752092 2015-07-07 15:02:45 +0100 Tim-Philipp Müller * libs/gst/check/gstharness.c: harness: fix indentation and replace stress test function macros These screw with indentation and seem a bit trivial. Just copy'n'paste. 2015-07-07 10:46:48 +0900 Hyunjun Ko * gst/gstbuffer.c: * libs/gst/net/gstnetaddressmeta.c: * libs/gst/net/gstnetcontrolmessagemeta.c: * tests/check/gst/gstmeta.c: meta: transform_func: return FALSE if not supported or failed https://bugzilla.gnome.org/show_bug.cgi?id=751778 2015-07-07 11:53:07 +0200 Havard Graff * plugins/elements/gstidentity.c: * tests/check/elements/identity.c: identity: refactor and add tests using GstHarness Writing a test for unscheduling the gst_clock_id_wait inside the identity element, found an invalid read, caused by removing the clock-id when calling _unschedule instead of letting the code calling _wait remove the clock-id after being unscheduled. https://bugzilla.gnome.org/show_bug.cgi?id=752055 2014-04-12 19:48:15 +0100 Tim-Philipp Müller * libs/gst/check/Makefile.am: * libs/gst/check/gstharness.c: harness: make sure g_assert() statements are always active We have code with side effects inside g_assert()s, so make sure those are always enabled here (they might otherwise get disabled for release builds). 2015-07-07 00:56:41 +0100 Tim-Philipp Müller * docs/libs/gstreamer-libs-sections.txt: * libs/gst/check/gstharness.c: * libs/gst/check/gstharness.h: harness: rename GstHarnessPrepareBuffer -> GstHarnessPrepareBufferFunc https://bugzilla.gnome.org/show_bug.cgi?id=751916 2015-07-07 00:53:48 +0100 Tim-Philipp Müller * docs/libs/gstreamer-libs-docs.sgml: * docs/libs/gstreamer-libs-sections.txt: * libs/gst/check/check.h: * libs/gst/check/gstharness.c: * libs/gst/check/gstharness.h: docs: add GstHarness to documentation https://bugzilla.gnome.org/show_bug.cgi?id=751916 2013-12-16 10:47:47 +0100 Havard Graff * libs/gst/check/Makefile.am: * libs/gst/check/gstharness.c: * libs/gst/check/gstharness.h: check: Add GstHarness convenience API for unit tests http://gstconf.ubicast.tv/videos/gstharness-again-a-follow-up/ https://bugzilla.gnome.org/show_bug.cgi?id=751916 2015-07-06 09:26:58 +0900 Vineeth TM * libs/gst/base/gstbaseparse.c: baseparse: reverse playback in pull mode right now reverse playback is disabled in pull mode. enabling the code for the same and changing a bit of logic to make reverse playback work. https://bugzilla.gnome.org/show_bug.cgi?id=750783 2015-06-20 08:33:26 +0900 Vineeth T M * tests/check/libs/baseparse.c: baseparse: add reverse playback test in pull mode add test for reverse playback in pull mode and compare the buffers being received in sink chain to make sure the playback is allright https://bugzilla.gnome.org/show_bug.cgi?id=750783 2015-07-06 14:31:24 +0530 Arun Raghavan * scripts/git-update.sh: Revert "scripts: Allow passing make flags to git-update.sh" This reverts commit ab5fdd72129ea61e8dff51cdc0afcccac03ebc2b. We can use the MAKEFLAGS environment variable to pass options to make, so avoid adding another mechanism that could be confusing. 2015-07-06 11:16:27 +0530 Arun Raghavan * gst/gstpad.h: pad: Clarify pad probe return type documentation 2015-07-02 14:32:21 +0800 Song Bing * libs/gst/base/gstbasesink.c: basesink: Shouldn't drop buffer when sync=false Shouldn't drop buffer when sync=false https://bugzilla.gnome.org/show_bug.cgi?id=751819 2015-07-06 11:25:50 +0530 Arun Raghavan * scripts/git-update.sh: scripts: Allow passing make flags to git-update.sh Mostly adding this for add a -jN as appropriate while building. 2015-05-30 14:27:05 +0100 Tim-Philipp Müller * plugins/elements/gstqueue.c: queue: avoid slice allocs/frees for each item Microoptimisation: Let GstQueueArray store our item struct. That way we don't have to alloc/free temporary QueueItem slices for every item we want to put into the queue. https://bugzilla.gnome.org/show_bug.cgi?id=750149 2015-05-30 13:07:50 +0100 Tim-Philipp Müller * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstqueuearray.c: * libs/gst/base/gstqueuearray.h: * win32/common/libgstbase.def: queuearray: allow storing of structs in addition to pointers This way we don't have to allocate/free temporary structs for storing things in the queue array. API: gst_queue_array_new_for_struct() API: gst_queue_array_push_tail_struct() API: gst_queue_array_peek_head_struct() API: gst_queue_array_pop_head_struct() API: gst_queue_array_drop_struct() https://bugzilla.gnome.org/show_bug.cgi?id=750149 2015-07-03 21:57:55 +0200 Stefan Sauer * common: Automatic update of common submodule From f74b2df to 9aed1d7 2015-06-19 00:05:44 -0400 Olivier Crête * gst/gstpad.c: * tests/check/gst/gstbin.c: pad: Enforce NEED_PARENT flag also for chain The check for the presence of the parent in the presence of the NEED_PARENT flag was missing for the chain function. Also keep a ref on the parent in case the pad is removed mid-chain. 2015-07-03 15:55:08 +0200 Stefan Sauer * docs/plugins/gstreamer-plugins-docs.sgml: * docs/plugins/gstreamer-plugins-sections.txt: * docs/plugins/gstreamer-plugins.args: * docs/plugins/inspect/plugin-coreelements.xml: docs: update for two missing elements Concat was not linked and streamiddemux was missing. 2015-07-03 12:37:54 +0200 Stefan Sauer * docs/plugins/gstreamer-plugins-sections.txt: * plugins/elements/gstcapsfilter.c: * plugins/elements/gstcapsfilter.h: * plugins/elements/gstfakesrc.c: docs: another sweep canonicalizing the plugin docs sections file Use underscores for capsfilter macros. Correct the type-name for fakesrc if we ever implement the enum. 2015-07-03 11:45:19 +0200 Stefan Sauer * docs/plugins/gstreamer-plugins-sections.txt: * plugins/elements/gsttypefindelement.h: docs: order and canonicalize the -sections.txt file Have all sections in alphabetical order. Also make the macro order consistent. This is a preparation for generating the file. Remove GET_CLASS macro for typefine element, since it is not used and the header is not installed. 2013-12-16 11:24:17 +0100 Stian Selnes * gst/gstmemory.h: memory: Add missing field initializers to GstMapInfo https://bugzilla.gnome.org/show_bug.cgi?id=751881 2015-07-02 15:10:43 +0100 Luis de Bethencourt * plugins/elements/gstinputselector.c: inputselector: remove always-true check event can't be NULL, it has been dereferenced by GST_EVENT_TYPE (), and no case frees the pointer. Remove unnecessary check which will always be True. CID #1308955 2015-07-01 10:50:19 +0200 Sebastian Dröge * libs/gst/base/gstbasetransform.c: transform: Also copy POOL metas and make sure to copy over metas when creating subbuffers POOL meta just means that this specific instance of the meta is related to a pool, a copy should be made when reasonable and the flag should just not be set in the copy. 2015-07-01 10:45:01 +0200 Sebastian Dröge * libs/gst/base/gstadapter.c: adapter: Also copy POOL metas and make sure to copy over metas when creating subbuffers POOL meta just means that this specific instance of the meta is related to a pool, a copy should be made when reasonable and the flag should just not be set in the copy. 2015-07-01 10:36:36 +0200 Sebastian Dröge * gst/gstbuffer.c: buffer: Don't copy "memory" metas unconditionally Don't copy memory metas if we only copied part of the buffer, didn't copy memories or merged memories. In all these cases the memory structure has changed and the memory meta becomes meaningless. https://bugzilla.gnome.org/show_bug.cgi?id=751712 2015-07-01 10:25:15 +0200 Sebastian Dröge * gst/gstbuffer.c: Revert "buffer: Don't copy POOLED and memory metadata unconditionally" This reverts commit 7a08fa5ec4804f104e9aa9f458322f6eb49a7e49. 2015-06-30 13:38:10 +0200 Sebastian Dröge * gst/gstbuffer.c: buffer: Don't copy POOLED and memory metadata unconditionally https://bugzilla.gnome.org/show_bug.cgi?id=751712 2015-06-30 11:18:24 +0200 Sebastian Dröge * libs/gst/base/gstbaseparse.c: baseparse: Use new gst_adapter_get_buffer() API instead of gst_adapter_map() This preserves GstMeta properly unless the subclass does special things. It's enough to make h264parse's stream-format/alignment conversion pass through metas as needed. https://bugzilla.gnome.org/show_bug.cgi?id=742385 2015-06-30 11:11:25 +0200 Sebastian Dröge * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstadapter.c: * libs/gst/base/gstadapter.h: * win32/common/libgstbase.def: adapter: Add get variants of the buffer based take functions Main difference to gst_adapter_map() for all practical purposes is that GstMeta of the buffers will be preserved. https://bugzilla.gnome.org/show_bug.cgi?id=742385 2015-06-29 17:03:10 +0200 Sebastian Dröge * libs/gst/base/gstadapter.c: adapter: Copy over GstMeta from the input buffers to the output All functions that return a GstBuffer or a list of them will now copy all GstMeta from the input buffers except for meta with GST_META_FLAG_POOLED flag or "memory" tag. This is similar to the existing behaviour that the caller can't assume anything about the buffer flags, timestamps or other metadata. And it's also the same that gst_adapter_take_buffer_fast() did before, and what gst_adapter_take_buffer() did if part of the first buffer or the complete first buffer was requested. https://bugzilla.gnome.org/show_bug.cgi?id=742385 2015-06-29 20:27:12 -0400 Olivier Crête * libs/gst/net/gstptpclock.c: ptp: Init function can take a NULL interfaces array 2015-06-29 13:57:11 +0900 Vineeth TM * tests/check/gst/gstcaps.c: tests: caps: fix test_intersect_flagset failure test_intersect_flagset fails because when caps is being created, flags and mask are being cast to uint64 while they should be uint. This results in invalid memory access or a segfault. https://bugzilla.gnome.org/show_bug.cgi?id=751628 2015-06-29 14:22:46 +0200 Thibault Saunier * scripts/gst-uninstalled: scripts: Fix GST_VALIDATE_PLUGIN_PATH It moved recently 2015-06-29 13:58:04 +0200 Sebastian Dröge * libs/gst/base/gstbasetransform.h: basetransform: Fix up documentation of transform_meta vfunc By default we copy all metas that have no tags. 2015-06-29 10:41:27 +0100 Tim-Philipp Müller * libs/gst/controller/gstdirectcontrolbinding.c: * libs/gst/controller/gstdirectcontrolbinding.h: directcontrolbinding: fix ABI break Structure size was increased without adjustment of the padding. https://bugzilla.gnome.org/show_bug.cgi?id=751622 https://bugzilla.gnome.org/show_bug.cgi?id=740502 2015-03-19 15:55:14 +0530 Prashant Gotarne * gst/gsttask.c: task: guard against NULL task function https://bugzilla.gnome.org/show_bug.cgi?id=746439 2015-05-14 11:48:45 +0200 Miguel París Díaz * plugins/elements/gstfunnel.c: * plugins/elements/gstfunnel.h: funnel: add "forward-sticky-events" property It is useful to avoid sending sticky event on stream changes. https://bugzilla.gnome.org/show_bug.cgi?id=749315 2015-06-25 00:04:07 +0200 Sebastian Dröge * configure.ac: Back to development === release 1.5.2 === 2015-06-24 22:49:17 +0200 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/gstreamer-plugins.args: * docs/plugins/inspect/plugin-coreelements.xml: * gstreamer.doap: * win32/common/config.h: * win32/common/gstenumtypes.c: * win32/common/gstversion.h: Release 1.5.2 2015-06-24 22:45:00 +0200 Sebastian Dröge * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files 2015-06-22 23:37:27 -0300 Thiago Santos * tests/check/gst/gstutils.c: tests: gstutils: fix wrong description of test element It is a fakesink with request pads, not a source 2015-06-24 15:35:16 +0200 Jonas Holmberg * gst/gstbufferpool.c: bufferpool: Fixed compiler warning The pool variable was unused when buidling with debug disabled. 2015-06-24 11:13:40 +0200 Sebastian Dröge * po/cs.po: * po/de.po: * po/hu.po: * po/nl.po: * po/pl.po: * po/ru.po: * po/uk.po: * po/vi.po: po: Update translations 2015-06-24 11:12:03 +0200 Sebastian Dröge * win32/common/libgstreamer.def: win32: Update .def file for new API 2015-06-24 14:19:04 +0900 Hyunjun Ko * libs/gst/base/gstbasesink.c: basesink: need to deep-copy last buffer list in drain https://bugzilla.gnome.org/show_bug.cgi?id=751420 2015-06-24 10:52:02 +0200 Sebastian Dröge * gst/gstbufferlist.c: bufferlist: Warn if copying a buffer fails in gst_buffer_list_copy_deep() 2015-06-24 14:18:47 +0900 Hyunjun Ko * docs/gst/gstreamer-sections.txt: * gst/gstbufferlist.c: * gst/gstbufferlist.h: * tests/check/gst/gstbufferlist.c: * win32/common/libgstreamer.def: bufferlist: add new api gst_buffer_list_copy_deep https://bugzilla.gnome.org/show_bug.cgi?id=751420 2015-06-23 16:58:56 +0200 Jonas Holmberg * libs/gst/check/gstcheck.c: * tests/check/gst/gstobject.c: gstcheck: Print newline in message handler The message handler is supposed to print a newline after the message just like the default message handler. 2015-06-12 16:54:32 +0800 Song Bing * plugins/elements/gstinputselector.c: inputselector: Handle different duration track selection Support track switch from EOS track to non-EOS one. https://bugzilla.gnome.org/show_bug.cgi?id=750761 2015-06-12 16:52:46 +0800 Song Bing * gst/gstpad.c: pad: Clear EOS flag after received STREAM_START event Clear EOS flag after received STREAM_START event https://bugzilla.gnome.org/show_bug.cgi?id=750761 2015-06-22 14:30:49 -0300 Thiago Santos * tests/check/gst/gstutils.c: tests: gstutils: add tests for gst_element_get_compatible_pad Adds tests for gst_element_get_compatible_pad for when it has to request pads. Note that these tests don't cover the case when it has to request a pad that already exists. https://bugzilla.gnome.org/show_bug.cgi?id=751235 2015-06-19 15:46:56 -0300 Thiago Santos * gst/gstutils.c: utils: use caps when getting a compatible pad by template Do not ignore the caps argument when requesting a pad by template. This is particularly harmful when the pad caps query by default returns ANY so it will match the first template instead of the one that actually intersects with the caps. https://bugzilla.gnome.org/show_bug.cgi?id=751235 2015-06-23 00:14:30 +1000 Jan Schmidt * gst/gstsample.h: gstsample.h: Include gstbufferlist.h now that it uses GstBufferList 2015-06-17 16:12:13 +0200 Mathieu Duponchelle * plugins/elements/gstconcat.c: concat: when releasing pad, send EOS appropriately. Previously, concat sent an EOS if there was a next pad. https://bugzilla.gnome.org/show_bug.cgi?id=751107 2015-06-16 16:14:18 +0200 Carlos Rafael Giani * plugins/elements/gstconcat.c: * plugins/elements/gstconcat.h: concat: Add adjust-base property This disables the segment.base adjustments, which is useful if downstream takes care of base adjustments already (example: a combination of concat and streamsynchronizer) https://bugzilla.gnome.org/show_bug.cgi?id=751047 2015-06-22 14:04:45 +0200 Sebastian Dröge * libs/gst/base/gstbasesink.c: basesink: Unset the last buffer list if we only got a buffer Also remember any preroll buffer list. 2015-06-22 13:33:29 +0200 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * win32/common/libgstreamer.def: sample: Add new API to the docs 2015-06-22 20:02:55 +0900 Hyunjun * libs/gst/base/gstbasesink.c: basesink: enable to get last sample including buffer list if needed In case of a buffer list rendering, last-sample is not updated. It needs to be updated and enable to get buffer list from last-sample. https://bugzilla.gnome.org/show_bug.cgi?id=751026 2015-06-22 19:35:40 +0900 Hyunjun * gst/gstsample.c: * gst/gstsample.h: sample: add gst_sample_set/get_buffer_list apis Allowed to set/get buffer list to sample if needed https://bugzilla.gnome.org/show_bug.cgi?id=751026 2015-06-19 10:52:10 +0100 Tim-Philipp Müller * test.py: test.py: remove accidentally committed file 2015-06-18 11:51:48 -0400 Nicolas Dufresne * gst/gstbuffer.c: * gst/gstelementfactory.h: * gst/gstsegment.h: * gst/gstsystemclock.h: * libs/gst/base/gstbasetransform.h: doc: Unify Since mark for attribute and enum As this show up as prose in the doc, simply make it consistent and "arguable" nicer to read. 2015-06-18 11:48:50 -0400 Nicolas Dufresne * gst/gstbuffer.h: doc: Remove parenthesis around Since: This confuse the parser, hence it does not endup in the doc and the index properly. 2015-05-06 16:44:48 +1000 Jan Schmidt * docs/gst/gstreamer-sections.txt: * gst/gstbuffer.c: * gst/gstbuffer.h: * win32/common/libgstreamer.def: Add GstParentBufferMeta A core meta which helps implement the old concept of sub-buffering in some situations, by making it possible for a buffer to keep a ref on a different parent buffer. The parent buffer is unreffed when the Meta is freed. This meta is used to ensure that a buffer whose memory is being shared to a child buffer isn't freed and returned to a buffer pool until the memory is. https://bugzilla.gnome.org/show_bug.cgi?id=750039 2015-06-16 18:08:24 -0400 Nicolas Dufresne * gst/Makefile.am: * libs/gst/base/Makefile.am: * libs/gst/check/Makefile.am: * libs/gst/controller/Makefile.am: * libs/gst/net/Makefile.am: * test.py: gi: Use INTROSPECTION_INIT for --add-init-section This new define was added to common. The new init section fixed compilation warning found in the init line that was spread across all files. 2015-06-16 17:46:44 -0400 Nicolas Dufresne * common: Automatic update of common submodule From 6015d26 to f74b2df 2015-06-15 10:06:00 -0400 Nicolas Dufresne * gst/gstclock.h: clock: Fix _STIME_FORMAT macros This macro didn't work well as it relied on the sign on the last divided number (number of days). This value is most of the time zero, and zero is considered positive in printf. Instead, deal with the sign manually, and resuse the original macros for the rest. This actually simplify the macro a lot. 2015-06-14 20:48:29 +0100 Tim-Philipp Müller * plugins/elements/gsttypefindelement.c: typefindelement: reset segment only once streaming has stopped Fixes the occasional criticals in the discoverer unit test. https://bugzilla.gnome.org/show_bug.cgi?id=745073 https://bugzilla.gnome.org/show_bug.cgi?id=750823 2015-06-14 11:23:22 -0400 Nicolas Dufresne * docs/libs/gstreamer-libs-sections.txt: doc: Add more missing symbols in lib-sections.txt These where causing broken links. 2015-06-14 11:22:54 -0400 Nicolas Dufresne * libs/gst/net/gstnetaddressmeta.c: doc: Fix reference to unknown type GstNetAddress 2015-06-14 11:22:36 -0400 Nicolas Dufresne * docs/libs/gstreamer-libs-sections.txt: * libs/gst/controller/gsttimedvaluecontrolsource.h: doc: Include and fix GstControlPoint 2015-06-14 11:21:26 -0400 Nicolas Dufresne * docs/libs/gstreamer-libs-docs.sgml: doc: Add GstNetControlMessageMeta to the doc This is being referenced elsewhere, but results in broken links. It seems to be public API, so I think it should be in the doc. 2015-06-14 10:59:51 -0400 Nicolas Dufresne * libs/gst/base/gstpushsrc.h: doc: Document GstPushSrcClass 2015-06-14 10:58:18 -0400 Nicolas Dufresne * libs/gst/base/gstcollectpads.h: doc: Better document new GstCollectData.ABI.abi.dts The doc generator get confused with the inline structure. So workaround by wrapping the inner of the structure with public/private mark, and document that GST_COLLECT_PADS_DTS macro shall be used to access this. 2015-06-14 10:56:28 -0400 Nicolas Dufresne * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstbaseparse.h: * libs/gst/net/gstnetcontrolmessagemeta.h: * libs/gst/net/gstptpclock.h: doc: Various doc fixes for libgstreamer-base * Fix function name in sections.txt * Add few missing or fix miss-named * Workaround gtk-doc being confused with non typedef types (loose track of public/private 2015-06-14 10:25:52 -0400 Nicolas Dufresne * gst/gstdevicemonitor.c: * gst/gsturi.c: * gst/gsturi.h: * gst/gstvalue.c: doc: More doc warning fixes So from this point, the remaining warning for libgstreamer are about protected member not showing in the doc. This may need some discussion with upstream gtk-doc people. * Remove % in from of none macro * Fixed GST_TYPE_FAGS -> GST_TYPE_FAG_SET * Minor wording fix * Can't link to GstUri.port, so split the .port part 2015-06-14 09:17:21 -0400 Nicolas Dufresne * gst/gsturi.c: doc: In GstUri we meant nul-terminated, not %NULL %NULL refers to the pointer. I've written it this way in one word as this is what GLib uses. 2015-06-13 21:02:20 -0400 Nicolas Dufresne * gst/gstplugin.h: doc: Cannot reference GST_PACKAGE_RELEASE_DATETIME So simply remove the % sign. 2015-06-13 20:52:01 -0400 Nicolas Dufresne * gst/gstclock.c: doc: Fix typo in ref _clock_wait_for_sync() 2015-06-13 20:37:34 -0400 Nicolas Dufresne * gst/gsturi.c: doc: Fix GstUri doc typos * Use &perctn; instead of reserved character % * NULL take two L 2015-06-13 20:19:59 -0400 Nicolas Dufresne * gst/gstallocator.h: * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstbufferpool.h: * gst/gstclock.h: * gst/gsterror.h: * gst/gstmemory.h: * gst/gstmessage.h: * gst/gstprotection.h: * libs/gst/base/gstcollectpads.h: * libs/gst/controller/gsttimedvaluecontrolsource.c: doc: Fix Since: marks There was few Since: mark missing their column. Also unify the way we set the Since mark on enum value and structure members. These sadly don't show up in the index. 2015-06-13 20:01:27 -0400 Nicolas Dufresne * docs/gst/gstreamer-sections.txt: * gst/gstbuffer.c: doc: Add gst_buffer_copy_deep() 2015-06-13 19:47:45 -0400 Nicolas Dufresne * libs/gst/check/gstconsistencychecker.c: gi: Skip gst_consitency_checker_new This non boxed type cannot be allocated safely. 2015-06-13 19:46:21 -0400 Nicolas Dufresne * docs/gst/gstreamer-docs.sgml: * docs/libs/gstreamer-libs-docs.sgml: doc: Add indexes of added APIs One of the nice feature in GTK doc is that it generate indexes of added APIs base on the since marker. Include that in our doc while fixing the issue of duplicate ID (produce xml contains that id it seems) 2015-06-13 15:10:53 -0400 Nicolas Dufresne * libs/gst/controller/gsttimedvaluecontrolsource.c: doc: Make ..._source_find_control_point_iter transfer none 2015-06-13 14:40:43 -0400 Nicolas Dufresne * libs/gst/net/gstntppacket.c: doc: Silence warning about unused gstntppacket section This API is internal. 2015-06-13 14:37:42 -0400 Nicolas Dufresne * docs/libs/gstreamer-libs-docs.sgml: * docs/libs/gstreamer-libs-sections.txt: * libs/gst/net/gstntppacket.c: Revert "doc: Add GstNtpPacket to the doc" This reverts commit c4eb876961aba1092c4831a8feaf48d7be1e38ae. Oops, this is not a public API 2015-06-13 14:21:41 -0400 Nicolas Dufresne * docs/libs/gstreamer-libs-docs.sgml: * docs/libs/gstreamer-libs-sections.txt: * libs/gst/net/gstntppacket.c: doc: Add GstNtpPacket to the doc 2015-06-13 13:55:27 -0400 Nicolas Dufresne * libs/gst/base/gstindex.c: doc: Remove gstindex from doc comment Moving that to normal comment to silence the generator. GstIndex is not in GStreamer library at the moment (removed from 0.10). 2015-06-13 13:48:03 -0400 Nicolas Dufresne * libs/gst/base/gstcollectpads.c: gi: Set collectpads function param scope 2015-06-13 13:42:58 -0400 Nicolas Dufresne * libs/gst/base/gstbitreader.c: * libs/gst/base/gstbytereader.c: * libs/gst/base/gstbytewriter.c: gi: Skip allocator of non-boxed structure These are not usable as they are, and can easily lead to crash or leaks. This also silence warning from the scanner. If we manage to make this usable, we can then remove that mark, it will require to make this type boxed. 2015-06-13 13:24:13 -0400 Nicolas Dufresne * docs/gst/gstreamer-sections.txt: doc: Give gstconfig a nice name As all other section do have a nice came case name, it seems more consistent. 2015-06-13 13:19:21 -0400 Nicolas Dufresne * docs/gst/gstreamer-sections.txt: doc: Add missing gst_event_new/parse_protection 2015-06-13 13:19:05 -0400 Nicolas Dufresne * docs/gst/gstreamer-sections.txt: doc: Give gstprotection section a nice title 2015-06-13 13:14:30 -0400 Nicolas Dufresne * gst/gstevent.c: doc: Remove uneeded protectionevent section These functions are part of gstevent section already. Keep the doc, since it's good. 2015-06-13 12:32:49 -0400 Nicolas Dufresne * gst/gsttaglist.c: taglist: Add missing scope to func param This tell GI if this function is for actions (call) or is the answer of this method being asynchronous (async). In this case it's a call. This also silence warning from the GI scanner. 2015-06-13 12:27:31 -0400 Nicolas Dufresne * gst/gstprotection.h: gstprotection: Add missing Since 1.6 mark 2015-06-13 12:26:13 -0400 Nicolas Dufresne * gst/gstprotection.c: gstprection: _add_protection_meta() is transfer none Just like gst_buffer_add_meta() this function should also be transfer none. This also silence a gi warning about returning a copy of a non boxed bare structure. 2015-06-13 12:25:19 -0400 Nicolas Dufresne * gst/gstprotection.c: * gst/gstprotection.h: * tests/check/gst/gstprotection.c: gstprotection: Add missing namespace to macro GST_PROTECTION_SYSTEM_ID_CAPS_FIELD was missing the GST_ namespace. Add it before its too late. 2015-06-13 11:55:10 -0400 Nicolas Dufresne * gst/gstversion.h.in: doc: Keep SECTION: after the ifdef Otherwise GTK doc will see it as often as we include that files and warn about duplicated SECTION: 2015-06-13 10:23:52 -0400 Nicolas Dufresne * gst/gstminiobject.c: gi: Skip mini object method that play with refcounting It make no sense to allow using that. Any use would lead to leak of crash. Note that GMiniObject is entirely unusable as you cannot cast from let's say GstBuffer to GstMiniObject. 2015-06-13 15:05:05 +0100 Tim-Philipp Müller libs: more doc scanner fixes gstbasetransform.h:196: Warning: GstBase: "@submit_input_buffer" parameter unexpected at this location: * @submit_input_buffer: Function which accepts a new input buffer and pre-processes it. gstnetcontrolmessagemeta.c:103: Warning: GstNet: gst_buffer_add_net_control_message_meta: unknown parameter 'message' in documentation comment, should be 'addr' 2015-06-13 09:37:46 -0400 Nicolas Dufresne * gst/gstminiobject.h: doc: Fix annoation for GstMiniObject Replacing reprecated "Ref Func:", "Unref Fun:" etc. comment block with appropriate (ref-func name) etc. annotation. 2015-06-13 09:34:06 -0400 Nicolas Dufresne * gst/gstelementfactory.h: doc: Fix unbalanced parenthesis 2015-06-13 09:30:24 -0400 Nicolas Dufresne * gst/gstclock.h: doc: Fix more typo 2015-06-13 09:22:41 -0400 Nicolas Dufresne * gst/gstclock.h: doc: Fix type in previous commit Marker is (value .. not (alue. 2015-06-13 09:19:27 -0400 Nicolas Dufresne * gst/gstclock.h: * gst/gstelementfactory.h: doc: Don't use deprecated Value: and Type: comment Instead use appropriate annotation. Annotations can be added to the right of the constant name in a comment block. 2015-06-12 17:07:38 -0400 Nicolas Dufresne * docs/libs/gstreamer-libs-sections.txt: collectpads: Add new macro to the doc https://bugzilla.gnome.org/show_bug.cgi?id=740575 2015-06-12 17:07:26 -0400 Nicolas Dufresne * docs/gst/gstreamer-sections.txt: clock: Add new signed time macro to the doc https://bugzilla.gnome.org/show_bug.cgi?id=740575 2015-06-10 14:17:01 -0400 Nicolas Dufresne * libs/gst/base/gstcollectpads.c: collectpads: Don't initially send an invalid DTS Sending a possibly invalid DTS may confuse the muxers, which will then think the DTS is going backward. https://bugzilla.gnome.org/show_bug.cgi?id=740575 2015-04-03 17:54:50 -0400 Nicolas Dufresne * libs/gst/base/gstcollectpads.c: * libs/gst/base/gstcollectpads.h: * tests/check/libs/collectpads.c: collectpads: Add negative DTS support Make gst_collect_pads_clip_running_time() function also store the signed DTS in the CollectData. This signed DTS value can be used by muxers to properly handle streams where DTS can be negative initially. https://bugzilla.gnome.org/show_bug.cgi?id=740575 2015-06-12 12:06:05 -0400 Nicolas Dufresne * gst/gstclock.h: clock: Add signed time utilities Add utility to print signed value of time. This is useful to trace running time values in gint64 or GstClockTimeDiff values. Additionally, define GST_CLOCK_STIME_NONE to indicate an invalid signed time value and validation macro. New macros are: GST_CLOCK_STIME_NONE GST_CLOCK_STIME_IS_VALID GST_STIME_FORMAT GST_STIME_ARGS https://bugzilla.gnome.org/show_bug.cgi?id=740575 2015-06-10 20:44:26 -0300 Thiago Santos * gst/gstmessage.c: message: add allow-none to gst_message_new_ function No restriction for creating messages without a source 2015-06-12 13:45:33 +0100 Tim-Philipp Müller * win32/common/libgstcontroller.def: win32: update .def file for new API 2015-05-27 12:29:41 +0300 Lazar Claudiu * libs/gst/controller/gstdirectcontrolbinding.c: * libs/gst/controller/gstdirectcontrolbinding.h: * tests/check/libs/controller.c: * tests/examples/controller/.gitignore: * tests/examples/controller/Makefile.am: * tests/examples/controller/absolute-example.c: controller: Added absolute direct control binding, example and test Fixes: 740502 API: gst_direct_control_binding_new_absolute 2015-06-04 00:03:16 +1000 Matthew Waters * docs/gst/gstreamer-sections.txt: * gst/gstallocator.h: * gst/gstmemory.c: * gst/gstmemory.h: memory: provide a mem_map_full that takes the GstMapInfo Follow up of 7130230ddb349d0ca7942abdba26b7558df055d1 Provide the memory implementation the GstMapInfo that will be used to map/unmap the memory. This allows the memory implementation to use some scratch space in GstMapInfo to e.g. track different map/unmap behaviour or store extra implementation defined data about the map in use. https://bugzilla.gnome.org/show_bug.cgi?id=750319 2015-04-08 14:21:43 -0700 Alison Chaiken * docs/manual/basics-pads.xml: docs: manual: fix name reversal in basics-pads https://bugzilla.gnome.org/show_bug.cgi?id=747532 2015-06-11 23:06:26 +0100 Tim-Philipp Müller * plugins/elements/gstelements_private.c: gst_writev: define UIO_MAXIOV on iOS/OSX Apparently it's only seton iOS/OSX if defined(KERNEL). 2015-06-12 01:15:19 +1000 Jan Schmidt * plugins/elements/gstelements_private.c: gst_writev: Respect UIO_MAXIOV limit for the iov array If we receive more than UIO_MAXIOV (1024 typically) buffers in a single writev call, fall back to consolidating them into one output buffer or multiple write calls. This could be made more optimal, but let's wait until it's ever a bottleneck for someone 2015-06-11 12:34:04 +0200 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gstpipeline.c: * gst/gstpipeline.h: * win32/common/libgstreamer.def: pipeline: Add gst_pipeline_set_latency(), getter and GObject property This overrides the default latency handling and configures the specified latency instead of the minimum latency that was returned from the LATENCY query. https://bugzilla.gnome.org/show_bug.cgi?id=750782 2015-06-11 11:37:30 +0200 Carlos Rafael Giani * plugins/elements/gstconcat.c: concat: Add active-pad property https://bugzilla.gnome.org/show_bug.cgi?id=746949 2015-06-11 11:05:53 +0200 Sebastian Dröge * plugins/elements/gstconcat.c: concat: Also reset the current start offset when receiving a FLUSH_STOP on the srcpad 2015-06-11 11:05:38 +0200 Sebastian Dröge * plugins/elements/gstconcat.c: concat: Add some newlines to event handling code to make the code look a bit less dense 2015-06-11 10:53:30 +0200 Carlos Rafael Giani * plugins/elements/gstconcat.c: concat: Reset segment base offset after FLUSH_STOP with reset_time = TRUE If the reset_time value of a FLUSH_STOP event is set to TRUE, the pipeline will have the base_time of its elements reset. This means that the concat element's current_start_offset has to be reset to 0, since it was calculated with the old base-time in mind. Only FLUSH_STOP events coming from the active pad are looked at. Signed-off-by: Carlos Rafael Giani 2015-03-28 16:46:32 +0100 Carlos Rafael Giani * plugins/elements/gstconcat.c: concat: Forward FLUSH_START and FLUSH_STOP events Without this, seeking deadlocks if performed while the pipeline is paused. Only flush events coming from the active pad are forwarded. https://bugzilla.gnome.org/show_bug.cgi?id=745366 2015-06-09 14:28:30 +0200 Stefan Sauer * Makefile.am: cruft: add the obsolete tmpl dir to cruft-dirs 2015-06-09 11:30:10 +0200 Edward Hervey * common: Automatic update of common submodule From d9a3353 to 6015d26 2015-06-09 11:01:53 +0200 Edward Hervey * plugins/elements/gstfilesink.c: filesink: Fix fsync/_commit usage _MSC_VER will only be defined when building *on* windows and not just *for* windows. Instead, use the G_OS_WIN32 define 2015-06-09 10:59:42 +0200 Sebastian Dröge * configure.ac: * libs/gst/helpers/gst-ptp-helper.c: ptp: Check for the actual API we use instead of just looking for __APPLE__ Should fix the build on FreeBSD, DragonFly and other BSDs. https://bugzilla.gnome.org/show_bug.cgi?id=750530 2015-06-08 17:10:56 +0200 Sebastian Dröge * libs/gst/net/gstnetclientclock.c: netclientclock: Use the new GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC flag https://bugzilla.gnome.org/show_bug.cgi?id=750574 2015-06-08 17:04:55 +0200 Sebastian Dröge * libs/gst/net/gstnetclientclock.c: netclientclock: Make the clock a wrapper clock around an internal clock The internal clock is only used for slaving against the remote clock, while the user-facing GstClock can be additionally slaved to another clock if desired. By default, if no master clock is set, this has exactly the same behaviour as before. If a master clock is set (which was not allowed before), the user-facing clock is reporting the remote clock as internal time and slaves this to the master clock. This also removes the weirdness that the internal time of the netclientclock was always the system clock time, and not the remote clock time. https://bugzilla.gnome.org/show_bug.cgi?id=750574 2015-06-08 23:07:40 +0200 Stefan Sauer * common: Automatic update of common submodule From d37af32 to d9a3353 2015-06-08 20:00:47 +0100 Tim-Philipp Müller * tests/check/elements/fakesink.c: tests: fakesink: fix string leak in unit test 2015-06-09 00:52:34 +1000 Jan Schmidt * plugins/elements/gstfilesink.c: filesink: Fix Windows build by using _commit instead of fsync. 2015-06-08 12:22:56 +0200 Sebastian Dröge * libs/gst/net/gstptpclock.c: ptp: Make sure to always initialize the variables we put into the statistics structure later CID 1304676, 1304677, 1304678, 1304679. 2015-06-08 12:02:39 +0200 Sebastian Dröge * libs/gst/helpers/gst-ptp-helper.c: ptp: Ensure that not too much is read from or written to struct ifreq.ifr_name 2015-06-08 19:33:03 +1000 Jan Schmidt * libs/gst/base/gstbasetransform.h: basetransform: Add Since markers for new vfuncs Add Since: 1.6 markers for the new submit_input_buffer() and generate_output() vfuncs 2015-05-23 01:08:29 +1000 Jan Schmidt * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstbasetransform.h: * tests/check/Makefile.am: * tests/check/libs/.gitignore: * tests/check/libs/test_transform.c: * tests/check/libs/transform2.c: basetransform: Split input buffer processing from output generation Allow for sub-classes which want to collate incoming buffers or split them into multiple output buffers by separating the input buffer submission from output buffer generation and allowing for looping of one of the phases depending on pull or push mode operation. https://bugzilla.gnome.org/show_bug.cgi?id=750033 2015-04-16 10:32:02 +1000 Jan Schmidt * gst/gstbuffer.h: * plugins/elements/gstfilesink.c: Add GST_BUFFER_FLAG_SYNC_AFTER flag, and implement in filesink. Makes it possible to get filesink to fsync() after rendering a buffer. 2015-06-08 10:46:24 +0200 Руслан Ижбулатов * libs/gst/net/gstptpclock.c: ptp: Fix build on Windows, and in general the GI build when PTP support was not available It's not going to work on Windows still, the helper process needs to be ported. 2015-06-07 23:05:53 +0200 Stefan Sauer * common: Automatic update of common submodule From 21ba2e5 to d37af32 2015-06-07 17:31:50 +0200 Stefan Sauer * common: Automatic update of common submodule From c408583 to 21ba2e5 2015-06-07 16:58:40 +0200 Stefan Sauer * docs/gst/Makefile.am: * docs/libs/Makefile.am: * docs/plugins/Makefile.am: docs: remove variables that we define in the snippet from common This is syncing our Makefile.am with upstream gtkdoc. 2015-06-07 17:16:06 +0200 Stefan Sauer * autogen.sh: * common: Automatic update of common submodule From d676993 to c408583 2015-06-07 16:44:26 +0200 Sebastian Dröge * configure.ac: Back to development 2015-06-07 10:52:33 +0200 Sebastian Dröge * libs/gst/net/gstntppacket.c: netclientclock: The NTP poll interval is a signed int8, not unsigned === release 1.5.1 === 2015-06-07 09:41:28 +0200 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/gstreamer-plugins.args: * docs/plugins/gstreamer-plugins.hierarchy: * docs/plugins/gstreamer-plugins.signals: * docs/plugins/inspect/plugin-coreelements.xml: * gstreamer.doap: * win32/common/config.h: * win32/common/gstenumtypes.c: * win32/common/gstversion.h: Release 1.5.1 2015-06-07 09:33:52 +0200 Sebastian Dröge * po/cs.po: * po/de.po: * po/fr.po: * po/tr.po: po: Update translations 2015-06-07 09:32:39 +0200 Sebastian Dröge * libs/gst/net/gstnetclientclock.c: netclientclock: Add Since marker to the docs for gst_ntp_clock_new() 2015-06-07 09:32:12 +0200 Sebastian Dröge * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files 2015-06-07 09:08:35 +0200 Sebastian Dröge * tests/check/gst/gstmemory.c: memory: Fix compiler warnings in unit test gst/gstmemory.c:570:38: error: implicit conversion from enumeration type 'GstMapFlags' to different enumeration type 'GstLockFlags' [-Werror,-Wenum-conversion] fail_unless (gst_memory_lock (mem, GST_MAP_WRITE)); ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ 2015-06-07 08:59:23 +0200 Sebastian Dröge * libs/gst/net/gstptpclock.c: ptpclock: Use the current path delay for calculation the local/remote clock times The mean might currently be changing, and the current path delay is the closest we can get to the actual delay around the current SYNC message. 2015-06-06 23:05:32 +0200 Sebastian Dröge * libs/gst/net/gstnetclientclock.c: netclientclock: Add some copyright stuff 2015-06-06 21:43:05 +0200 Sebastian Dröge * docs/libs/gstreamer-libs-sections.txt: * libs/gst/net/Makefile.am: * libs/gst/net/gstnetclientclock.c: * libs/gst/net/gstnetclientclock.h: * libs/gst/net/gstntppacket.c: * libs/gst/net/gstntppacket.h: * win32/common/libgstnet.def: netclientclock: Add NTPv4 support This uses all of the netclientclock code, except for the generation and parsing of packets. Unfortunately some code duplication was necessary because GstNetTimePacket is public API and couldn't be extended easily to support NTPv4 packets without breaking API/ABI. 2015-06-06 20:39:47 +0200 Sebastian Dröge * libs/gst/net/gstnetclientclock.c: netclientclock: Preparation for NTPv4 support We extend our calculations to work with local send time, remote receive time, remote send time and local receive time. For the netclientclock protocol, remote receive and send time are assumed to be the same value. For the results, this modified calculation makes absolutely no difference unless the two remote times are different. 2015-06-06 19:01:06 +0200 Sebastian Dröge * libs/gst/net/gstnetclientclock.c: netclientclock. Fix last commit Apparently I failed at git add -i. 2015-06-06 18:42:18 +0200 Sebastian Dröge * libs/gst/net/gstnetclientclock.c: netclientclock: Make gst_net_client_clock_new() a thing wrapper around g_object_new() Bindings will like this, and also it fixes a FIXME comment. 2015-06-06 14:34:39 +0200 Sebastian Dröge * libs/gst/net/gstptpclock.c: ptpclock: Use #define everywhere instead of G_N_ELEMENTS() 2015-06-06 14:31:16 +0200 Sebastian Dröge * libs/gst/net/gstnetclientclock.c: netclientclock: Filter RTTs based on the median of the last RTTs before considering them at all This improves accuracy on wifi or similar networks, where the RTT can go very high up for a single observation every now and then. Without filtering them away completely, they would still still modify the average RTT, and thus all clock estimations. 2015-06-06 14:19:21 +0200 Sebastian Dröge * libs/gst/net/gstptpclock.c: ptpclock: Use a system clock for the time observations instead of gst_util_get_timestamp() They don't necessarily use the same underlying clocks (e.g. on Windows), or might be configured to a different clock type (monotonic vs. real time clock). We need the values a clean system clock returns, as those are the values used by the internal clocks. 2015-06-06 12:35:58 +0200 Sebastian Dröge * libs/gst/net/gstptpclock.c: ptpclock: Fix documentation a bit 2015-06-05 19:35:29 +0100 Tim-Philipp Müller * tests/check/elements/fakesink.c: tests: fakesink: test notify::last-message and deep-notify::last-message deep-notify::last-message seems to cause some problems, so disable for now. https://bugzilla.gnome.org/show_bug.cgi?id=681642 2015-06-05 10:02:04 +0200 Sebastian Dröge * plugins/elements/gsttypefindelement.c: typefind: Post an error if we can't typefind the data until EOS https://bugzilla.gnome.org/show_bug.cgi?id=750439 2015-06-04 19:05:44 +0200 Sebastian Dröge * libs/gst/helpers/gst-ptp-helper.c: ptp-helper: Make sure to use g_poll() for the main context The modified main context from https://bugzilla.gnome.org/show_bug.cgi?id=741054 somehow calls setugid(), which abort()s setuid root applications on OSX. 2015-06-04 18:32:14 +0200 Sebastian Dröge * libs/gst/helpers/gst-ptp-helper.c: ptp-helper: Make sure that we are running setuid root if configured that way 2015-06-04 18:00:50 +0200 Sebastian Dröge * libs/gst/helpers/gst-ptp-helper.c: ptp-helper: Fix interface listing and MAC retrieval on OSX 2015-06-03 19:04:15 +0300 Vivia Nikolaidou * tools/gst-indent: gst-indent: Add support for gindent as executable name gst-indent used to support gnuindent and indent as executable names. However, on OSX one can "brew install gnu-indent" and then the executable name will be gindent. Added support for that. https://bugzilla.gnome.org/show_bug.cgi?id=750351 2015-06-03 16:42:57 +0100 Luis de Bethencourt * libs/gst/helpers/.gitignore: gitignore: add libs/gst/helpers/gst-ptp-helper 2015-06-03 16:34:58 +0100 Luis de Bethencourt * libs/gst/helpers/Makefile.am: ptp: ignore permission errors in Makefile To satisfy the buildslaves ignore permission errors in chown, chmod and setcap 2015-06-03 17:06:09 +0200 Sebastian Dröge * libs/gst/helpers/gst-ptp-helper.c: ptp: Don't use SIOCGIFHWADDR on Apple Just #ifdef the code for now, this should be implemented around IOKit later instead of using ioctls. 2015-06-03 16:28:44 +0200 Philippe Normand * libs/gst/helpers/Makefile.am: build: make install-exec-hooks depend on install-helpersPROGRAMS To avoid race conditions where make would try to change ownership and permissions of the not-yet-installed ptp helper. 2015-06-03 16:08:43 +0200 Sebastian Dröge * libs/gst/net/gstptpclock.c: ptp: Fix debug output to print the difference instead of absolute values 2015-06-03 15:22:31 +0200 Wim Taymans * libs/gst/net/gstptpclock.c: ptpclock: fix compilation Don't put code between declarations. Fix use of uninitialized variables 2015-06-03 11:04:48 +0200 Sebastian Dröge * libs/gst/net/gstptpclock.c: ptp: Add median based pre-filtering of delays If the delay measurement is too far away from the median of the window of last delay measurements, we discard it. This increases accuracy on wifi a lot. https://bugzilla.gnome.org/show_bug.cgi?id=749391 2015-06-02 15:24:06 +0200 Sebastian Dröge * libs/gst/net/gstptpclock.c: ptp: Add #define to only use SYNC messages for which we can send DELAY_REQ https://bugzilla.gnome.org/show_bug.cgi?id=749391 2015-05-15 16:58:51 +0300 Sebastian Dröge * libs/gst/net/gstptpclock.c: ptp: Add #defines to enable/disable improvements for unreliable networks We should do some more measurements with all these and check how much sense they make for PTP. Also enabling them means not following IEEE1588-2008 by the letter anymore. https://bugzilla.gnome.org/show_bug.cgi?id=749391 2015-05-14 12:18:25 +0200 Sebastian Dröge * configure.ac: * docs/libs/gstreamer-libs-docs.sgml: * docs/libs/gstreamer-libs-sections.txt: * libs/gst/helpers/Makefile.am: * libs/gst/helpers/gst-ptp-helper.c: * libs/gst/net/Makefile.am: * libs/gst/net/gstptp_private.h: * libs/gst/net/gstptpclock.c: * libs/gst/net/gstptpclock.h: * libs/gst/net/net.h: * tests/examples/Makefile.am: * tests/examples/ptp/.gitignore: * tests/examples/ptp/Makefile.am: * tests/examples/ptp/ptp-print-times.c: * win32/common/libgstnet.def: ptp: Initial implementation of a PTP clock GstPtpClock implements a PTP (IEEE1588:2008) ordinary clock in slave-only mode, that allows a GStreamer pipeline to synchronize to a PTP network clock in some specific domain. The PTP subsystem can be initialized with gst_ptp_init(), which then starts a helper process to do the actual communication via the PTP ports. This is required as PTP listens on ports < 1024 and thus requires special privileges. Once this helper process is started, the main process will synchronize to all PTP domains that are detected on the selected interfaces. gst_ptp_clock_new() then allows to create a GstClock that provides the PTP time from a master clock inside a specific PTP domain. This clock will only return valid timestamps once the timestamps in the PTP domain are known. To check this, the GstPtpClock::internal-clock property and the related notify::clock signal can be used. Once the internal clock is not NULL, the PTP domain's time is known. Alternatively you can wait for this with gst_ptp_clock_wait_ready(). To gather statistics about the PTP clock synchronization, gst_ptp_statistics_callback_add() can be used. This gives the application the possibility to collect all kinds of statistics from the clock synchronization. https://bugzilla.gnome.org/show_bug.cgi?id=749391 2015-06-03 13:16:15 +0200 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gstclock.c: * gst/gstclock.h: * win32/common/libgstreamer.def: clock: Add GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC and related API gst_clock_wait_for_sync(), gst_clock_is_synced() and gst_clock_set_synced() plus a signal to asynchronously wait for the clock to be synced. This can be used by clocks to signal that they need initial synchronization before they can report any time, and that this synchronization can also get completely lost at some point. Network clocks, like the GStreamer netclientclock, NTP or PTP clocks are examples for clocks where this is useful to have as they can't report any time at all before they're synced. https://bugzilla.gnome.org/show_bug.cgi?id=749391 2015-06-03 18:03:36 +1000 Matthew Waters * gst/gstallocator.h: * gst/gstmemory.c: * gst/gstmemory.h: memory: provide a mem_unmap function that takes the flags to unmap There are gstmemory's available that operate in two memory domains and need to ensure consistent access between these domains. Imagine a scenario where e.g. the GLMemory is mapped twice in both the GPU and the CPU domain. On unmap or a subsequent map, it would like to ensure that the most recent data is available in the memory domain requested. Either by flushing the writes and/or initiating a DMA transfer. Without knowing which domain is being unmapped, the memory does not know where the most recent data is to transfer to the other memory domain. Note: this still does not allow downgrading a memory map. https://bugzilla.gnome.org/show_bug.cgi?id=750319 2015-06-02 16:14:50 +1000 Matthew Waters * gst/gstmemory.c: * tests/check/gst/gstmemory.c: memory: gst_memory_share may fail to exclusively lock the parent memory Now that locking exclusively dows not always succeed, we need to signal the failure case from gst_memory_init. Rather than introducing an API or funcionality change to gst_memory_init, workaround by checking exclusivity in the calling code. https://bugzilla.gnome.org/show_bug.cgi?id=750172 2015-06-02 00:23:37 +1000 Matthew Waters * gst/gstbuffer.c: * tests/check/gst/gstbuffer.c: buffer: locking memory exclusively may fail Attempt to return a copy of the memory instead. https://bugzilla.gnome.org/show_bug.cgi?id=750172 2015-05-31 21:25:23 +1000 Matthew Waters * gst/gstminiobject.c: * tests/check/gst/gstmemory.c: miniobject: disallow a double write/exclusive lock gst_memory_lock (mem, WRITE | EXCLUSIVE); gst_memory_lock (mem, WRITE | EXCLUSIVE); Succeeds when the part-miniobject.txt design doc suggests that this should fail: "A gst_mini_object_lock() can fail when a WRITE lock is requested and the exclusive counter is > 1. Indeed a GstMiniObject object with an exclusive counter 1 is locked EXCLUSIVELY by at least 2 objects and is therefore not writable." https://bugzilla.gnome.org/show_bug.cgi?id=750172 2015-06-02 20:32:35 +0100 Tim-Philipp Müller * gst/gsturi.c: uri: match return type of get_uri_type() implementation to declaration https://bugzilla.gnome.org/show_bug.cgi?id=750292 2015-06-03 00:12:36 +1000 Jan Schmidt * gst/gstbuffer.c: gstbuffer: Add a note about metas needing to be copied last 2015-05-27 22:23:00 +1000 Jan Schmidt * gst/gstvalue.c: * tests/check/gst/gstvalue.c: gstvalue: Implement gst_value_is_subset() for flagsets 2015-06-02 16:33:48 +0200 Edward Hervey * tests/check/gst/gstprotection.c: check: Use GST_CHECK_MAIN macro 2015-05-20 21:18:08 +0900 eunhae choi * plugins/elements/gstdownloadbuffer.c: downloadbuffer: release lock before posting msg to avoid the deadlock in playbin2, send msg after release the download buffer lock. https://bugzilla.gnome.org/show_bug.cgi?id=749535 2015-05-31 20:21:42 -0300 Reynaldo H. Verdejo Pinochet * gst/gststructure.c: structure: add note about missing field creation on _set() 2015-05-30 13:01:09 +0100 Tim-Philipp Müller * tests/check/gst/gstcaps.c: * tests/check/gst/gststructure.c: tests: fix some leaks in new flagset checks 2015-05-30 12:39:19 +0100 Tim-Philipp Müller * libs/gst/base/gstqueuearray.c: queuearray: remove duplicate assignment We've already done this earlier in the function, and nothing has changed since we first read it. 2015-05-27 17:22:28 +0530 Nirbheek Chauhan * gst/gst.c: gst/gst.c: Add a warning about DllMain to prevent misuse DllMain should not be relied on for anything except storing the DLL handle. It should also not be defined for static builds, but doing so is not straightforward and is mostly harmless, so let's just add a comment about that for now. 2015-05-27 13:54:25 +0200 Sebastian Dröge * plugins/elements/gstfunnel.c: funnel: Improve debug output a bit 2015-05-26 14:46:16 +0100 Luis de Bethencourt * docs/design/draft-klass.txt: docs: fix typo in draft-klass.txt 2015-05-26 14:03:25 +0100 Luis de Bethencourt * docs/code-reviews/README: * docs/code-reviews/gstbin.c-1.41: code-reviews: remove obsolete code reviews This obsolete folder hasn't been touched since 2001 and has no purpose. It confuses new developers. 2015-05-25 21:02:28 +1000 Matthew Waters * libs/gst/base/gstbasesink.c: basesink: use the slightly more correct take_sample for last-sample gst_value_take_buffer() and gst_value_take_sample() both resolve to g_value_take_boxed(). Use the method with the correct name if we ever change that. 2015-05-25 16:23:33 +1000 Jan Schmidt * docs/gst/gstreamer-sections.txt: * gst/gststructure.c: * gst/gststructure.h: * gst/gstvalue.c: * gst/gstvalue.h: * tests/check/gst/capslist.h: * tests/check/gst/gstcaps.c: * tests/check/gst/gststructure.c: * tests/check/gst/gstvalue.c: * win32/common/libgstreamer.def: gstvalue: Add GstFlagSet type GstFlagSet is a new type designed for negotiating sets of boolean capabilities flags, consisting of a 32-bit flags bitfield and 32-bit mask field. The mask field indicates which of the flags bits an element needs to have as specific values, and which it doesn't care about. This allows efficient negotiation of arrays of boolean capabilities. The standard serialisation format is FLAGS:MASK, with flags and mask fields expressed in hexadecimal, however GstFlagSet has a gst_register_flagset() function, which associates a new GstFlagSet derived type with an existing GFlags gtype. When serializing a GstFlagSet with an associated set of GFlags, it also serializes a human-readable form of the flags for easier debugging. It is possible to parse a GFlags style serialisation of a flagset, without the hex portion on the front. ie, +flag1/flag2/flag3+flag4, to indicate that flag1 & flag4 must be set, and flag2/flag3 must be unset, and any other flags are don't-care. https://bugzilla.gnome.org/show_bug.cgi?id=746373 2015-05-20 20:19:29 +0200 Thibault Saunier * gst/gstvalue.c: gstvalue: Add a comparision function for GstStructures 2015-05-19 14:34:04 +0100 Tim-Philipp Müller * libs/gst/net/gstnetclientclock.c: * libs/gst/net/gstnettimeprovider.c: net: keep GCancellable fd around instead of re-creating it constantly Just create the cancellable fd once and keep it around instead of creating/closing it for every single packet. Since we spend most time waiting for packets, an fd is alloced and in use pretty much all the time anyway. 2015-05-18 12:52:00 +0100 Tim-Philipp Müller * plugins/elements/gstfdsrc.c: Revert "doc: Workaround gtkdoc issue" This reverts commit 460a7bf68292d057c77e84d1ea86b8e73fc081f3. This should be fixed by the gtk-doc 1.23 release. cannot contain : http://www.docbook.org/tdg/en/html/para.html http://www.docbook.org/tdg/en/html/refsect2.html 2015-05-11 10:52:23 +0200 Wim Taymans * plugins/elements/gstsparsefile.c: sparsefile: small cleanup The error path unrefs file->file so make sure we only go there when there is a non-NULL file->file. 2015-05-16 23:29:03 -0400 Nicolas Dufresne * plugins/elements/gstfdsrc.c: doc: Workaround gtkdoc issue With gtkdoc 1.22, the XML generator fails when a itemizedlist is followed by a refsect2. Workaround the issue by wrapping the refsect2 into para. 2015-05-13 13:28:05 -0300 Reynaldo H. Verdejo Pinochet * docs/design/part-negotiation.txt: docs/design/part-negotiation.txt: minor corrections 2015-05-16 12:57:12 +0200 Thibault Saunier * libs/gst/controller/gsttimedvaluecontrolsource.c: timedvaluecontrolsource: Check that the only iter is the end iter in the GSequence Previous patch was assuming that if the returned iter was the last iter the GSequence was empty, which is obviously wrong. 2015-05-16 11:17:40 +0200 Thibault Saunier * libs/gst/controller/gsttimedvaluecontrolsource.c: timedvaluecontrolsource: Fix removing all keyframes, and adding one back We were segfaulting because g_sequence_search was returning the iter_end, and that iterator does not contain anything and thus should not be used directly 2015-05-15 20:44:08 +0100 Tim-Philipp Müller * plugins/elements/gstfakesrc.c: fakesrc: fix property description We're enterprise now folks. 2015-05-15 14:57:14 +0100 Vincent Penquerc'h * gst/gstpad.c: pad: bump chain function call logs from LOG to DEBUG They're really useful compared to other LOG stuff in there, so there is value is including them and not the rest. 2015-05-15 13:43:12 +0200 Stefan Sauer * docs/gst/gstreamer-sections.txt: * gst/gstobject.c: * gst/gstobject.h: * tests/check/gst/gstobject.c: * win32/common/libgstreamer.def: gstobject: add gst_object_has_as_ancestor and deprecate previous function The old gst_object_has_ancestor will call the new code. This establishes the symetry with the new gst_object_has_as_parent. API: gst_object_has_as_ancestor() 2015-05-15 08:05:50 +0200 Stefan Sauer * docs/gst/gstreamer-sections.txt: * gst/gstobject.c: * gst/gstobject.h: * tests/check/gst/gstobject.c: * win32/common/libgstreamer.def: gstobject: rename gst_object_has_parent to gst_object_has_as_parent This avoid confusion with a potential punction that check if a gstobject has-a parent. API: gst_object_has_as_parent() 2015-05-14 15:49:43 +0800 Jian * libs/gst/base/gstbasesink.c: basesink: Fix QoS/lateness checking if subclass implements prepare/prepare_list vfuncs In basesink functions gst_base_sink_chain_unlocked(), below code is used to checking if buffer is late before doing prepare call to save some effort: if (syncable && do_sync) late = gst_base_sink_is_too_late (basesink, obj, rstart, rstop, GST_CLOCK_EARLY, 0, FALSE); if (G_UNLIKELY (late)) goto dropped; But this code has problem, it should calculate jitter based on current media clock, rather than just passing 0. I found it will drop all the frames when rewind in slow speed, such as -2X. https://bugzilla.gnome.org/show_bug.cgi?id=749258 2015-05-11 17:14:50 +0200 Víctor Manuel Jáquez Leal * plugins/elements/gstfdsrc.c: fdsrc: docs: fix and update documentation Update example to use gst-launch-1.0 and fix a paragraph. https://bugzilla.gnome.org/show_bug.cgi?id=749233 2015-05-09 11:53:49 +0100 Tim-Philipp Müller * Makefile.am: Add removed example directories to CRUFT_DIRS 2015-05-08 14:08:42 +0100 Tim-Philipp Müller * gst/gstparse.c: * plugins/elements/gstcapsfilter.c: * plugins/elements/gstfakesink.c: * plugins/elements/gstfakesrc.c: * plugins/elements/gstfilesink.c: * plugins/elements/gstfilesrc.c: * plugins/elements/gsttee.c: docs: gst-launch -> gst-launch-1.0 in example pipelines And some small example pipeline fix-ups. 2015-05-09 22:10:30 -0300 Reynaldo H. Verdejo Pinochet * docs/design/part-conventions.txt: docs/design/part-conventions.txt: minor corrections 2015-05-09 22:04:52 -0300 Reynaldo H. Verdejo Pinochet * docs/design/part-context.txt: docs/design/part-context.txt: minor corrections 2015-05-09 22:01:04 -0300 Reynaldo H. Verdejo Pinochet * docs/design/part-clocks.txt: docs/design/part-clocks.txt: minor corrections 2015-05-02 17:16:38 +0100 Tim-Philipp Müller * docs/manual/appendix-porting.xml: * docs/random/porting-to-1.0.txt: docs: update porting guides to mention new device probing API 2015-05-01 20:37:18 -0300 Reynaldo H. Verdejo Pinochet * docs/design/part-states.txt: docs/design/part-states.txt: minor corrections 2015-05-01 18:32:26 +0900 Jimmy Ohn * gst/gstevent.h: event: remove duplicated include https://bugzilla.gnome.org/show_bug.cgi?id=748739 2015-04-28 19:59:31 +0100 Tim-Philipp Müller * configure.ac: * tests/examples/Makefile.am: * tests/examples/launch/.gitignore: * tests/examples/launch/Makefile.am: * tests/examples/launch/mp3parselaunch.c: * tests/examples/metadata/.gitignore: * tests/examples/metadata/Makefile.am: * tests/examples/metadata/read-metadata.c: * tests/examples/queue/.gitignore: * tests/examples/queue/Makefile.am: * tests/examples/queue/queue.c: * tests/examples/typefind/.gitignore: * tests/examples/typefind/Makefile.am: * tests/examples/typefind/typefind.c: tests: remove some pointless ancient code examples 2015-04-28 17:54:51 +0300 Ilya Konstantinov * libs/gst/base/gstbaseparse.c: baseparse: fix GST_BASE_PARSE_FLAG_LOST_SYNC Since frame->priv->discont was cleared earlier, GST_BASE_PARSE_FLAG_LOST_SYNC was never being set. Take the chance to refactor the frame creation a bit to organize the flags setting and reset. https://bugzilla.gnome.org/show_bug.cgi?id=738237 2015-03-09 19:31:36 -0300 Thiago Santos * libs/gst/base/gstbaseparse.c: baseparse: respect DISCONT flag on buffers Drain the parser when a DISCONT buffer is received and then mark the next buffer to be pushed as a DISCONT one https://bugzilla.gnome.org/show_bug.cgi?id=745927 2015-04-28 15:50:46 +0200 Sebastian Dröge * gst/gsttaglist.c: taglist: Copy the tag scope too when copying tag lists 2015-04-20 20:02:51 -0400 Olivier Crête * plugins/elements/gstidentity.c: identity: Also synchronize GAP events in sync=1 https://bugzilla.gnome.org/show_bug.cgi?id=601853 2015-04-20 19:31:37 -0400 Olivier Crête * plugins/elements/gstidentity.c: * plugins/elements/gstidentity.h: identity: With sync=true, don't pre-roll To act like a real live element, block the streaming when paused, and return NO_PREROLL. https://bugzilla.gnome.org/show_bug.cgi?id=601853 2015-04-20 19:24:45 -0400 Olivier Crête * plugins/elements/gstidentity.c: * plugins/elements/gstidentity.h: identity: Take upstream latency into account for sync=1 https://bugzilla.gnome.org/show_bug.cgi?id=601853 2015-04-20 19:07:27 -0400 Olivier Crête * plugins/elements/gstidentity.c: identity: Handle PTS and DTS separately https://bugzilla.gnome.org/show_bug.cgi?id=601853 2015-04-26 17:05:48 +0100 Tim-Philipp Müller * .gitignore: * Android.mk: * gst/Makefile.am: * gst/parse/Makefile.am: * libs/Makefile.am: * libs/gst/Makefile.am: * libs/gst/base/Makefile.am: * libs/gst/controller/Makefile.am: * libs/gst/helpers/Makefile.am: * libs/gst/net/Makefile.am: * plugins/Makefile.am: * plugins/elements/Makefile.am: * tests/examples/controller/Makefile.am: * tools/Makefile.am: Remove obsolete Android build cruft This is not needed any longer. 2015-04-24 16:51:24 -0300 Thiago Santos * plugins/elements/gstinputselector.c: * plugins/elements/gstinputselector.h: inputselector: Only try to push the first EOS received Subsequent EOS will push on the source pad that already received EOS and that will make the event function return FALSE. It needs only to push the first one and only return TRUE for the subsequent ones. 2015-04-24 15:19:26 +0100 Tim-Philipp Müller * tests/check/gst/gstprintf.c: tests: printf: add unit test for %% https://bugzilla.gnome.org/show_bug.cgi?id=748414 2015-04-24 15:16:24 +0100 Tim-Philipp Müller * gst/printf/vasnprintf.c: printf: fix invalid memory access in case of %% https://bugzilla.gnome.org/show_bug.cgi?id=748414 2015-04-23 15:55:44 +0100 Tim-Philipp Müller * tests/check/Makefile.am: tests: define GST_CHECK_TEST_ENVIRONMENT_BEACON 2015-04-23 15:54:08 +0100 Tim-Philipp Müller * libs/gst/check/gstcheck.h: check: optionally check env var for us to make sure test env is set up If GST_CHECK_TEST_ENVIRONMENT_BEACON is defined, check if the environment variable it is defined to is set up at the start of each test. https://bugzilla.gnome.org//show_bug.cgi?id=747624 2015-04-23 09:06:42 +0900 Changbok Chea * libs/gst/base/gstbasesrc.c: basesrc: Remove unused assignment in perform_seek() https://bugzilla.gnome.org/show_bug.cgi?id=748345 2015-04-22 11:44:00 +0530 Prashant Gotarne * tests/check/gst/gstmemory.c: test: memory: Added test to verify the allocation params New test added to verify the allocation params for the memory https://bugzilla.gnome.org/show_bug.cgi?id=748277 2015-04-22 11:04:06 -0600 Jason Litzinger * tests/check/gst/gstinfo.c: tests: info: add test case to reproduce infinite loop gst_debug_unset_threshold_for_name() used to go into an infinite loop when there was more than one category in the list. This test captures the problem by failing via timeout. https://bugzilla.gnome.org/show_bug.cgi?id=748321 2015-04-22 12:03:33 -0600 Jason Litzinger * gst/gstinfo.c: gstinfo: fix infinite loop in gst_debug_unset_threshold_for_name() Ensure iterator is advanced. The current list iteration code only advances the iterator (walk) if a match is found, which results in an infinite loop when more than one entry exists in the list. https://bugzilla.gnome.org/show_bug.cgi?id=748321 2015-04-22 10:14:53 +0100 Tim-Philipp Müller * scripts/create-uninstalled-setup.sh: scripts: create-uninstalled-setup: miscellaneous fixes Error out if required build tools (flex, bison, pkg-config) are not present, instead of printing a message and then continuing. Check out submodules when fetching the repositories, so they're already there and ready later. Remove some 0.10 cruft. 2015-04-22 09:59:24 +0100 Tim-Philipp Müller * .gitignore: Add INSTALL to .gitignore 2015-04-22 09:56:55 +0100 Tim-Philipp Müller * tests/check/generic/states.c: tests: error out if test environment is not actually set up properly https://bugzilla.gnome.org//show_bug.cgi?id=747624 2015-04-22 09:52:58 +0100 Tim-Philipp Müller * configure.ac: configure: can use AM_SILENT_RULES unconditionally now https://autotools.io/automake/silent.html 2015-04-22 09:47:39 +0100 Tim-Philipp Müller * configure.ac: configure: bump automake requirement to 1.14 and autoconf to 2.69 This is only required for builds from git, people can still build tarballs if they only have older autotools. https://bugzilla.gnome.org//show_bug.cgi?id=747624 2015-04-22 10:32:57 +0200 Sebastian Dröge * INSTALL: Remove INSTALL file autotools automatically generate this, and when using different versions for autogen.sh there will always be changes to a file tracked by git. 2015-04-20 22:07:34 +0200 Thibault Saunier * scripts/gst-uninstalled: gstreamer-uninstalled: Update path to the GstValidate scenarios 2015-04-20 09:23:43 +0200 Sebastian Dröge * gst/gstbuffer.c: buffer: Check return value of meta transform function in gst_buffer_copy_into() ... by printing some debug output whenever copying a GstMeta fails. https://bugzilla.gnome.org/show_bug.cgi?id=748119 2015-04-18 12:31:02 +0100 Tim-Philipp Müller * gst/gstevent.h: event: fix header formatting 2015-04-18 12:28:15 +0100 Tim-Philipp Müller * tests/check/gst/gstprotection.c: tests: protection: fix leak in unit test 2015-04-18 12:27:46 +0100 Tim-Philipp Müller * gst/gst.h: gst.h: include the new gstprotection.h header https://bugzilla.gnome.org/show_bug.cgi?id=705991 2015-04-15 15:33:31 +0100 Alex Ashley * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * gst/Makefile.am: * gst/gst_private.h: * gst/gstinfo.c: * gst/gstprotection.c: * gst/gstprotection.h: * tests/check/Makefile.am: * tests/check/gst/.gitignore: * tests/check/gst/gstprotection.c: * win32/common/libgstreamer.def: protection: add GstProtectionMeta to support protected content In order to support some types of protected streams (such as those protected using DASH Common Encryption) some per-buffer information needs to be passed between elements. This commit adds a GstMeta type called GstProtectionMeta that allows protection specific information to be added to a GstBuffer. An example of its usage is qtdemux providing information to each output sample that enables a downstream element to decrypt it. This commit adds a utility function to select a supported protection system from the installed Decryption elements found in the registry. The gst_protection_select_system function that takes an array of identifiers and searches the registry for a element of klass Decryptor that supports one or more of the supplied identifiers. If multiple elements are found, the one with the highest rank is selected. This commit adds a unit test for the gst_protection_select_system function that adds a fake Decryptor element to the registry and then checks that it can correctly be selected by the utility function. This commit adds a unit test for GstProtectionMeta that creates GstProtectionMeta and adds & removes it from a buffer and performs some simple reference count checks. API: gst_buffer_add_protection_meta() API: gst_buffer_get_protection_meta() API: gst_protection_select_system() API: gst_protection_meta_api_get_type() API: gst_protection_meta_get_info() https://bugzilla.gnome.org/show_bug.cgi?id=705991 2015-03-16 12:35:27 +0000 Alex Ashley * gst/gstevent.c: * gst/gstevent.h: * tests/check/gst/gstevent.c: * win32/common/libgstreamer.def: event: add new GST_EVENT_PROTECTION In order for a decrypter element to decrypt media protected using a specific protection system, it first needs all the protection system specific information necessary (E.g. information on how to acquire the decryption keys) for that stream. The GST_EVENT_PROTECTION defined in this commit enables this information to be passed from elements that extract it (e.g. qtdemux, dashdemux) to elements that use it (E.g. a decrypter element). API: GST_EVENT_PROTECTION API: gst_event_new_protection() API: gst_event_parse_protection() https://bugzilla.gnome.org/show_bug.cgi?id=705991 2015-04-18 11:42:21 +0100 Tim-Philipp Müller * plugins/elements/gsttee.c: tee: fix use of possibly-freed pad in debug statement The gst_object_unref() in the block above may be dropping the last ref to the pad and free the pad. Set pad pointer to NULL here, so that we don't accidentally use a possibly-freed pad pointer in the debug log statements further below, and also use the tee element as log object since that's more appropriate anyway. Fixes valgrind warnings and crashes in tee test_stress unit test when debug logging is enabled. 2015-04-18 12:00:13 +0100 Tim-Philipp Müller * tests/check/gst/gstinfo.c: tests: info: fix unit test when run with GST_DEBUG=*:9 Only save the messages we're interested in and expecting. When run with *:9 we might get additional TRACE level messages from other categories and then we don't end up with the number of messages we expect. 2015-04-18 11:25:16 +0100 Tim-Philipp Müller * tests/check/gst/gstpad.c: tests: pad: fix buffer leak in new blocking_with_probe_type_idle test 2015-04-18 11:11:26 +0100 Tim-Philipp Müller * tests/check/gst/gstpad.c: tests: pad: fix invalid memory access in debug log message The string we put in the buffer is not NUL-terminated, so don't try to print that via %s in a debug log message. 2015-04-17 15:19:07 +0200 Mathieu Duponchelle * libs/gst/helpers/Makefile.am: helpers: on OSX, MKDIR_P is install-sh -c -d So we need to call it before cding to the bin directory. 2015-04-17 13:02:12 +0200 Mathieu Duponchelle * libs/gst/helpers/Makefile.am: helpers: install -D isn't portable, use $(MKDIR_P) instead. 2015-04-14 10:47:20 -0300 Thiago Santos * tests/check/gst/gstpad.c: tests: pad: test that idle probe will block This tests add an idle probe on an idle pad from a separate thread so that the callback is called immediatelly. This callback will sit still and then we try to push a buffer on this same pad. It verifies that the idle probe blocks data passing https://bugzilla.gnome.org/show_bug.cgi?id=747852 2015-04-14 17:06:36 -0300 Thiago Santos * gst/gstpad.c: pad: block data flow when idle probe is running When idle probe runs directly from the gst_pad_add_probe() function we need to make sure that no data flow happens as idle probe is a blocking probe. The idle probe will prevent that any buffer, bufferlist or serialized events and queries are not flowing while it is running. https://bugzilla.gnome.org/show_bug.cgi?id=747852 2015-04-16 13:41:20 +0100 Tim-Philipp Müller * gst/gsturi.c: docs: clarify that return value of gst_filename_to_uri() must be freed https://bugzilla.gnome.org/show_bug.cgi?id=747104 2015-04-15 11:02:54 +0100 Vincent Penquerc'h * gst/gstbin.c: * tests/check/generic/states.c: bin: undo upward state changes on children when a child fails When a bin changes states upwards, and a child fails to change, any child that was already switched will not be reset to its original state, leaving its state inconsistent with the bin, which does not change state due to the failure. If the state change was from NULL to READY, it means that deleting this bin will cause those children to be deleted while not in NULL state, which is a Bad Thing. For other upward changes, it is less of a problem, as a subsequent switch back to NULL will cause an actual downwards change on those inconsistent elements, albeit from the "wrong" state. We now reset state to the original one when a child fails. Includes unit test. https://bugzilla.gnome.org/show_bug.cgi?id=747610 2015-04-15 14:45:21 +0200 Mathieu Duponchelle * libs/gst/helpers/Makefile.am: helpers: use $(INSTALL) to ... install the helper. As it will create the folders and set permissions appropriately, better than doing it manually. 2015-04-15 13:02:36 +0200 Mathieu Duponchelle * libs/gst/helpers/Makefile.am: helpers: Fix Makefile.am to install the completion-helper correctly. + The program is installed at install-exec time, we thus need to move it in install-exec-hook, not install-data-hook. 2015-04-15 11:38:35 +0100 Vincent Penquerc'h * libs/gst/base/gstbasesrc.c: Revert "basesrc: fix pool leak on allocation query error path" This reverts commit 84fdf50b2f98951a32fa14802b62621f1105cd35. It seems the bug was fixed independently, and the merge was automagic, yielding two extra free calls. 2015-04-14 13:42:55 +0900 Suhwang Kim * tests/check/gst/gstclock.c: tests: clock: fix test clock name Don't call the slave test clock "Master". https://bugzilla.gnome.org/show_bug.cgi?id=746430 2015-04-14 17:47:08 +0100 Tim-Philipp Müller * gst/gstelementfactory.c: * gst/gstelementfactory.h: elementfactory: add ENCRYPTOR class defines to go with DECRYPTOR. 2015-03-16 13:11:59 +0000 Alex Ashley * gst/gstelementfactory.c: * gst/gstelementfactory.h: elementfactory: add DECRYPTOR class defines An element that performs decryption does not naturally fit within any of the existing element factory class types. It is useful to be able to easily get a list of all elements that support decryption so that a union can be computed between the protection systems that have a supported decryptor and the allowed protection systems for a particular stream. This commit adds a new GST_ELEMENT_FACTORY_TYPE_DECRYPTOR and its associated string identifier "Decryptor". It also adds GST_ELEMENT_FACTORY_TYPE_DECRYPTOR to GST_ELEMENT_FACTORY_TYPE_DECODABLE so that uridecodebin can auto-plug a decryption element. https://bugzilla.gnome.org/show_bug.cgi?id=705991 2015-04-13 17:01:41 +0200 Sebastian Dröge * plugins/elements/gsttypefindelement.c: typefindelement: Use gst_event_unref() instead of gst_mini_object_unref() + casting 2015-04-13 14:40:22 +0200 Guillaume Desmottes * plugins/elements/gsttypefindelement.c: typefind: fix leak in gst_type_find_element_src_event() gst_type_find_element_src_event() is supposed to consume @event but wasn't doing so when it was handling the event itself. https://bugzilla.gnome.org/show_bug.cgi?id=747775 Signed-off-by: Guillaume Desmottes 2015-04-11 20:44:02 +0900 Hyunjun Ko * gst/gstvalue.c: gstvalue: reset errno before g_ascii_strtoull call "errno" already has meaningless value before g_ascii_strtoull call. This causes invalid error check without reset. https://bugzilla.gnome.org/show_bug.cgi?id=747690 2015-04-12 13:13:32 +0200 Sebastian Dröge * libs/gst/base/gstbasesrc.c: basesrc: Only set DTS to segment.start on the first buffer if subclass did not provide PTS Otherwise we're going to set a rather arbitrary DTS of segment.start (usually 0) for live sources, which confuses synchronization if the source started capturing at a later time. And it's especially wrong for raw media, for which we should not set any DTS at all. https://bugzilla.gnome.org/show_bug.cgi?id=747731 2014-09-02 17:40:28 +0300 Sebastian Dröge * plugins/elements/gsttypefindelement.c: typefind: Run the default have-type handler after all application handlers Otherwise the CAPS event will already be forwarded downstream and the application has no way to intervene anymore. https://bugzilla.gnome.org/show_bug.cgi?id=735896 2015-03-10 12:57:44 +1000 Duncan Palmer * plugins/elements/gstmultiqueue.c: multiqueue: Don't automatically enter the buffering state when use-buffering is set. There is no reason I can see to set mq->buffering = TRUE when use_buffering is set; the code here also calls update_buffering(), which will set mq->buffering = TRUE if this is warranted because of low buffer levels. https://bugzilla.gnome.org/show_bug.cgi?id=745937 2015-04-10 12:32:27 +0200 Guillaume Desmottes * plugins/elements/gstinputselector.c: inputselector: fix cached buffer leak in chain function gst_selector_pad_chain() was popping cached buffers out of the queue without freeing those. Make sure we don't steal the GstBuffer as the cached buffer ref has been passed to the pad chain function. This can be reproduced by running the validate.file.playback.switch_subtitle_track_while_paused.test5_mkv scenario with Valgrind. https://bugzilla.gnome.org/show_bug.cgi?id=747611 Signed-off-by: Guillaume Desmottes 2015-04-08 16:04:11 +0200 Edward Hervey * common: * tests/check/Makefile.am: * tests/examples/manual/Makefile.am: tests: Use AM_TESTS_ENVIRONMENT Needed by the new automake test runner 2015-04-07 15:00:46 +0530 Prashant Gotarne * gst/gstbufferlist.c: bufferlist: make sure list is writable before adding or removing buffers https://bugzilla.gnome.org/show_bug.cgi?id=747439 2015-04-07 14:34:58 +0530 Prashant Gotarne * gst/gstbufferlist.c: bufferlist: minor docs addition for gst_buffer_list_get() Return buffer remains valid as long as list is valid and buffer is not removed from list. https://bugzilla.gnome.org/show_bug.cgi?id=747438 2015-04-07 11:38:31 +0100 Vincent Penquerc'h * libs/gst/base/gstbasesrc.c: basesrc: fix pool leak on allocation query error path It could be triggered by: gst-launch-1.0 videotestsrc num-buffers=20 ! videcrop bottom=214748364 ! videoconvert ! autovideosink Spotted while testing: https://bugzilla.gnome.org/show_bug.cgi?id=743910 2015-04-06 18:45:37 -0700 Sebastian Dröge * libs/gst/base/gstbaseparse.c: baseparse: Forward SEGMENT_DONE events immediately There might be no more data coming afterwards, and we just drained everything that was left to be pushed anyway. 2015-04-06 18:56:25 +0100 Tim-Philipp Müller * gst/gstinfo.c: docs: fix cross-reference to environment variables in GstInfo https://bugzilla.gnome.org/show_bug.cgi?id=747416 2015-04-06 10:18:15 +0530 Prashant Gotarne * gst/gstmemory.c: memory: add check for writablity in resize Add guard to gst_memory_resize() to make sure the memory to be resized is actually writable. https://bugzilla.gnome.org/show_bug.cgi?id=747392 2015-04-05 16:47:26 +0100 Tim-Philipp Müller * tests/check/elements/multiqueue.c: tests: multiqueue: add test to make sure initial events go through without buffers 2015-04-05 16:06:44 +0100 Tim-Philipp Müller * tests/check/elements/queue.c: tests: queue: check that the initial events are sent on immediately Add a check that makes sure stream-start, caps, and segment events are passed on by queue without delay, i.e. even if no buffer is sent. 2015-04-04 18:33:18 -0700 Sebastian Dröge * gst/gstpad.c: pad: Print debug output from gst_pad_link_full() if preparing linking failed Makes it easier to find linking failures in debug logs. 2015-04-04 19:29:51 +0100 Tim-Philipp Müller * gst/gstsegment.h: segment: small docs addition https://bugzilla.gnome.org/show_bug.cgi?id=690564 2015-04-04 18:18:03 +0100 Tim-Philipp Müller * docs/design/part-streams.txt: * docs/design/part-synchronisation.txt: docs: design: fix some 0.10-isms in GstSegment docs 1) segment.accum -> segment.base 2) Refer to GstSegment members as S.foo instead of NS.foo, the event is now called a segment event rather than newsegment event. 3) There's no more abs_rate field in GstSegment, and there never was an abs_applied_rate field. https://bugzilla.gnome.org/show_bug.cgi?id=690564 2015-04-04 04:14:50 +0300 Ilya Konstantinov * libs/gst/base/gstbasesrc.c: basesrc: do not leak buffer pool in error case https://bugzilla.gnome.org/show_bug.cgi?id=747321 2015-04-03 19:12:48 -0400 Nicolas Dufresne * gst/gsturi.c: uri: Silence a compiler warning This is a false positive for use initialized. The variable is set and used enclosed in the safe if condition. 2015-04-03 16:32:16 -0400 Nicolas Dufresne * docs/gst/gstreamer-sections.txt: doc: Add gst_segment_to_running_time_full 2015-04-03 13:19:13 -0700 Sebastian Dröge * libs/gst/base/gstbasesrc.c: basesrc: Fix documentation, buffer pools are unreffed and not freed 2015-04-03 20:43:15 +0100 Tim-Philipp Müller * INSTALL: Update INSTALL to the automake 1.14 version 2015-04-03 18:57:36 +0100 Tim-Philipp Müller * autogen.sh: * common: Automatic update of common submodule From bc76a8b to c8fb372 2015-04-03 16:27:10 +0100 Tim-Philipp Müller * win32/common/libgstreamer.def: win32: fix exports 2015-03-19 10:45:56 +0000 Vincent Penquerc'h * docs/gst/gstreamer-sections.txt: * gst/gstsegment.c: * gst/gstsegment.h: * win32/common/libgstreamer.def: segment: add gst_segment_is_equal It beats memcmp due to the 'reserved' fields. API: gst_segment_is_equal() Found via, but probably not directly linked to, https://bugzilla.gnome.org/show_bug.cgi?id=738216 2015-04-03 00:36:42 +0100 Tim-Philipp Müller * win32/common/libgstbase.def: * win32/common/libgstreamer.def: win32: add new API to exports 2014-08-06 10:32:39 +0100 Tim-Philipp Müller * gst/gstpad.c: * tests/check/gst/gstpad.c: pad: allow probes to remove the data item whilst returning PROBE_OK Use case: we want to block the source pad of a leaky queue and drop the buffer that causes the block. If we return PROBE_DROP then the buffer gets dropped, but we get called again. If we return PROBE_OK we can't easily drop the buffer. If we just replace the item into the GstPadProbeInfo structure with NULL, GStreamer will push a NULL buffer to the next element when we unblock the pad probe. This patch ensures it doesn't do that. https://bugzilla.gnome.org/show_bug.cgi?id=734342 2015-02-12 19:39:44 -0500 Olivier Crête * gst/gstelement.c: element: Document when a clock is available from gst_element_get_clock() https://bugzilla.gnome.org/show_bug.cgi?id=744442 2015-02-12 19:40:06 -0500 Olivier Crête * docs/gst/gstreamer-sections.txt: * gst/gstpipeline.c: * gst/gstpipeline.h: pipeline: Add binding friendly gst_pipeline_get_pipeline_clock() Also skip gst_pipeline_get_clock() and gst_pipeline_set_clock() from the bindings as they are confused with gst_element_*_clock(). API: gst_pipeline_get_pipeline_clock() https://bugzilla.gnome.org/show_bug.cgi?id=744442 2015-04-02 17:32:42 -0400 Nicolas Dufresne * libs/gst/base/gstbasetransform.c: basetransform: Add Since mark for new method https://bugzilla.gnome.org/show_bug.cgi?id=734424 2015-02-20 17:50:48 +0100 Thibault Saunier * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstbasetransform.h: basetransform: Add a method to let subclasses cleanly update srcpad caps API: gst_base_transform_update_src https://bugzilla.gnome.org/show_bug.cgi?id=734424 2015-04-02 21:18:39 +0100 Tim-Philipp Müller * docs/pwg/advanced-scheduling.xml: * docs/pwg/advanced-types.xml: docs: pwg: fix missing comma and 0.10-ism in code sample https://bugzilla.gnome.org/show_bug.cgi?id=747267 https://bugzilla.gnome.org/show_bug.cgi?id=747266 2015-04-02 19:29:46 +0300 Ilya Konstantinov * gst/gstmemory.c: memory: improve docs for _copy() and _share() 2015-04-02 11:42:20 +0530 Prashant Gotarne * tests/check/elements/filesink.c: test: filesink: add tests for buffers with multiple memory blocks Update test_seeking testcase to verify the render and render_list virtual method handle buffers and buffer list containing multiple memory blocks correctly. https://bugzilla.gnome.org/show_bug.cgi?id=747223 2015-04-02 09:44:33 +0200 Thibault Saunier * gst/gstelement.h: element: Add a FIXME for 2.0 about request_new_pad VS request_pad naming 2015-04-02 09:34:00 +0200 Thibault Saunier * gst/gstelement.c: element: Fix request_new_pad introspection Marking gst_element_request_pad as the caller of the ->request_new_pad virtual method. 2015-04-01 09:20:24 +0530 Prashant Gotarne * tests/check/elements/filesink.c: tests: filesink: add check for render_list virtual method GstFileSink implements the render_list virtual method to render a list of buffers. Update the test_seeking test case to also check the render_list method implementation. https://bugzilla.gnome.org/show_bug.cgi?id=747100 2015-04-01 12:13:17 +0100 Tim-Philipp Müller * gst/gst_private.h: * gst/gstcaps.c: * gst/gstdebugutils.c: debugutils: nicer printing of caps features Only print interesting caps features, don't append (memory:SystemMemory) to all caps, which makes them much more unwieldy and harder to read. Also use internal function to get caps features so that our printing has no side effects on the caps. https://bugzilla.gnome.org/show_bug.cgi?id=746809 2015-03-26 13:05:57 +0100 Lubosz Sarnecki * gst/gstdebugutils.c: debugutils: plot caps features https://bugzilla.gnome.org/show_bug.cgi?id=746809 2015-03-31 23:48:22 +0900 Wonchul Lee * gst/gstpad.c: pad: Fix a typo in a docstring https://bugzilla.gnome.org/show_bug.cgi?id=747119 2015-03-31 11:15:10 +0200 Edward Hervey * gst/Makefile.am: * libs/gst/base/Makefile.am: * libs/gst/check/Makefile.am: * libs/gst/controller/Makefile.am: * libs/gst/net/Makefile.am: introspection: Don't use g-ir-scanner cache at compile time It pollutes user directories and we don't need to cache it https://bugzilla.gnome.org/show_bug.cgi?id=747095 2015-03-28 14:45:35 +0000 Tim-Philipp Müller * gst/gstpad.c: pad: fix outdated debug message Buffer lists don't have groups any more in 1.0 2015-03-27 18:20:37 -0400 Nicolas Dufresne * libs/gst/base/gstbasesrc.c: basesrc: Flush-stop starts live task in paused The flush-stop event should not restart the task for live sources unless the element is playing. This was breaking seeks in pause with the rtpsrc. https://bugzilla.gnome.org/show_bug.cgi?id=635701 2015-03-27 16:23:40 +0000 Luis de Bethencourt * tests/check/elements/filesink.c: tests: check location isn't truncated Test covering the recent commit where location='".abc' won't get truncated to '.ab' anymore https://bugzilla.gnome.org/show_bug.cgi?id=688625 2015-03-26 17:01:06 +0000 Luis de Bethencourt * gst/gstvalue.c: * tests/check/gst/gstvalue.c: gstvalue: only unwrap string delimited with " Don't unwrap strings that start but don't finish with a double quote. If a string is delimited by two quotes we unescape them and any special characters in the middle (like \" or \\). If the first character or the last character aren't a quote we assume it's part of an unescaped string. Moved some deserialize_string unit tests because we don't try to unwrap strings missing that second quote anymore. https://bugzilla.gnome.org/show_bug.cgi?id=688625 2015-03-27 17:16:03 +0000 Luis de Bethencourt * gst/parse/grammar.y: parse: check before truncating strings Don't truncate the last character of a string if it isn't necessary. https://bugzilla.gnome.org/show_bug.cgi?id=688625 2015-03-27 10:15:16 +0100 Sebastian Dröge * gst/gstbus.c: bus: Add guards against invalid arguments to set_flushing() and poll() https://bugzilla.gnome.org/show_bug.cgi?id=746871 2015-03-25 10:49:08 -0300 Thiago Santos * libs/gst/base/gstbaseparse.c: * tests/check/libs/baseparse.c: baseparse: only post 'no valid frames' error if buffers were received Otherwise baseparse will consider empty streams to be an error while an empty stream is a valid scenario. With this patch, errors would only be emitted if the parser received data but wasn't able to produce any output from it. This change is only for push-mode operation as in pull mode an empty file can be considered an error for the one driving the pipeline Includes a unit test for it https://bugzilla.gnome.org/show_bug.cgi?id=733171 2015-03-19 10:36:11 +0100 Jose Antonio Santos Cadenas * plugins/elements/gsttee.c: * plugins/elements/gsttee.h: * tests/check/elements/tee.c: tee: Add allow-not-linked property This property avoids not linked error when all the pads are unlinked or when there are no source pads. This is useful in dynamic pipelines where it can happen that for a short time there are no pads at all or all downstream pads are not linked yet. https://bugzilla.gnome.org/show_bug.cgi?id=746436 2015-03-21 17:13:18 -0500 Michael Catanzaro * docs/gst/running.xml: docs: Fix typos https://bugzilla.gnome.org/show_bug.cgi?id=746585 2015-03-21 15:46:50 -0500 Michael Catanzaro * gst/gstpluginloader.c: pluginloader: Fix typos https://bugzilla.gnome.org/show_bug.cgi?id=746585 2015-03-24 16:04:16 -0300 Thiago Santos * plugins/elements/gstoutputselector.c: output-selector: add drain handling Release the latest buffer, if any, and then just let the drain be pushed downstream 2015-03-24 19:32:49 +0100 Mathieu Duponchelle * Makefile.am: Revert "Fix distcheck" This reverts commit 56dd2d89c4eac460cbc37e2a51c1dd9e792999e8. Installing completions to a custom prefix is now fixed. 2015-03-24 19:30:52 +0100 Mathieu Duponchelle * libs/gst/helpers/Makefile.am: helpers: remove completion-helper on uninstall + And add it to CLEANFILES 2015-03-18 19:38:15 +0100 Mathieu Duponchelle * data/completions/gst-inspect-1.0: * data/completions/gst-launch-1.0: * libs/gst/helpers/gst: completions: remove last unnamespaced symbols. https://bugzilla.gnome.org/show_bug.cgi?id=744877 2015-03-18 14:44:21 +0100 Mathieu Duponchelle * data/completions/gst-inspect-1.0: * data/completions/gst-launch-1.0: completions: remove deprecated shell syntax. https://bugzilla.gnome.org/show_bug.cgi?id=744877#c21 2015-03-18 14:37:11 +0100 Mathieu Duponchelle * data/completions/gst-inspect-1.0: * data/completions/gst-launch-1.0: completions: prefix shell functions with _gst + To make it more difficult for them to conflict in the global namespace. https://bugzilla.gnome.org/show_bug.cgi?id=744877#c21 2015-03-24 13:13:29 -0400 Nicolas Dufresne * configure.ac: bash-completion: Respect the prefix Don't try and install the bash helpers outside the defined prefix. https://bugzilla.gnome.org/show_bug.cgi?id=744877 2014-11-19 13:08:45 +0100 Jan Alexander Steffens (heftig) * plugins/elements/gstinputselector.c: input-selector: Rename _activate_sinkpad to _get_active_sinkpad Removes the now unused 'pad' parameter and renames the function to something more appropriate. https://bugzilla.gnome.org/show_bug.cgi?id=739620 2014-11-19 13:03:21 +0100 Jan Alexander Steffens (heftig) * plugins/elements/gstinputselector.c: input-selector: Remove pad's 'active' field This is now never read. https://bugzilla.gnome.org/show_bug.cgi?id=739620 2014-11-19 12:59:12 +0100 Jan Alexander Steffens (heftig) * plugins/elements/gstinputselector.c: input-selector: Use segment-presence for running_time check When determining whether the running_time of a pad can be calculated, check if the segment is in TIME format instead of using the 'active' field. Since the latter is set through *any* activity, it's not a reliable indicator of segment presence. https://bugzilla.gnome.org/show_bug.cgi?id=739620 2015-03-23 13:20:34 +0100 Jan Alexander Steffens (heftig) * plugins/elements/gstinputselector.c: * plugins/elements/gstinputselector.h: input-selector: Remove 'blocked' flag With the disappearance of the 'block' signal, this flag cannot be set to TRUE. gst_input_selector_wait disappears as it never waits and just returns self->flushing. https://bugzilla.gnome.org/show_bug.cgi?id=736891 2015-03-23 12:12:51 +0100 Jan Alexander Steffens (heftig) * plugins/elements/gstinputselector.c: * plugins/elements/gstinputselector.h: input-selector: Remove obsolete 'block' signal This signal blocks the input-selector with no means of unblocking other than a state change back to READY. It seems this signal was part of an old way of synchronously switching the selector, together with the already-removed 'switch' signal. Removing the signal is safe, as attempting to use it could only end in deadlocks. Attempting to emit an unknown signal just causes g_criticals. https://bugzilla.gnome.org/show_bug.cgi?id=736891 2015-03-23 13:05:30 +0100 Jan Alexander Steffens (heftig) * plugins/elements/gstinputselector.c: input-selector: Fix waiting on EOS This apparently got broken by bc1ec4e. Since self->blocked is always FALSE, gst_input_selector_wait never actually waits. Using (!self->eos || self->blocked) && ... as the loop condition would be incorrect as well, because then the other call to the function in _chain would block until EOS, so the functions cannot be merged trivially. Since blocking is obsolete, gst_input_selector_wait will get removed anyway. As such, just inline the loop. https://bugzilla.gnome.org/show_bug.cgi?id=746518 2015-03-20 07:23:53 -0300 Thiago Santos * tests/check/elements/selector.c: tests: input-selector: new tests for EOS handling 3 new tests: 1) Tests that a stream that is empty (just an EOS event) on inactive pad doesn't get through and tamper with the active pad that still has data 2) Tests that a stream that is shorter than the active one (pushes EOS earlier) doesn't has its EOS pushed 3) Tests that switching to an inactive stream that has received EOS will make input-selector push EOS https://bugzilla.gnome.org/show_bug.cgi?id=746518 2015-03-19 12:11:19 +0000 Thiago Santos * tests/check/elements/selector.c: tests: selector: remove weird semicolons at the end of test functions Even though it works, it is not needed and seems more natural to not have semicolons at the end of function declarations https://bugzilla.gnome.org/show_bug.cgi?id=746518 2014-07-17 16:33:29 +0200 Jan Alexander Steffens (heftig) * plugins/elements/gstqueue2.c: queue2: Process SEEKING query Add QUERY_SEEKING handling to queue2, so RTMP live streams become seekable when a queue2 in download or ringbuffer mode is inserted: rtmpsrc ! queue2 ! flvdemux https://bugzilla.gnome.org/show_bug.cgi?id=733351 2015-03-21 19:37:30 +0100 Sebastian Dröge * libs/gst/check/libcheck/check_run.c: check: Fix uninitialized variable compiler warning with gcc check_run.c: In function 'sig_handler': check_run.c:127:13: warning: 'child_sig' may be used uninitialized in this function [-Wmaybe-uninitialized] killpg(group_pid, child_sig); ^ check_run.c:130:31: warning: 'idx' may be used uninitialized in this function [-Wmaybe-uninitialized] sigaction(sig_nr, &old_action[idx], NULL); ^ 2015-03-21 15:19:43 +0100 Sebastian Dröge * libs/gst/check/libcheck/check_run.c: check: Catch SIGTERM and SIGINT in the test runner and kill all currently running tests Otherwise e.g. ctrl+c in the test runner exits the test runner, while the test itself is still running in the background, uses CPU and memory and potentially never exits (e.g. if the test ran into a deadlock or infinite loop). The reason why we have to manually kill the actual tests is that after forking they will be moved to their own process group, and as such are not receiving any signals sent to the test runner anymore. This is supposed to be done to make it easier to kill a test, which it only really does if the test itself is forking off new processes. This fix is not complete though. SIGKILL can't be caught at all, and error signals like SIGSEGV, SIGFPE are currently not caught. The latter will only happen if there is a bug in the test runner itself, and as such seem less important. 2015-03-19 13:51:38 +0100 Sebastian Dröge * plugins/elements/gstvalve.c: valve: Don't drop non-serialized queries when the valve is dropping Otherwise we end up dropping e.g. CAPS queries, and then upstream just negotiates to whatever format it wants to. Once the valve is not-dropping anymore this can easily result in negotiation failing completely. https://bugzilla.gnome.org/show_bug.cgi?id=746448 2015-03-20 09:00:47 +0100 Wim Taymans * gst/gst.c: * gst/gstsegment.c: * gst/gstsegment.h: * tests/check/gst/gstsegment.c: * win32/common/libgstreamer.def: segment: remove the bounds check from _to_running_time_full() Do not do any checks for the start/stop in the new gst_segment_to_running_time_full() method, we can let this be done by the more capable gst_segment_clip() method. This allows us to remove the enum of results and only return the sign of the calculated running-time. We need to put the old clipping checks in the old gst_segment_to_running_time() still because they work slightly differently than the _clip methods. See https://bugzilla.gnome.org/show_bug.cgi?id=740575 2015-03-19 17:36:36 +0100 Wim Taymans * gst/gstsegment.c: * gst/gstsegment.h: * tests/check/gst/gstsegment.c: segment: add option to disable clipping Add a clip argument to gst_segment_to_running_time_full() to disable the checks against the segment boundaries. This makes it possible to generate an extrapolated running-time for timestamps outside of the segment. See https://bugzilla.gnome.org/show_bug.cgi?id=740575 2015-03-18 16:27:36 +0000 Tim-Philipp Müller * gst/gst.c: gst: ref/unref new enum type in gst_init/deinit() 2015-03-18 14:16:48 +0100 Mathieu Duponchelle * tests/misc/test-gstreamer-completion.sh: * tools/gstreamer-completion: tools: remove outdated completion script + Remove the associated test https://bugzilla.gnome.org/show_bug.cgi?id=744877#c21 2015-03-18 11:31:51 +0100 Wim Taymans * gst/gstsegment.c: * gst/gstsegment.h: * tests/check/gst/gstsegment.c: * win32/common/libgstreamer.def: segment: add helper to get negative running-time Add a helper method to get a running-time with a little more features such as detecting if the value was before or after the segment and negative running-time. API: gst_segment_to_running_time_full() Fixes https://bugzilla.gnome.org/show_bug.cgi?id=740575 2015-03-18 10:53:30 +0100 Wim Taymans * gst/gstsegment.c: * tests/check/gst/gstsegment.c: segment: fix offset handling with non 0 start The position in the segment is relative to the start but the offset isn't, so subtract the start from the position when setting the offset. Add unit test for this as well. 2015-03-18 09:36:35 +0100 Sebastian Dröge * plugins/elements/gstfunnel.c: funnel: Add support for buffer lists 2013-11-29 16:28:41 -0500 Olivier Crête * libs/gst/base/gstbaseparse.c: baseparse: remove duplicate code These are already freed by gst_base_parse_clear_queues() https://bugzilla.gnome.org/show_bug.cgi?id=679768 2015-03-17 15:41:38 +0100 Sebastian Dröge * gst/gstpluginloader.c: pluginloader: Fix indention 2015-03-13 11:08:25 +0000 Vincent Penquerc'h * libs/gst/base/gstbaseparse.c: baseparse: reset skip on segments and discontinuities Large scale skip is an optimization, and thus it is safer to stop skipping than to continue. Clear skip on segments and discontinuities, as these are points where it is possible that the original idea of "bytes to skip" changes. 2015-03-15 14:19:17 +0000 Sebastian Dröge * plugins/elements/gstmultiqueue.c: multiqueue: Don't grow queue infinitely if only one pad is linked This was introduced by https://bugzilla.gnome.org/show_bug.cgi?id=719893 https://bugzilla.gnome.org/show_bug.cgi?id=722891 but it doesn't make any sense at all and causes huge memory leaks. https://bugzilla.gnome.org/show_bug.cgi?id=744253 2015-03-14 21:07:01 +0000 Tim-Philipp Müller * libs/gst/base/gstbasesink.c: basesink: handle empty buffer list more gracefully Don't abort, just ignore it. It's like a buffer without memories. 2015-03-14 17:39:39 +0000 Tim-Philipp Müller * libs/gst/base/gstadapter.c: adapter: minor optimisation for gst_adapter_take_buffer_list() Try to allocate buffer list with a suitable size from the beginning to avoid having to re-alloc the buffer list array. 2015-03-14 17:23:03 +0000 Tim-Philipp Müller * tests/check/libs/adapter.c: tests: add unit test for gst_adapter_take_buffer_list() 2015-03-14 17:20:33 +0000 Tim-Philipp Müller * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstadapter.c: * libs/gst/base/gstadapter.h: * win32/common/libgstbase.def: adapter: add gst_adapter_take_buffer_list() API: gst_adapter_take_buffer_list() 2015-03-14 16:05:57 +0000 Tim-Philipp Müller * tests/.gitignore: * tests/check/elements/.gitignore: Add new streamiddemux binaries to .gitignore 2015-03-14 16:00:47 +0000 Tim-Philipp Müller * libs/gst/base/gstcollectpads.c: collectpads: avoid multiple calls to gst_buffer_get_size() in macro 2015-03-14 15:58:00 +0000 Tim-Philipp Müller * libs/gst/base/gstadapter.c: adapter: avoid multiple calls to gst_buffer_get_size() in macro 2015-03-13 18:22:01 +0000 Ramiro Polla * gst/gstelement.c: element: properly escape percent sign in documentation 2015-03-14 13:37:09 +0000 Sebastian Dröge * gst/gstbuffer.c: buffer: Use the correct enum type to fix a compiler warning gstbuffer.c:522:58: error: implicit conversion from enumeration type 'GstBufferFlags' to different enumeration type 'GstBufferCopyFlags' [-Werror,-Wenum-conversion] if (!gst_buffer_copy_into (copy, (GstBuffer *) buffer, flags, 0, -1)) ~~~~~~~~~~~~~~~~~~~~ ^~~~~ gstbuffer.c:534:46: error: implicit conversion from enumeration type 'GstBufferCopyFlags' to different enumeration type 'GstBufferFlags' [-Werror,-Wenum-conversion] return gst_buffer_copy_with_flags (buffer, GST_BUFFER_COPY_ALL); ~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~ ./gstbuffer.h:433:31: note: expanded from macro 'GST_BUFFER_COPY_ALL' ...((GstBufferCopyFlags)(GST_BUFFER_COPY_METADATA | GST_BUFFER_COPY_MEMORY)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2015-03-14 14:06:09 +0100 Wim Taymans * win32/common/libgstnet.def: defs: update defs 2014-10-30 15:39:21 +0000 William Manley * docs/libs/gstreamer-libs-sections.txt: * libs/gst/net/Makefile.am: * libs/gst/net/gstnetcontrolmessagemeta.c: * libs/gst/net/gstnetcontrolmessagemeta.h: meta: Add `GstNetControlMessageMeta` GstNetAddress can be used to store ancillary data which was received with or is to be sent alongside the buffer data. When used with socket sinks and sources which understand this meta it allows sending and receiving ancillary data such as unix credentials (See `GUnixCredentialsMessage`) and Unix file descriptions (See `GUnixFDMessage`). This will be useful for implementing protocols which use file-descriptor passing in payloaders/depayloaders without having to re-implement all the socket handling code already present in elements such as multisocketsink, etc. This, in turn, will be useful for implementing zero-copy video IPC. This meta uses the platform independent `GSocketControlMessage` API provided by GLib as a part of GIO. As a result this new meta does not require any new dependencies or any conditional compliation for portablility, although it is unlikely to do anything useful on non-UNIX platforms. 2015-03-14 11:57:33 +0000 Nicolas Dufresne * gst/gstquery.c: allocation: Allow allocation pool without size This allow proposing a number of buffers required even if the size of buffer is unfixed. This is often the case for encoded formats. 2015-03-01 13:15:40 -0500 Nicolas Dufresne * gst/gstbufferpool.c: * tests/check/gst/gstbufferpool.c: bufferpool: Don't stop the pool in set_config() Don't stop the pool in set_config(). Instead, let the controlling element manage it. Most of the time, when an active pool is being configured is because the caps didn't change. https://bugzilla.gnome.org/show_bug.cgi?id=745377 2015-03-13 18:53:11 +0000 Thiago Santos * libs/gst/base/gstbasesink.c: basesink: drain on allocation query Allows buffers to be reclaimed when caps is to be renegotiated so that bufferpools can be stopped. As the allocation query is serialized all buffers have been already drained from the pipeline, except this last_sample one. https://bugzilla.gnome.org/show_bug.cgi?id=682770 2015-03-13 18:35:14 +0000 Thiago Santos * libs/gst/base/gstbasesink.c: basesink: when draining, deep copy the last buffer to unref old memory Use gst_buffer_copy_deep() to force the copy of the underlying memory instead of possibly doing a shallow copy of the buffer and just referencing the memory https://bugzilla.gnome.org/show_bug.cgi?id=745287 2015-03-13 18:35:01 +0000 Thiago Santos * gst/gstbuffer.c: * gst/gstbuffer.h: * tests/check/gst/gstbuffer.c: * win32/common/libgstreamer.def: gstbuffer: add gst_buffer_copy_deep A variant of gst_buffer_copy that forces the underlying memory to be copied. This is added to avoid adding an extra reference to a GstMemory that might belong to a bufferpool that is trying to be drained. The use case is when the buffer copying is done to release the old buffer and all its resources. https://bugzilla.gnome.org/show_bug.cgi?id=745287 2015-03-13 15:31:30 +0000 Sebastian Dröge * gst/gstbus.c: bus: Use g_list_free_full() instead of manually unreffing and freeing Also unref the messages, not the GList nodes. 2015-03-13 13:42:46 +0000 Sebastian Dröge * gst/gstbus.c: bus: Fix another case where we hold the object lock while unreffing a message 2015-03-13 15:28:42 +0200 Vivia Nikolaidou * gst/gstbus.c: bus: Unreferencing messages outside the lock Shouldn't take the lock while unreferencing messages, because that may cause more messages to be sent, which will try to take the lock and cause the app to hang. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=728777 2015-02-23 20:27:32 +0200 Vivia Nikolaidou * docs/gst/gstreamer-sections.txt: * gst/gstutils.c: * gst/gstutils.h: * win32/common/libgstreamer.def: utils: Add gst_bin_sync_children_states() gst_bin_sync_children_states() will iterate over all the elements of a bin and sync their states with the state of the bin. This is useful when adding many elements to a bin and would otherwise have to call gst_element_sync_state_with_parent() on each and every one of them. https://bugzilla.gnome.org/show_bug.cgi?id=745042 2015-02-03 16:12:32 +0100 Aurélien Zanelli * gst/printf/vasnprintf.c: printf: handle unsigned modifier for long long Otherwise, an unsigned integer will be displayed as a signed one if we use internal print, ie HAVE_LONG_LONG_FORMAT is not defined. https://bugzilla.gnome.org/show_bug.cgi?id=746096 2015-03-12 14:39:37 +0000 Sebastian Dröge * plugins/elements/gststreamiddemux.c: streamiddemux: Reset pad counter after removing all pads 2014-03-04 19:40:05 +0900 HoonHee Lee * configure.ac: * plugins/elements/Makefile.am: * plugins/elements/gstelements.c: * plugins/elements/gststreamiddemux.c: * plugins/elements/gststreamiddemux.h: * tests/check/Makefile.am: * tests/check/elements/streamiddemux.c: * tests/examples/Makefile.am: * tests/examples/streamiddemux/Makefile.am: * tests/examples/streamiddemux/streamiddemux-stream.c: streamiddemux: Add streamiddemux element Demultiplex a stream to multiple source pads based on the stream ids from the stream-start events. This basically reverses the behaviour of funnel. https://bugzilla.gnome.org/show_bug.cgi?id=707605 2015-03-12 13:29:35 +0000 Tim-Philipp Müller * win32/common/config.h: * win32/common/gstenumtypes.c: * win32/common/gstversion.h: win32: update 2015-03-12 13:26:59 +0000 Tim-Philipp Müller * tests/check/Makefile.am: * tests/check/gst/.gitignore: * tests/check/gst/gstprintf.c: tests: add some basic unit tests for our printf stuff To test new %I32 support. https://bugzilla.gnome.org/show_bug.cgi?id=744281 2015-02-10 17:40:48 +0100 Matej Knopp * gst/printf/printf-parse.c: printf: add support for %I32 https://bugzilla.gnome.org/show_bug.cgi?id=744281 2015-03-12 13:14:52 +0000 Tim-Philipp Müller * gst/gstinfo.c: info: move category level threshold check into log function dispatcher Minor optimisation: check category log level earlier in the log function dispatcher and not only in the default log function. https://bugzilla.gnome.org/show_bug.cgi?id=745213 2015-03-12 12:59:57 +0000 Sebastian Dröge * plugins/elements/gsttypefindelement.c: typefind: Reset segment when deactivating pull mode or not running in pull mode We use the segment format to detect if we run the streaming thread or not. Without resetting we might believe we do so, although we only did in the past and are now running in e.g. push mode. https://bugzilla.gnome.org/show_bug.cgi?id=745073 2015-03-08 20:42:38 +0100 Michał Dębski * libs/gst/check/libcheck/check_msg.c: * m4/check-checks.m4: check: Use mkstemp instead of tempnam if possible Using tempnam() is deprecated, this gives warning and fails the build with -Werror. https://bugzilla.gnome.org/show_bug.cgi?id=745858 2015-03-11 16:36:29 +0100 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: clean up the need_preroll variable Based on patch from Song Bing Don't just set the need_preroll flag to TRUE in all cases. When we are already prerolled it needs to be set to FALSE and when we go to READY we should not touch it. We should only set it to TRUE in other cases, like what the code above does. See https://bugzilla.gnome.org/show_bug.cgi?id=736655 2014-12-05 14:16:52 +0900 hoonhee.lee * plugins/elements/gstfunnel.c: * tests/check/elements/funnel.c: funnel: handle GAP event to forwards sticky events into downstream If no data is coming and funnel receive GAP event, need to forwards sticky events into downstream if it needs. https://bugzilla.gnome.org/show_bug.cgi?id=738202 2015-03-10 16:42:44 +0000 Luis de Bethencourt * libs/gst/check/libcheck/check_run.c: check: duplicate code branches CID #1226446 2015-03-10 09:21:22 +0000 Tim-Philipp Müller * gst/gstinfo.c: * tests/check/pipelines/queue-error.c: Fix double semicolons 2015-02-22 10:12:01 +0100 Mark Nauwelaerts * win32/common/libgstbase.def: win32: update exports 2015-02-21 20:13:04 +0100 Mark Nauwelaerts * libs/gst/base/gstflowcombiner.c: * libs/gst/base/gstflowcombiner.h: flowcombiner: add a gst_flow_combiner_update_pad_flow() method https://bugzilla.gnome.org/show_bug.cgi?id=744572 API: gst_flow_combiner_update_pad_flow() 2015-02-15 20:52:10 +0100 Mark Nauwelaerts * libs/gst/base/gstflowcombiner.c: * libs/gst/base/gstflowcombiner.h: flowcombiner: add a gst_flow_combiner_reset() method https://bugzilla.gnome.org/show_bug.cgi?id=744572 API: gst_flow_combiner_reset() 2015-03-06 10:59:58 +0100 Sebastian Dröge * libs/gst/base/gstbasesrc.c: basesrc: Fix typo in debug message 2015-03-05 18:30:45 +0000 Tim-Philipp Müller * gst/gstinfo.c: info: avoid malloc/free if log object is NULL 2015-03-05 17:54:04 +0000 Tim-Philipp Müller * gst/gstinfo.c: info: move __FILE__ path shortening into default log handler Instead of always shortening the __FILE__ path, even if the log message is not actually printed, which might happen if the log level is activated but the category is not, only shorten the path if we're actually going to output it and if it looks like it needs shortening. Log handlers had no guarantee that they would get a name instead of a path anyway on any architecture, so it shouldn't be a problem. https://bugzilla.gnome.org/show_bug.cgi?id=745213 2015-02-27 01:16:58 +1100 Peter Urbanec * gst/gstinfo.c: info: shorten __FILE__ on all platforms This is useful not only for MSVC, but also with gcc/Linux when doing cross-compilation builds and out-of-tree builds. https://bugzilla.gnome.org/show_bug.cgi?id=745213 2015-03-04 11:02:41 +0000 Vincent Penquerc'h * docs/design/part-latency.txt: docs: clarify min-latency wording in part-latency.txt https://bugzilla.gnome.org/show_bug.cgi?id=744338 2015-02-26 14:43:25 +0100 Marcin Kolny * win32/common/gstconfig.h: win32/common/gstconfig.h: removed libxml include directive This is a leftover from 0.10 and not needed anymore. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=745210 2015-03-03 12:53:13 +0100 Sebastian Dröge * plugins/elements/gstqueue2.c: queue2: Signal the sinkpad thread if a flow error happened It might still be waiting for a query to be handled, or the queue to become empty again for the next item. Also if downstream returns FLUSHING, flush the queue like we do in queue and multiqueue. 2015-03-03 12:48:34 +0100 Sebastian Dröge * plugins/elements/gstqueue.c: queue: Wake up the query function on errors from the loop function Otherwise we might wait forever for serialized queries to be handled as the loop function is stopped and as such we will never ever dequeue the query and handle it. https://bugzilla.gnome.org/show_bug.cgi?id=745319 2015-03-02 20:31:58 +0000 Tim-Philipp Müller * gst/gstutils.c: utils: improve warning when linking elements without common ancestor This comes up quite a lot and it's a common mistake, so let's try to improve the warning message a little. 2015-02-27 00:33:27 +0530 Arun Raghavan * plugins/elements/gstinputselector.c: input-selector: Drop custom latency query handling The default latency query handler now implements this logic 2015-02-26 15:57:20 +0100 Mathieu Duponchelle * scripts/gst-uninstalled: gst-unsinstalled: Add ges-launch manuals path to MANPATH. 2015-02-26 13:08:48 +0530 Arun Raghavan * gst/gstpad.c: pad: Don't fail latency query on unlinked pads A single unlinked pad can make the latency query fail across the pipeline, which is probably not desirable. Instead, we return a default anything goes value. Perhaps we should also be emitting a gst_message_new_latency() when a PLAYING element has one of its pads linked. https://bugzilla.gnome.org/show_bug.cgi?id=745197 2014-10-22 16:43:43 +0200 Edward Hervey * libs/gst/base/gstbaseparse.c: baseparse: Don't emit errors on EOS if we saw GAP events If we saw GAP events (meaning the streams is advancing) before we get EOS, we should not post an ERROR, since it is not fatal. https://bugzilla.gnome.org/show_bug.cgi?id=745143 2015-02-25 08:26:19 +0100 Edward Hervey * gst/gstvalue.h: * tests/check/gst/gstinfo.c: gstvalue: Make sure GST_FOURCC_ARGS produces printable characters Some systems will crash if we use non-printable characters in print/debug statements. Make sure that GST_FOURCC_ARGS never does that https://bugzilla.gnome.org/show_bug.cgi?id=745144 2015-02-25 16:11:06 +0000 Luis de Bethencourt * gst/gstutils.c: gstutils: remove incorrect Fixme comment If the checks were changed to using g_return_if_fail() the GST_DEBUG lines about the specific failure would be lost. 2015-02-25 16:02:39 +0000 Luis de Bethencourt * gst/gstutils.c: gstutils: remove obsolete Fixme comment gst_pad_link_filtered() is very long gone and current gst_element_link_pads_filtered() doesn't apply to this Fixme comment. 2015-02-24 21:58:00 +0100 Matthieu Bouron * scripts/gst-uninstalled: gst-uninstalled: add adaptivedemux paths from -bad https://bugzilla.gnome.org/show_bug.cgi?id=745122 2015-02-24 18:14:47 +0000 Luis de Bethencourt * docs/faq/developing.xml: docs: remove dead link Remove dead link to wiki page for SubmittingPatches https://bugzilla.gnome.org/show_bug.cgi?id=730311 2015-02-24 14:07:54 +0100 Mathieu Duponchelle * libs/gst/helpers/Makefile.am: helpers: Fix install of completion-helper. By applying the supplied transformation to the program name, for example --program-prefix. 2015-02-23 16:39:43 -0500 Nicolas Dufresne * libs/gst/helpers/Makefile.am: completion-helper: Add missing DESTDIR Otherwise doing "make install DESTDIR" will try to write to /usr/share/... 2015-02-23 21:17:16 +0100 Mathieu Duponchelle * libs/gst/helpers/gst-completion-helper.c: completion-helper: Add filtering by klass and sink caps. 2015-02-21 17:13:26 +0100 Mark Nauwelaerts * plugins/elements/gstmultiqueue.c: multiqueue: avoid returning downstream GST_FLOW_EOS from previous segment to current upstream segment 2015-02-22 10:02:25 +0100 Mark Nauwelaerts * libs/gst/base/gstflowcombiner.c: flowcombiner: fix documentation comment typo 2015-02-22 10:01:33 +0100 Mark Nauwelaerts * libs/gst/base/gstbaseparse.c: baseparse: drain segment upon SEGMENT_DONE to ensure proper event order 2015-02-22 10:01:50 +0100 Mark Nauwelaerts * libs/gst/base/gstbaseparse.c: baseparse: clean up some bogus commented code 2015-02-23 19:10:08 +0100 Mathieu Duponchelle * libs/gst/helpers/Makefile.am: completion-helper: Append $(EXEEXT) to the name of the moved file. Fixes the build on Windows (https://ci.gstreamer.net/job/cerbero-cross-mingw32/1742/console) 2015-02-23 17:23:33 +0000 Tim-Philipp Müller * Makefile.am: Fix distcheck Disable bash completion during distchecking otherwise it may try to install into a system path and fail. 2015-02-23 17:16:45 +0000 Tim-Philipp Müller * Makefile.am: Dist new data directory Fixes 'make dist' 2015-02-20 22:04:22 +0100 Mathieu Duponchelle * Makefile.am: * configure.ac: * data/Makefile.am: * data/completions/gst-inspect-1.0: * data/completions/gst-launch-1.0: * libs/gst/helpers/.gitignore: * libs/gst/helpers/Makefile.am: * libs/gst/helpers/gst: * libs/gst/helpers/gst-completion-helper.c: * pkgconfig/gstreamer-uninstalled.pc.in: * pkgconfig/gstreamer.pc.in: bash-completion: Implement in a different way. + Gets installed + Uses a helper tool, gst-completion-helper, installed in bash-completions/helpers. + Adds a common script that other tools can source. https://bugzilla.gnome.org/show_bug.cgi?id=744877 2015-02-23 12:08:49 +0000 Luis de Bethencourt * gst/Makefile.am: * gst/gst.h: GstDeviceMonitor: keep alphabetical order 2015-02-20 16:22:23 -0500 Olivier Crête * gst/gstelement.c: * tests/check/gst/gstelement.c: Revert "element: set pads need-parent flag to false when removing" This reverts commit 1911554cff2c4a11772b541a8215a80c728b1097. This breaks the functionality of GST_PAD_FLAG_NEED_PARENT, the reason for this flag is that if a pad is removed from a running element, you don't want functions (such as chain or event) to be called on the pad without a parent set. This can happen if you remove a request or sometimes pad from a running element. I don't see the code that caused this in tsdemux, but if it needs to unset the flag on remove, it should do it itself and then make sure that the parent exists in any pad function. 2015-02-19 12:17:15 +0100 Mathieu Duponchelle * libs/gst/check/gstcheck.h: check: cast element in ASSERT_SET_STATE. https://bugzilla.gnome.org/show_bug.cgi?id=744777 2015-02-19 01:16:52 +0200 Sebastian Dröge * plugins/elements/gstinputselector.c: inputselector: Use a separate query for upstream pads and let it fail if one upstream query fails 2015-02-19 01:12:49 +0200 Sebastian Dröge * gst/gstpad.c: pad: If the latency query fails for one of the pads, it fails overall 2015-02-18 11:05:19 +0200 Sebastian Dröge * plugins/elements/gstqueue.c: queue: Remove unused boolean parameter from internal functions 2015-02-17 12:11:43 +0200 Sebastian Dröge * tests/check/elements/queue.c: queue: Add unit test for buffer list and time level handling 2015-02-17 11:44:40 +0200 Sebastian Dröge * plugins/elements/gstqueue.c: queue: Add support for buffer lists 2015-02-17 11:41:50 +0200 Sebastian Dröge * plugins/elements/gstqueue2.c: queue2: Count the number of buffers in a buffer list for updating the current levels instead of just assuming one buffer. 2015-02-17 20:47:23 +0000 Tim-Philipp Müller * gst/gstmessage.c: message: revive async delivery message before bus thread can run unref Revive message in dispose handler before we signal the bus thread, otherwise the bus thread might be woken up and unref the message before we had a chance to revive it yet. 2015-02-16 23:02:40 +0000 Tim-Philipp Müller * tests/check/gst/gstbus.c: tests: bus: add unit test for async message delivery 2015-02-16 22:39:42 +0000 Tim-Philipp Müller * gst/gst_private.h: * gst/gstbus.c: * gst/gstmessage.c: message, bus: fix async message delivery Async message delivery (where the posting thread gets blocked until the message has been processed and/or freed) was pretty much completely broken. For one, don't use GMutex implementation details to check whether a mutex has been initialized or not, esp. not implementation details that don't hold true any more with newer GLib versions where atomic ops and futexes are used (spotted by Josep Torras). This led to async message delivery no longer blocking with newer GLib versions on Linux. Secondly, after async delivery don't free mutex/GCond embedded inside the just-freed message structure. Use a new (private) mini object flag to signal GstMessage that the message being freed is part of an async delivery on the bus so that the dispose handler can keep the message alive and the bus can free it once it's done cleaning up stuff. 2015-02-16 19:24:44 +0000 Tim-Philipp Müller * gst/gstinfo.c: info: nicer buffer offset printing when offsets are not set Print unset offsets as 'none' instead of humongous numbers, for better readability. 2015-02-16 11:35:41 +0200 Sebastian Dröge * gst/gstpad.c: pad: Only initialize GValue to a type once, not on every retry Otherwise we'll get warnings like this: cannot initialize GValue with type 'gboolean', the value has already been initialized as 'gboolean' 2015-02-14 12:15:03 +0100 Matthieu Bouron * gst/gstutils.c: gstutils: check uri before using it in gst_pad_create_stream_id_internal If an element implements wrongly the URI query and set the uri to NULL and if the element calls gst_pad_create_stream_id at some point, it will lead to crash as the uri is not supposed to be NULL in the gst_pad_create_stream_id_internal function. https://bugzilla.gnome.org/show_bug.cgi?id=744520 2015-02-13 19:43:24 +0100 Thibault Saunier * libs/gst/controller/gsttimedvaluecontrolsource.c: timedvaluecontrolsource: Do not wrongly send value-removed And avoid freeing something we do not own 2015-02-04 15:06:17 +0100 Thibault Saunier * scripts/gst-uninstalled: gst-uninstalled: Set GST_VALIDATE_PLUGIN_PATH 2015-02-12 13:34:49 -0300 Thiago Santos * libs/gst/base/gstbasesrc.c: basesrc: fix documentation and debug message after latency updates Changes docs and message according to latency handling fix 2015-02-12 14:50:15 +0000 Frédéric Wang * plugins/elements/gstfdsrc.c: fdsrc: use g_ascii_strtoull() to convert size string in uri sscanf() doesn't handle G_GUINT64_FORMAT well on mingw64 it appears, leading to compiler warnings. https://bugzilla.gnome.org/show_bug.cgi?id=744034 2015-02-12 14:03:15 +0200 Sebastian Dröge * gst/gstpad.c: pad: gst_pad_iterate_internal_links() can return NULL if there are none 2015-02-12 14:03:03 +0200 Sebastian Dröge * gst/gstpad.c: pad: Return NULL instead of FALSE for pointers 2015-02-12 13:55:36 +0200 Sebastian Dröge * gst/gstpad.c: pad: Implement more useful default handling for the LATENCY query Before we just took the values from the first pad that succeded the query, now we accumulate the results of every sinkpad properly and return that result. 2015-02-12 11:26:26 +0200 Sebastian Dröge * docs/design/part-latency.txt: design/part-latency: Minor logic fix The maximum latency will be the element's minimum latency or bigger, not bigger than the element's minimum latency or bigger. 2015-02-11 13:41:56 +0100 Sebastian Dröge * gst/gstquery.c: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * plugins/elements/gstqueue.c: Improve and fix LATENCY query handling This now follows the design docs everywhere. https://bugzilla.gnome.org/show_bug.cgi?id=744106 2015-02-11 12:20:39 +0100 Sebastian Dröge * docs/design/part-latency.txt: design/part-latency: Add more details about min/max latency handling These docs missed many details that were not obvious and because of that handled in a few different, incompatible ways in different elements and base classes. https://bugzilla.gnome.org/show_bug.cgi?id=744106 2015-02-07 05:16:23 +1100 Jan Schmidt * tests/check/gst/gstclock.c: tests: Fix clock regression test Fix up the values the test is checking for now that the clock regression returns parameters starting from the end of the regression range. 2015-02-07 04:22:22 +1100 Jan Schmidt * libs/gst/net/gstnetclientclock.c: netclock: Don't update the clock when it desynch Add a hold off when the clock calibration suddenly loses synch, as it may be a glitch, but also make sure we update if it stays desynched for more than a few seconds 2015-02-06 06:07:43 +1100 Jan Schmidt * libs/gst/net/gstnetclientclock.c: netclock: Make the RTT average ignore large values more forcefully. Smooth larger RTTs a little harder, so excessively large values perturb the average a bit less, and therefore get filtered out more strongly 2015-02-05 22:55:39 +1100 Jan Schmidt * gst/gstclock-linreg.c: clock: Make linear regression x/y base start from maximum observation. Project the results of the linear regression to the end of the regression range, so they're more directly comparable to results going forward 2015-02-05 13:49:47 +0000 Tim-Philipp Müller * gst/gstpad.c: pad: add "offset" property to go with gst_pad_set_offset() So we can set the offset via gst-launch. 2015-02-02 08:22:47 +0100 Stefan Sauer * gst/gstplugin.c: plugin: add more detail to logging when not loading a plugin Improve the log messages and add e.g the version number we checked. 2015-02-02 17:37:44 +1100 Jan Schmidt * gst/gstpad.c: gstpad: Fix a typo in a docstring. 2015-02-01 14:23:26 -0500 Nicolas Dufresne * gst/gsttask.c: build: Check that _MSC_VER macro is defined 2015-02-01 03:39:03 +0200 Ilya Konstantinov * configure.ac: * gst/gsttask.c: task: Add thread name support on OS X and iOS 2015-01-29 16:37:07 +0100 Sebastian Dröge * gst/gstclock-linreg.c: clock: Don't use invalid objects for GST_DEBUG_OBJECT() Not sure what "clock" actually is here, it must be something defined by one of the headers that are included. 2015-01-29 12:10:18 +0100 Sebastian Dröge * gst/gstbuffer.c: buffer: Document that gst_buffer_copy_region() accepts -1 as size to copy until the end It's just a wrapper around gst_buffer_copy_into() after all. 2014-12-09 16:28:56 +1100 Jan Schmidt * gst/gstsegment.c: * gst/gstsegment.h: segment: Add new skip flags for clarifying trick mode playback. Add GST_SEEK_FLAG_TRICKMODE_KEY_UNITS and GST_SEEK_FLAG_TRICKMODE_NO_AUDIO, and rename GST_SEEK_FLAG_SKIP to GST_SEEK_FLAG_TRICKMODE (with backwards compat define). Do the same for the corresponding SEGMENT flags. https://bugzilla.gnome.org/show_bug.cgi?id=735666 2015-01-23 08:59:27 +0100 Stefan Sauer * libs/gst/check/gstcheck.c: check: fix another typo in the docs 2015-01-22 23:10:06 +0200 Sebastian Dröge * gst/gsturi.c: * tests/check/gst/gsturi.c: uri: Fix indention 2015-01-21 14:10:02 +0000 David Waring * tests/check/gst/gsturi.c: uri: Fix new URI parsing tests based on GNet's https://bugzilla.gnome.org/show_bug.cgi?id=743195 2015-01-21 14:09:45 +0000 David Waring * gst/gsturi.c: uri: Fix parsing issues Make host IPs in square brackets store only the IP, i.e. strip the brackets. Strip leading whitespace characters in URIs. Fail parsing when host part does not match any valid formats from RFC3986. https://bugzilla.gnome.org/show_bug.cgi?id=743195 2015-01-19 19:15:32 +0100 Sebastian Dröge * tests/check/gst/gsturi.c: uri: Add parsing unit test based on GNet's Plus some new URIs to parse. https://git.gnome.org/browse/archive/gnet/plain/tests/check/gnet/gneturi.c https://bugzilla.gnome.org/show_bug.cgi?id=743195 2015-01-22 11:29:18 +0100 Heinrich Fink * libs/gst/check/gstcheck.c: check: Fix doc of GST_CHECKS and GST_CHECKS_IGNORE https://bugzilla.gnome.org/show_bug.cgi?id=743335 2015-01-21 18:07:09 +0100 Sebastian Dröge * libs/gst/check/Makefile.am: * libs/gst/check/gstcheck.c: check: Add _fail_unless() compatibility function around _ck_assert_failed() We exported this in < 1.5 and it was automatically used by many macros from the header. Keep it exported for now. 2015-01-21 14:12:22 +0100 Edward Hervey * gst/gstpad.c: gstpad: Inline apply_pad_offset() Avoid doing a function call for something which will mostly be unused 2015-01-21 14:10:06 +0100 Edward Hervey * gst/gstpad.c: gstpad: Fix debug message 2015-01-21 11:45:41 +0100 Edward Hervey * gst/gstpad.c: gstpad: Fix PROBE_NO_DATA macro The problem was that the macro was always used with 'ret' as the defaultval argument. This would result in the macro eventually expanding to if (G_UNLIKELY (ret != ret && ret != GST_FLOW_OK)) ... ret != ret will always fail, and therefore we'd never call the following line. Instead of that, store the previous value locally for comparision 2015-01-21 22:44:59 +1100 Jan Schmidt * libs/gst/net/gstnetclientclock.c: netclock: Fix docs typo. Clock bus messages are GST_MESSAGE_ELEMENT 2015-01-15 22:32:28 +1100 Jan Schmidt * libs/gst/net/gstnetclientclock.c: netclock: Implement rate limits for polling and fix up skew limits Add the minimum-update-interval property to the clock, with a default of 50ms and don't send polling requests faster than that. That helps to ensure we spread the initial observations out a little - startup takes a little longer, but tracking is more stable. Move the discont skew limiting code inside an if statement, so that it's only done when the linear regression succeeds and the clock parameters might actually change. 2015-01-15 10:05:32 +1100 Jan Schmidt * gst/Makefile.am: * gst/gst_private.h: * gst/gstclock-linreg.c: * gst/gstclock.c: * tests/check/gst/gstclock.c: clock: Improve slaving regression. Add domain checks for the input values, and a variable precision calculation that loops if necessary to ensure we never overflow accumulators and then silently produce garbage results. Make the (non-public) linear regression function available for unit testing by putting it in a separate source file the test can include. Add a unit test that the new regression function produces sensible results for several inputs taken from real-world captures. 2015-01-10 21:42:00 +1100 Jan Schmidt * configure.ac: * tests/examples/Makefile.am: * tests/examples/netclock/.gitignore: * tests/examples/netclock/Makefile.am: * tests/examples/netclock/netclock-client.c: * tests/examples/netclock/netclock-server.c: netclock: Add simple network clock server and client examples 2015-01-10 21:42:00 +1100 Jan Schmidt * libs/gst/net/gstnetclientclock.c: netclock: Implement sending statistic bus messages and discont limits Allow setting a GstBus on the network clock client via a new 'bus' object property. If a bus is set, the clock will output an element message containing statistics about new clock observations and the clock correlation. When the local clock is synchronised with the remote, limit the maximum jump in the clock at any point to be one average RTT to the server. Also, publish in the bus message whether we are synched with the remote or not. 2015-01-10 21:42:00 +1100 Jan Schmidt * gst/gstclock.c: * gst/gstclock.h: * win32/common/libgstreamer.def: clock: Add gst_clock_add_observation_unapplied() gst_clock_add_observation_unapplied() adds a new master/slave clock observation and runs the regression without activating the new calibration results. 2014-12-16 22:51:22 +1100 Jan Schmidt * gst/gstclock.c: * gst/gstclock.h: * win32/common/libgstreamer.def: clock: Add gst_clock_adjust_with_calibration() gst_clock_adjust_with_calibration() uses directly passed calibration parameters, instead of using the clock's current calibration, allowing for calculations using pending or old calibration params 2015-01-21 09:45:16 +0100 Sebastian Dröge * plugins/elements/gstoutputselector.c: output-selector: Constify negotiation mode GEnumValue table 2015-01-20 10:35:47 -0300 Thiago Santos * gst/gstevent.c: docs: fix typo in GstEvent docs send -> sent 2015-01-20 09:19:10 +0100 Thibault Saunier * scripts/git-update.sh: * scripts/gst-uninstalled: scripts: Remove gnonlin from the scripts It is not maintain anymore and its feature are now inside the GStreamer Editing Services (for the time being). 2015-01-16 19:17:31 +0100 Sebastian Dröge * gst/gstbin.c: bin: Pass structs we plan to modify around by pointer, not value Otherwise the struct is going to be copied, which is not very efficient. And also has the nice side effect that modifications of the struct might be done in a copy, and we later use the original struct without the changes. Caused LATENCY queries to always return the initialization values in one of my tests, instead of the actual values reported by child elements. 2015-01-14 10:52:11 +0000 Vincent Penquerc'h * plugins/elements/gstidentity.c: identity: send gap events when dropping buffers 2015-01-13 18:11:39 +0000 Phillip Wood * gst/gstpreset.c: preset: fix incorrect preset version comparison Use app_version if there are no system presets, so that if the application presets are newer than the user presets they are merged. https://bugzilla.gnome.org/show_bug.cgi?id=742877 2015-01-12 16:03:02 +0100 Sebastian Dröge * plugins/elements/gstinputselector.c: inputselector: Don't dereference NULL pointer CID 1262286 2015-01-12 15:55:47 +0100 Stefan Sauer * common: Automatic update of common submodule From f2c6b95 to bc76a8b 2015-01-11 23:00:29 +0100 Stefan Sauer * gst/gstpreset.c: preset: fix sorting presets The glib docs are not clear on this, but the qsort man-page is - the GCompareDataFunc does not get the strings, but pointers to them. 2014-12-31 18:52:34 +0000 Tim-Philipp Müller * plugins/elements/gstinputselector.c: inputselector: fix silly GQueue iteration code Not active by default though. 2015-01-04 23:24:53 +0100 Stefan Sauer * gst/gstpreset.c: preset: don't return empty preset lists Add a shortcut for the cases where an element implements the preset iface but has no presets and return NULL instead of an empty list in that case. 2015-01-04 23:08:47 +0100 Stefan Sauer * tools/gst-inspect.c: gst-inspect: only print presets line if num-presets > 0 Also check for an empty strv. 2015-01-04 22:51:09 +0100 Stefan Sauer * tools/gst-inspect.c: gst-inspect: fix output for -a Use n_print to ensure all lines are prefixed with the element name. 2014-12-29 11:54:00 +0100 Stefan Sauer * docs/libs/Makefile.am: docs: ignore libcheck headers that use doxygen comments 2014-12-29 11:52:22 +0100 Stefan Sauer * gst/gstinfo.h: docs: fix two gtk-doc warnings One by correcting the end-of-comment marker and one by making sure the function prototype in the header is in sync with the c file and doc-blob. 2014-12-26 23:22:30 +0100 Sebastian Rasmussen * docs/gst/gstreamer-sections.txt: * docs/libs/gstreamer-libs-sections.txt: * docs/plugins/gstreamer-plugins-sections.txt: docs: Add missing interfaces to documentation https://bugzilla.gnome.org/show_bug.cgi?id=742057 2014-12-27 15:15:30 +0530 Nirbheek Chauhan * gst/gstiterator.c: iterator: Fix outdated example code and accompanying documentation GstIterator no longer returns a refcounted gpointer 2014-12-24 13:46:28 +0100 Sebastian Dröge * plugins/elements/gstinputselector.c: inputselector: Use the same waiting function for EOS and non-EOS waiting 2014-12-24 13:44:09 +0100 Sebastian Dröge * plugins/elements/gstinputselector.c: inputselector: Wake up all waitings pads directly if we forward the EOS event Otherwise they might wait a bit longer unnecessarily. Also do some minor cleanup. 2014-12-24 10:13:51 +0800 Song Bing * plugins/elements/gstinputselector.c: * plugins/elements/gstinputselector.h: inputselector: Block when receiving an EOS event on a deactivated pad ... and only unblock when either a) the pad becomes active and the event should be forwarded or b) the active pad went EOS itself. Otherwise it can happen that we switch from a longer track that is not EOS yet to a shorter track that already is EOS, but the shorter track won't have any possibility to send its EOS event downstream anymore. https://bugzilla.gnome.org/show_bug.cgi?id=740949 2014-12-23 12:54:50 +0100 Sebastian Dröge * plugins/elements/gstinputselector.c: inputselector: Keep a ref of the currently active sinkpad around Otherwise we can't be sure that the pointer points to a still existing pad instance after releasing the lock. 2014-12-23 12:53:58 +0100 Song Bing * plugins/elements/gstinputselector.c: inputselector: Get the active sinkpad again after taking the lock when handling events It might have changed in the meantime. https://bugzilla.gnome.org/show_bug.cgi?id=741893 2014-12-22 13:08:37 +0100 Sebastian Dröge * libs/gst/base/gstbasetransform.c: basetransform: Short-circuit CAPS query handling if transform_caps returns EMPTY caps Both for the peer filter caps and the converted caps based on the peer caps. If the peer filter caps are EMPTY, the peer caps query will also return EMPTY. There's no ned to both downstream/upstream with this query. 2014-12-22 11:45:13 +0100 Sebastian Dröge * MAINTAINERS: MAINTAINERS: Update my mail address 2014-12-21 14:12:29 +0100 Stefan Sauer * gst/gstdebugutils.c: debugutils: use a constant for the max param length Improve readability by using a define for the max-chars. Also use the unicode ellipsis as dot files are utf-8. 2014-12-15 14:03:54 +0100 Stefan Sauer * tools/gst-inspect.c: gst-inspect: print preset names If the element supports presets and ships some, print them. Fixes #741427 2014-12-19 11:35:24 +0100 Edward Hervey * gst/gstinfo.h: gstinfo: Add new maximum level debugging API: GST_LEVEL_MAX By compiling gstreamer (or plugins) with GST_LEVEL_MAX defined, only the debugging statements at or below that level will be compiled in. This allows compiling in some debugging (like errors and warnings) which helps in debugging, but without the full cpu/memory overhead of all debugging enabled. 2014-12-18 12:04:22 -0300 Thiago Santos * libs/gst/check/gstcheck.c: gstcheck: fix GI annotation Add missing : to annotation 2014-11-13 14:53:59 +0000 Vincent Penquerc'h * libs/gst/base/gstbaseparse.c: baseparse: jump over large skips in pull mode This bypasses the dumping of buffers we still have to do in push mode. https://bugzilla.gnome.org/show_bug.cgi?id=730053 2014-10-25 17:16:25 +0530 Arun Raghavan * gst/gstdebugutils.c: * gst/gstdebugutils.h: debugutils: Truncate parameter values that are too long This removes some information from the dumps, but improves readability. https://bugzilla.gnome.org/show_bug.cgi?id=739165 2014-12-18 10:53:02 +0100 Sebastian Dröge * common: Automatic update of common submodule From ef1ffdc to f2c6b95 2014-12-16 16:31:21 +0100 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gstcaps.c: * gst/gstcaps.h: * gst/gststructure.c: * gst/gststructure.h: * tests/check/gst/gstcaps.c: * tests/check/gst/gststructure.c: * win32/common/libgstreamer.def: structure/caps: Add gst_{structure,caps}_filter_and_map_in_place() https://bugzilla.gnome.org/show_bug.cgi?id=739765 2014-12-16 18:14:22 +0100 Sebastian Dröge * tests/check/gst/gststructure.c: structure: Add simple unit test for foreach() and map_in_place() 2014-11-07 11:15:09 +0100 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gstcaps.c: * gst/gstcaps.h: * tests/check/gst/gstcaps.c: caps: Add gst_caps_foreach() and gst_caps_map_in_place() https://bugzilla.gnome.org/show_bug.cgi?id=739765 2014-12-16 15:53:06 +0000 Tim-Philipp Müller * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: po: update for new translatable strings 2014-12-14 12:54:32 +0100 Sebastian Rasmussen * configure.ac: * libs/gst/check/Makefile.am: * libs/gst/check/libcheck/Makefile.am: * libs/gst/check/libcheck/check.c: * libs/gst/check/libcheck/check_log.c: * libs/gst/check/libcheck/check_msg.c: * libs/gst/check/libcheck/check_pack.c: * libs/gst/check/libcheck/check_print.c: * libs/gst/check/libcheck/check_run.c: * libs/gst/check/libcheck/check_str.c: check: Have autotools generate internal-check.h Previously GStreamer got access to the libcheck interface by including libs/gst/check/check.h which in turn included internal-check.h in the same directory. internal-check.h was generated by copying libs/gst/check/libcheck/check.h which in turn was generated from check.h.in in the same directory. In this case generating libs/gst/check/libcheck/check.h is unnecessary, in addition this file was accidentally distributed in generated project tarballs. Now libs/gst/check/internal-check.h is generated directly from libs/gst/check/libcheck/check.h.in by configure. This means that the libcheck source must include internal-check.h instead of the previously generated libs/gst/check/libcheck/check.h. However the unnecessary intermediate step is now skipped. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=741359 2014-12-16 10:13:03 -0500 Nicolas Dufresne * gst/gstbufferpool.c: * tests/check/gst/gstbufferpool.c: bufferpool: Don't check size in config validation Pools are allowed to change the size in order to adapt padding. So don't check the size. Normally pool will change the size without failing set_config(), but it they endup changing the size before the validate method may fail on a false positive. https://bugzilla.gnome.org/show_bug.cgi?id=741420 2014-12-16 12:21:59 +0100 Wim Taymans * gst/gstbufferpool.c: bufferpool: log reason for discarded buffers PERFORMANCE log the reason why a buffer could not be recycled in the bufferpool. 2014-12-15 14:53:28 +0100 Sebastian Rasmussen * m4/check-checks.m4: check: Update version number of included libcheck Fixes https://bugzilla.gnome.org/show_bug.cgi?id=741550 2014-12-12 21:02:22 +0000 Tim-Philipp Müller * win32/common/libgstreamer.def: win32: update exports 2014-12-12 21:54:01 +0100 Stefan Sauer * docs/gst/gstreamer-sections.txt: docs: add new preset api 2014-12-12 21:38:26 +0100 Stefan Sauer * gst/gstpreset.c: * gst/gstpreset.h: preset: add gst_preset_is_editable() Add a function to check if the preset iface implementation is editable and document this from the implementers perspective. API: gst_preset_is_editable() 2014-12-12 14:23:19 +0100 Edward Hervey * win32/common/libgstreamer.def: win32: Update def file 2014-12-12 13:57:39 +0100 Sebastian Dröge * gst/gstdebugutils.c: debugutils: Fix compiler warning gstdebugutils.c: In function 'gst_debug_bin_to_dot_data': gstdebugutils.c:683:530: error: 'return' with no value, in function returning non-void [-Werror] g_return_if_fail (GST_IS_BIN (bin)); 2014-12-12 13:15:02 +0530 Arun Raghavan * gst/gstdebugutils.c: * gst/gstdebugutils.h: debugutils: Add a gst_debug_bin_to_dot_data() method This provides the dot file as a string, rather than dumping to a file. https://bugzilla.gnome.org/show_bug.cgi?id=741425 2014-12-10 11:17:11 +0000 Tim-Philipp Müller * plugins/elements/gsttypefindelement.c: * plugins/elements/gsttypefindelement.h: typefind: minor cosmetic change No nee to abbrev variab nam here, nicer to read if full. 2014-12-10 11:16:09 +0000 Tim-Philipp Müller * plugins/elements/gsttypefindelement.c: typefind: use GST_BUFFER_OFFSET_NONE for buffer offset 2014-12-07 12:55:26 +0100 Sebastian Rasmussen * libs/gst/check/libcheck/check.h.in: check: Avoid requring (u)intmax_t in macros Previously embedded libcheck versions did not depend on (u)intmax_t and doing so would require projects using GStreamer's check framework to add AX_CREATE_STDINT_H to their configure.ac. A workaround is to fallback to glib types. This patch assumes that glib.h is always included before internal-check.h which is ok since everything Gstreamer would include gst/gstcheck.h instead of directly including internal-check.h. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=727826 2014-12-06 19:03:04 +0100 Sebastian Rasmussen * libs/gst/check/libcheck/clock_gettime.c: check: Fix compilation error for iOS libcheck includes CoreServices for its compat for clock_gettime(), even though it never uses anything it declares. Let's remove it. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=727826 2014-11-15 13:26:47 +0100 Sebastian Rasmussen * configure.ac: * libs/gst/check/gstcheck.h: * libs/gst/check/libcheck/Makefile.am: * libs/gst/check/libcheck/check.c: * libs/gst/check/libcheck/check.h.in: * libs/gst/check/libcheck/check_error.c: * libs/gst/check/libcheck/check_error.h: * libs/gst/check/libcheck/check_list.c: * libs/gst/check/libcheck/check_log.c: * libs/gst/check/libcheck/check_msg.c: * libs/gst/check/libcheck/check_pack.c: * libs/gst/check/libcheck/check_print.c: * libs/gst/check/libcheck/check_run.c: * libs/gst/check/libcheck/check_str.c: * libs/gst/check/libcheck/libcompat.h: * m4/check-checks.m4: check: Apply GStreamer-specific patches Reintroduced patches: * Make sure that fail_if(1) actually fails from commit 9f99d056a263e71a5e6181224829def906cf0226 New patches due to updated libcheck (based on 0.9.14): * Checks in m4/check-checks.m4 to cater for new dependencies * Conditional compile-time compat POSIX fallbacks for libcheck * Avoid relative paths for libcheck header files * Make timer_create() usage depend on posix timers, not librt * Rely on default AX_PTHREAD behavior to allow HAVE_PTHREAD to be used when checking for types and functions (like clock_gettime()) * Avoid double declaration of clock_gettime() when availabe outside of librt by making compat clock_gettime() declaration conditional * check 0.9.9 renamed _fail_unless() and 0.9.12 later renamed it again to _ck_assert_failed(), so ASSERT_{CRITICAL,WARNING}() now calls this function * Remove libcheck fallback infrastructure for malloc(), realloc(), gettimeofday() and snprintf() since either they appear to be available or they introduce even more dependencies. The result is an embedded check in gstreamer that has been tested by running check tests in core, -base, -good, -bad, -ugly and rtsp-server on Linux, OSX and Windows. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=727826 2014-11-15 12:53:32 +0100 Sebastian Rasmussen * libs/gst/check/libcheck/alarm.c: * libs/gst/check/libcheck/check.c: * libs/gst/check/libcheck/check.h.in: * libs/gst/check/libcheck/check_error.c: * libs/gst/check/libcheck/check_error.h: * libs/gst/check/libcheck/check_impl.h: * libs/gst/check/libcheck/check_list.c: * libs/gst/check/libcheck/check_list.h: * libs/gst/check/libcheck/check_log.c: * libs/gst/check/libcheck/check_log.h: * libs/gst/check/libcheck/check_msg.c: * libs/gst/check/libcheck/check_msg.h: * libs/gst/check/libcheck/check_pack.c: * libs/gst/check/libcheck/check_pack.h: * libs/gst/check/libcheck/check_print.c: * libs/gst/check/libcheck/check_print.h: * libs/gst/check/libcheck/check_run.c: * libs/gst/check/libcheck/check_str.c: * libs/gst/check/libcheck/check_str.h: * libs/gst/check/libcheck/clock_gettime.c: * libs/gst/check/libcheck/libcompat.c: * libs/gst/check/libcheck/libcompat.h: * libs/gst/check/libcheck/localtime_r.c: * libs/gst/check/libcheck/strsignal.c: * libs/gst/check/libcheck/timer_create.c: * libs/gst/check/libcheck/timer_delete.c: * libs/gst/check/libcheck/timer_settime.c: check: Import version 0.9.14 This lifts the files almost verbatim (the changes being running though gst-indent and fixing the FSF address) from the upstream respository. Therefore this commit reverts some GStreamer-specific patches to check that will be reintroduced next. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=727826 2014-11-04 19:11:50 +0100 Edward Hervey * plugins/elements/gsttypefindelement.c: * plugins/elements/gsttypefindelement.h: typefind: Propagate input buffer offset The initial buffers might have non-default offsets, make sure they get propagated if present. 2014-10-07 16:44:45 +0200 Edward Hervey * libs/gst/base/gstbasesink.c: basesink: clamp reported position based on direction When using a negative rate (rate being segment.rate * segment.applied_rate), we will end up reporting decreasing positions, therefore adjust the clamping against last reported value accordingly. Fixes positions getting properly reported with applied_rate < 0.0 https://bugzilla.gnome.org/show_bug.cgi?id=738092 2014-11-28 14:17:54 +0100 Sebastian Dröge * docs/manual/advanced-buffering.xml: * gst/gstbin.c: * gst/gstbus.c: * gst/gstcontrolbinding.c: * gst/gstdevicemonitor.c: * gst/gstghostpad.c: * gst/gstinfo.c: * gst/gstplugin.c: * gst/gststructure.c: * gst/gstsystemclock.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstcollectpads.c: * libs/gst/check/gstcheck.c: * libs/gst/check/gstcheck.h: * libs/gst/check/gsttestclock.c: * plugins/elements/gstfunnel.c: * plugins/elements/gstidentity.c: * plugins/elements/gstinputselector.c: * tools/gst-launch.c: Don't compare booleans for equality to TRUE and FALSE TRUE is 1, but every other non-zero value is also considered true. Comparing for equality with TRUE would only consider 1 but not the others. Also normalize booleans in a few places. 2014-11-30 23:50:53 +0000 Tim-Philipp Müller * plugins/elements/gstelements_private.c: plugins: fix build on windows gstelements_private.c: In function 'gst_writev_buffers': gstelements_private.c:236:51: error: 'EWOULDBLOCK' undeclared 2014-11-28 15:09:16 +0000 Tim-Philipp Müller * plugins/elements/gstfilesink.c: filesink: use writev() in ::render() to write out memories without merging them 2014-11-28 15:04:27 +0000 Tim-Philipp Müller * plugins/elements/gstfilesink.c: * plugins/elements/gstfilesink.h: filesink: implement ::render_list() function that uses writev() 2014-11-28 14:47:20 +0000 Tim-Philipp Müller * plugins/elements/gstfdsink.c: fdsink: use writev() in ::render() to write out memories without merging them 2014-11-28 14:39:33 +0000 Tim-Philipp Müller * plugins/elements/gstfdsink.c: * plugins/elements/gstfdsink.h: fdsink: implement ::render_list() using writev() Write out multiple buffers possibly containing multiple memories with one writev() call, without merging the buffer memories first, like ::render() does currently. 2014-11-28 14:38:30 +0000 Tim-Philipp Müller * configure.ac: * plugins/elements/gstelements_private.c: * plugins/elements/gstelements_private.h: plugins: add helper function for writing buffers out with writev() 2014-11-28 14:15:30 -0300 Thiago Santos * libs/gst/base/gstbaseparse.c: baseparse: update the duration variable before emitting the bus Otherwise the application might still get the old value if it asks between the message and the real update. 2014-11-28 16:25:02 +0100 Edward Hervey * gst/gstelement.c: element: Fix doc and default implementation of send_event The documentation states that gst_element_send_event is to "send an event to an element". Therefore we *send* upstream events to a source pad and downstream events to a sink pad 2014-11-28 11:16:00 +0100 Edward Hervey * gst/gstelement.c: element: Figure default send_event direction handling If we get a downstream event we want to send it to a random SINK pad (and vice-versa). 2014-11-27 18:00:57 +0100 Sebastian Dröge * libs/gst/base/gstbasetransform.c: basetransform: Compare correct caps variable against NULL before comparing caps 2014-11-27 17:10:19 +0100 Edward Hervey * common: Automatic update of common submodule From f32cfcd to ef1ffdc 2014-11-10 09:58:47 +0100 Thibault Saunier * scripts/gst-uninstalled: scripts:uninstalled: Make sur the GES TestManager is registered So that whenever user work with GstValidate they can run GES tests within the gst-uninstalled environment 2014-11-26 21:48:05 +0530 Arun Raghavan * common: * m4/ax_pthread.m4: build: Update ax_pthread.m4 and move it to common Has some updates for Clang support (might not work with newer Clang properly, yet), AIX support, and some misc fixes. 2014-11-25 17:46:12 +0100 Sebastian Dröge * libs/gst/controller/gsttriggercontrolsource.c: triggercontrolsource: Fix short description for the docs 2014-11-25 09:39:40 +0000 Tim-Philipp Müller * docs/gst/running.xml: docs: add GST_GL_* environment variables to 'Running GStreamer' section 2014-11-23 05:45:24 -0300 Thiago Santos * plugins/elements/gstqueue2.c: queue2: percentage is relative to high-percent When comparing percentage values, compare with 0-100 scale as it has already been made relative to 0-high_percent, otherwise we mark the queue as not buffering and report a 50% to the user. This leads to a buffering stall as the user assumes the queue is still buffering but it thinks it isn't. https://bugzilla.gnome.org/show_bug.cgi?id=736969 2014-11-23 05:42:51 -0300 Thiago Santos * plugins/elements/gstmultiqueue.c: multiqueue: percentage is an absolute value multiqueue's queues stored percent value is the percentage from 0 to 100 (max-size-*) and should be compared with the requested limit (high_percentage) set by the user and not with 100% to check if buffering should stop. Otherwise we are only stopping buffering when the queue gets completely full. 2014-11-20 21:33:59 +0100 Sebastian Dröge * libs/gst/base/gstbasetransform.c: basetransform: Fix caps equality check Instead of checking if our outcaps are equivalent to the previous incaps, and if that is the case not setting any caps on the pad... compare against our previous outcaps because that's what we care about. Fixes some cases where the outcaps became equivalent to the previous incaps, but the previous outcaps were different and we were then sending buffers downstream that were corresponding to the caps we forgot to set on the pad. Resulting in crashes or image corruption. 2014-11-20 13:33:12 +0000 Tim-Philipp Müller * common: common: update for bison version check patch Fix configure check with bison development version. https://bugzilla.gnome.org/show_bug.cgi?id=728946 2014-11-20 13:34:32 +0100 Wim Taymans * gst/gststructure.c: * tests/check/gst/gststructure.c: structure: don't overread input when searching for " When searching for the string terminator don't read past the ending 0-byte when escaping characters. Add unit test for various escaping cases. 2014-11-03 17:46:57 +0000 Vincent Penquerc'h * gst/gstpad.c: pad: fail dropped queries Previously, dropping a query from a pad probe would deem the query succeeded, and the caller might then assume the query's results are valid, and thus dereference an invalid object such as a GstCaps. We now assume dropped queries did not succeed. Dropped events and buffers are still deemed a success. Added back after previous revert, as it's been double checked. https://bugzilla.gnome.org/show_bug.cgi?id=740003 2014-11-12 13:55:23 +0000 Vincent Penquerc'h * gst/gstpad.c: Revert "pad: fail dropped queries" This was pushed by mistake along with an unrelated patch. This reverts commit c7103ce4b8c1da7dcfbcf2ec83a42a376fb896e1. 2014-05-13 11:18:08 +0100 Vincent Penquerc'h * libs/gst/base/gstbaseparse.c: baseparse: allow skipping more data than we currently have This can be useful for skipping large unwanted data, such as large album art, when we know the size of it from a metadata header. 2014-11-03 17:46:57 +0000 Vincent Penquerc'h * gst/gstpad.c: pad: fail dropped queries Previously, dropping a query from a pad probe would deem the query succeeded, and the caller might then assume the query's results are valid, and thus dereference an invalid object such as a GstCaps. We now assume dropped queries did not succeed. Dropped events and buffers are still deemed a success. 2014-11-12 11:30:51 +0100 Haakon Sporsheim * gst/gsttask.c: * tests/check/gst/gsttask.c: task: Fix pause/stop race condition If a task thread is calling pause on it self and the controlling/"main" thread stops the task, it could end in a race where gst_task_func loops and then checks for paused after the controlling thread just changed the task state to stopped. Hence the task would actually call func again even though it was both paused and stopped. https://bugzilla.gnome.org/show_bug.cgi?id=740001 2014-11-10 10:01:02 +0100 Sebastian Dröge * tests/check/gst/gstobject.c: gstobject: Don't check booleans for equality in the unit test Every value other than 0/FALSE is TRUE, == TRUE will only check for 1. 2014-11-05 11:50:47 +0100 Jan Alexander Steffens (heftig) * docs/gst/gstreamer-sections.txt: * gst/gstobject.c: * gst/gstobject.h: * tests/check/gst/gstobject.c: * win32/common/libgstreamer.def: gstobject: Add gst_object_has_parent() Adds gst_object_has_parent, which works like gst_object_has_ancestor but does not ascend further. API: gst_object_has_parent() 2014-11-09 10:37:42 +0100 Sebastian Dröge * libs/gst/base/gstbasetransform.c: basetransform: Don't bother the subclass with setting the same caps multiple times 2014-11-09 10:32:18 +0100 Sebastian Dröge * libs/gst/base/gstbasesink.c: basesink: Don't bother the subclass with setting the same caps multiple times 2014-11-09 10:29:57 +0100 Sebastian Dröge * libs/gst/base/gstbasesrc.c: basesrc: Don't bother the subclass with setting the same caps multiple times 2014-11-07 08:22:02 +0100 Stefan Sauer * gst/gststructure.c: structure: remove conditional for G_VALUE_COLLECT_INIT This API is in glib since 2.24 and we currently require 2.32 and already use this unconditionally elsewhere. 2014-11-05 19:09:39 +0100 Stefan Sauer * gst/gstpreset.c: preset: remove commented code The GQuark was never used. 2014-11-07 11:34:08 +0100 Sebastian Dröge * gst/Makefile.am: * pkgconfig/gstreamer.pc.in: gstconfig: Put gstconfig.h into $(libdir)/gstreamer-1.0/include It's architecture dependent and should not be placed into the include directory as the assumption is that all those headers are architecture independent. https://bugzilla.gnome.org/show_bug.cgi?id=739767 2014-11-07 10:56:42 +0100 Sebastian Dröge * gst/gsturi.c: uri: Fix gobject-introspection warnings gsturi.c:997: Error: Gst: Skipping invalid GTK-Doc comment block: /** private GstUri functions **/ ^ gsturi.c:1179: Error: Gst: Skipping invalid GTK-Doc comment block: /** RFC 3986 functions **/ ^ 2014-10-24 21:25:54 +1100 Jan Schmidt * libs/gst/base/gstdataqueue.c: dataqueue: Fix gst_data_queue_new() description. Reword the function docs, which haven't made any sense since gst_data_queue_new_full() was removed a few years ago. 2014-11-03 18:27:21 +0100 Thibault Saunier * libs/gst/base/gstbasesink.c: basesink: Answer the query position when receiving it from upstream Currently we are just returning FALSE, but we do have the information we should just answer the query the same way as when answering through the GstElement.query vmethod default implementation. https://bugzilla.gnome.org/show_bug.cgi?id=739580 2014-10-22 14:07:09 +0200 Sebastian Dröge * plugins/elements/gstcapsfilter.c: * plugins/elements/gstcapsfilter.h: * tests/check/elements/capsfilter.c: capsfilter: Add an optional delayed caps change mode In this mode we accept previously set filter caps until upstream renegotiates to something that is compatible to the current filter caps. This allows dynamic caps changes in the pipeline even if there is a queue between any conversion element and the capsfilter. Without this we would get not-negotiated errors if timing is bad. https://bugzilla.gnome.org/show_bug.cgi?id=739002 2014-11-02 20:16:53 +0000 Tim-Philipp Müller * gst/gsttoc.c: toc: minor code clean-up And get rid of g_list_prepend/g_list_reverse anti-pattern while we're at it. 2014-11-02 18:51:08 +0000 Luis de Bethencourt * gst/gst.c: gst: ensure GStreamer initialization debug message is displayed The GST_INFO ("initialized GStreamer succesfully") is currently at the end of gst_init_check which isn't guaranteed to be run since GStreamer can be initialized by using init_pre and init_post directly from GOptionContext like gst-launch does. Ensure this message is displayed by moving it to init_post. 2014-11-01 19:56:41 +0000 Luis de Bethencourt * gst/gstbus.c: * libs/gst/base/gstadapter.c: doc: Do not use deprecated gtk-doc 'Rename to' tag GObject introspection GTK-Doc tag "Rename to" has been deprecated, changing to rename-to annotation. https://bugzilla.gnome.org/show_bug.cgi?id=739514 2014-11-01 22:30:30 +0100 Aurélien Zanelli * tools/gst-inspect.c: gst-inspect: add G_PARAM_DEPRECATED to known flags Display 'deprecated' instead of flag value when using G_PARAM_DEPRECATED in element properties. https://bugzilla.gnome.org/show_bug.cgi?id=739518 2014-10-31 16:10:01 +0000 Tim-Philipp Müller * tests/check/tools/gstinspect.c: tests: refactor tools check a little Use an array of constant strings so if arguments get removed from it they are not considered leaked, and valgrind is happy. Still some stuff leaking in GLib though. 2014-10-30 23:14:59 +0000 Tim-Philipp Müller * tests/check/libs/bytereader.c: tests: fix out-of-bounds memory access in bytereader unit test Caught by -fsanitize=address / libasan. https://bugzilla.gnome.org/show_bug.cgi?id=739431 2014-10-28 19:16:52 +0000 Tim-Philipp Müller * gst/gst.c: gst: make gst_init() thread-safe Because we can, and there isn't really any reason not to do so. 2014-10-28 09:28:28 +0000 Tim-Philipp Müller * tests/check/elements/fdsrc.c: tests: fdsrc: don't ignore return value of write() Causes compiler warnings on some systems. 2014-10-28 00:04:05 +0000 Tim-Philipp Müller * tests/check/elements/fdsrc.c: tests: fix fdsrc test corner case Make pipe socket non-blocking, so we don't end up being blocked in a write on the pipe while the src is eos and not reading data any more, and thus we never unblock and never notice that we're done. This would happen quite reliably on the rpi. 2014-10-27 17:56:15 +0100 Sebastian Dröge * common: Automatic update of common submodule From 84d06cd to 7bb2bce 2014-10-25 17:15:42 +0530 Arun Raghavan * gst/gstdebugutils.c: debugutils: Trivial typo fix 2014-10-24 12:51:07 +0100 Tim-Philipp Müller * libs/gst/base/gstbasesink.c: basesink: don't unlock mutex that is not locked Fixes 'Attempt to unlock mutex that was not locked' warning with newer GLibs when sink is shut down in certain situations. Triggered by the decodebin test_reuse_without_decoders unit test in -base sometimes, esp. on slower machines. 2014-10-22 18:25:26 +0100 Tim-Philipp Müller * win32/common/libgstcontroller.def: win32: update .def for new _get_type() function for GstControlPoint https://bugzilla.gnome.org/show_bug.cgi?id=737616 2014-09-29 21:10:14 +0200 Thibault Saunier timedvaluecontrolsource: Add some signals about values changes In order for user to be able to track changes in the value set in GstTimedValueControlSource the following signals have been added: * value-added * value-removed * value-changed To be able to use a GstControlPoint to be marshalled into the signals, the GstControlPoint structure is now registerd as a GBoxed type. New API: ~~~~~~~ * GstTimedValueControlSource::value-added * GstTimedValueControlSource::value-removed * GstTimedValueControlSource::value-added https://bugzilla.gnome.org/show_bug.cgi?id=737616 2014-10-21 13:01:00 +0100 Tim-Philipp Müller * common: Automatic update of common submodule From a8c8939 to 84d06cd 2014-10-21 12:18:33 +0100 Tim-Philipp Müller * gst/gstmessage.c: message: remove duplicate gst_message_get_type() in init Spotted by: Jan Steffens 2014-10-21 12:57:45 +0200 Stefan Sauer * README: * common: Automatic update of common submodule From 6e75498 to a8c8939 2014-10-20 16:39:38 +0200 Stefan Sauer * plugins/elements/gstidentity.c: identity: include the actual delta in the message Including the actual delta in the message makes it easy to see, if the new buffer is behind or ahead and how much. 2014-10-18 18:43:43 +1100 Jan Schmidt * gst/gstvalue.c: gstvalue: Tidy initialisation Use some macros to make our value functions setup a bit tidier, and micro-optimise a few reallocs by setting an initial size for the global type arrays. 2014-10-18 17:27:04 +1100 Jan Schmidt * tools/gst-indent: gst-indent: Run indent twice. Once is not idempotent, twice seems to be. 2014-10-16 10:13:14 +0400 Andrei Sarakeev * plugins/elements/gstmultiqueue.c: multiqueue: Wake up any waiting streams if the current one goes EOS Otherwise we might have unlinked streams waiting. https://bugzilla.gnome.org/show_bug.cgi?id=738198 2014-10-17 12:41:04 +0200 Stefan Sauer * gst/gsttypefind.c: typefind: simplify registration code Remove a useless assert (we just instantiated this type). Drop the free'ing of the extension array. As we just created the instance this is always NULL. 2014-10-16 10:55:36 +0200 Felix Schwarz * docs/pwg/advanced-allocation.xml: * docs/pwg/advanced-clock.xml: * docs/pwg/advanced-events.xml: * docs/pwg/advanced-qos.xml: * docs/pwg/advanced-tagging.xml: docs: pwd: fix typos https://bugzilla.gnome.org/show_bug.cgi?id=738612 2014-10-11 19:28:21 +0200 Linus Svensson * tests/check/gst/gstbus.c: tests: Add a test for removing a bus watch https://bugzilla.gnome.org/show_bug.cgi?id=735195 2014-08-19 23:28:52 +0200 Linus Svensson * gst/gstbus.c: * gst/gstbus.h: * tests/check/gst/gstbus.c: * win32/common/libgstreamer.def: bus: Add a function to remove a bus watch If a bus watch is added to the non default main context it's not possible to remove it using g_source_remove(). Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=735195 2014-10-08 22:51:56 +0530 Arun Raghavan * gst/gstevent.h: docs: Update GstQOSType documentation a bit Correction for who is producing data too fast, and some other minor clarifications. https://bugzilla.gnome.org/show_bug.cgi?id=738166 2014-10-08 16:03:20 +0200 Guillaume Desmottes * docs/pwg/advanced-allocation.xml: * docs/pwg/advanced-qos.xml: docs: pwg: fix two typos https://bugzilla.gnome.org/show_bug.cgi?id=738153 2014-10-08 15:37:37 +0200 Guillaume Desmottes * docs/pwg/advanced-negotiation.xml: docs: pwg: fix typo in 'Dynamic negotiation' section The point of this example is to show how to set caps on the source pad once it has been set on the sink pad. So, in passthrough mode, the caps is just copied to the source pad. https://bugzilla.gnome.org/show_bug.cgi?id=738153 2014-10-08 09:37:41 -0700 Aleix Conchillo Flaqué * plugins/elements/gstmultiqueue.c: multiqueue: don't lock multiqueue when pushing serialized queries If we are pushing a serialized query into a queue and the queue is filled, we will end in a deadlock. We need to release the lock before pushing and acquire it again afterward. https://bugzilla.gnome.org/show_bug.cgi?id=737794 2014-10-08 01:33:51 +1100 Jan Schmidt * libs/gst/base/gstcollectpads.c: collectpads: Use GST_PTR_FORMAT in debug to output buffer details Use %GST_PTR_FORMAT instead of %p in debug output so all the buffer details are output 2014-10-06 13:38:21 +0200 Nicolas Huet * gst/gstsystemclock.c: systemclock: fix multi-thread entry status issue Running two threads, one executing the timer and one unscheduling it, the unscheduled status set by the second thread is sometimes overwritten by the first one. https://bugzilla.gnome.org/show_bug.cgi?id=737999 2014-10-03 14:04:58 +0100 Tim-Philipp Müller * plugins/elements/gstinputselector.c: inputselector: fix compilation 2014-10-03 14:44:48 +0200 Stefan Sauer * plugins/elements/gstinputselector.c: input-selector: extract some common code into helpers 2014-10-03 14:01:59 +0200 Stefan Sauer * plugins/elements/gstinputselector.c: input-selector: small code cleanups Rename TIMESTAMP -> PTS. Move a var down to the scope where it is used. Use g_queue_free_full(). 2014-10-03 13:47:42 +0200 Stefan Sauer * plugins/elements/gstinputselector.c: * plugins/elements/gstinputselector.h: inputselector: fix printf format The padcount is uint. Also add comments to the instance vars. 2014-10-02 03:30:24 +0200 Matej Knopp * libs/gst/base/gstbaseparse.c: baseparse: don't leak caps in gst_base_parse_process_streamheader https://bugzilla.gnome.org/show_bug.cgi?id=737762 2014-10-03 13:14:25 +0200 Matej Knopp * tests/check/libs/baseparse.c: tests: baseparse: set_sink_caps vfunc should't take ownership of the caps https://bugzilla.gnome.org/show_bug.cgi?id=737762 2014-10-03 09:57:37 +0100 Luis de Bethencourt * plugins/elements/gstfakesrc.c: fakesrc: mark the pattern property as unused Revert the previous commit which removes the pattern property of fakesrc because doing so will break ABI. Bringing the property back but marking it as unused in the property string. https://bugzilla.gnome.org/show_bug.cgi?id=737683 2014-10-03 09:01:15 +0100 Tim-Philipp Müller * libs/gst/base/gstbaseparse.c: Revert "baseparse: don't leak caps in gst_base_parse_process_streamheader" This reverts commit 5e8b4bf085180f7a4c7ae6ec0f525baeaedd4df8. This causes refcounting criticals in the baseparse unit test. 2014-10-02 13:45:34 +0100 Luis de Bethencourt * plugins/elements/gstfakesrc.c: * plugins/elements/gstfakesrc.h: fakesrc: removing unused pattern option Eventhough the "pattern" property of fakesrc can be set, it is never used. The only pattern supported is the default 0x00 -> 0xff, and if a pattern is set by the user it is ignored. Removing the unused property and variable. https://bugzilla.gnome.org/show_bug.cgi?id=737683 2014-10-02 14:55:22 +0300 Sebastian Dröge * plugins/elements/gstqueue.c: queue: Add missing break in switch 2014-10-02 11:00:32 +0300 Sebastian Dröge * plugins/elements/gstqueue.c: queue: update segment position on GAP events to calculate levels properly https://bugzilla.gnome.org/show_bug.cgi?id=737498 2014-10-02 10:57:43 +0300 Sebastian Dröge * plugins/elements/gstqueue2.c: queue2: update segment position on GAP events to calculate levels properly https://bugzilla.gnome.org/show_bug.cgi?id=737498 2014-09-27 20:10:34 +0200 Matej Knopp * plugins/elements/gstmultiqueue.c: multiqueue: update segment position on GAP events to calculate levels properly https://bugzilla.gnome.org/show_bug.cgi?id=737498 2014-10-02 03:30:24 +0200 Matej Knopp * libs/gst/base/gstbaseparse.c: baseparse: don't leak caps in gst_base_parse_process_streamheader https://bugzilla.gnome.org/show_bug.cgi?id=737762 2014-10-02 10:13:28 +0300 Sebastian Dröge * plugins/elements/gstcapsfilter.c: capsfilter: Push pending events before a buffer also if upstream never configured caps but we have srcpad caps already Otherwise we never send pending events downstream that arrive after we configured caps on the srcpad. https://bugzilla.gnome.org/show_bug.cgi?id=737735 2014-09-29 17:48:29 +0300 Sebastian Dröge * gst/gsturi.c: uri: Don't unconditionally use g_list_copy_deep() We don't depend on GLib 2.34 yet and just for this seems a bit useless. https://bugzilla.gnome.org/show_bug.cgi?id=737584 2014-09-29 16:22:47 +0300 Sebastian Dröge * configure.ac: * gst/gsturi.c: uri: Include our own BSD licensed copy of strcasestr() for Windows and others 2014-09-29 15:54:37 +0300 Sebastian Dröge * gst/gsturi.c: uri: Fix compiler warnings with gcc These are actually not true. gsturi.c: In function '_gst_uri_string_to_table.constprop': gsturi.c:1316:27: error: 'pct_kv_sep' may be used uninitialized in this function [-Werror=maybe-uninitialized] for (next_sep = strcasestr (value, pct_kv_sep); next_sep; ^ gsturi.c:1283:24: error: 'pct_part_sep' may be used uninitialized in this function [-Werror=maybe-uninitialized] next_sep = strcasestr (next_sep + 1, pct_part_sep)) { ^ 2014-09-29 12:19:35 +0300 Sebastian Dröge * gst/gsturi.c: uri: Fix memory leak in gst_uri_join() The merged path segments are a deep-copied list and we need to free the contained strings too instead of just the list nodes themselves. 2014-07-31 22:18:53 +0100 David Waring * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * gst/gsturi.c: * gst/gsturi.h: * tests/check/gst/gsturi.c: * win32/common/libgstreamer.def: GstUri: Add GstUri miniobject to handle URIs in an RFC 3986 compliant fashion https://bugzilla.gnome.org/show_bug.cgi?id=725221 2014-09-27 13:57:42 +0100 Tim-Philipp Müller * scripts/gst-uninstalled: scripts: add gst-rpicamsrc to gst-uninstalled 2014-09-25 21:21:09 +0200 Stefan Sauer * gst/gstelement.c: * gst/gsterror.c: * gst/gstevent.c: * gst/gstregistry.c: * gst/gststructure.c: * gst/gsttaglist.c: * gst/gstvalue.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * libs/gst/check/gstcheck.c: * plugins/elements/gstfilesrc.c: * tests/check/tools/gstinspect.c: * tools/gst-inspect.c: fixme: bump leftover 0.11 fixme comments 2014-09-25 21:04:23 +0200 Stefan Sauer * gst/gstevent.c: event: 'newsegment' to 'segment' in the docs Brings the api-docs in sync with the 1.0 api rename. 2014-09-25 20:23:31 +0200 Stefan Sauer * libs/gst/base/gstbasesrc.c: basesrc: move the quick return up Don't assign local vars if we skip anyway. Add logging for failure conditio 2014-09-25 19:01:52 +0100 Tim-Philipp Müller * Makefile.am: * common: tests: parallelise 'make valgrind' Use $(MAKE) instead of 'make' inside the Makefile, otherwise the make will run as if -j1 had been specified and complain about the job server not being available, and with $(MAKE) in inherits the parent make's settings it seems. Upgrade common submodule for parallel check-valgrind. Let this settle a bit before upgrading the other modules. 2014-09-25 18:57:32 +0100 Tim-Philipp Müller * win32/common/libgstbase.def: win32: update .def file It's sorted. If it's unsorted, make check-exports fails. 2014-09-25 18:55:03 +0100 Tim-Philipp Müller * gst/gstinfo.c: info: remove confusing warning about running under valgrind We're not actually doing anything differently anywhere when we detect that we're running under valgrind, so let's not print that confusing message that makes people wonder how they can switch it off so they can valgrind the normal code paths. Seeing that we're not doing that nor have done so in the last 10 years we might just as well remove the entire check actually. 2014-09-25 16:21:51 +0100 Tim-Philipp Müller * tests/check/libs/baseparse.c: tests: fix caps leak in baseparse unit test 2014-09-25 14:54:23 +0200 Jonas Holmberg * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstflowcombiner.c: * libs/gst/base/gstflowcombiner.h: * tests/check/libs/flowcombiner.c: * win32/common/libgstbase.def: flowcombiner: add a gst_flow_combiner_clear() method https://bugzilla.gnome.org/show_bug.cgi?id=737359 API: gst_flow_combiner_clear() 2014-09-24 10:11:54 +0200 Thibault Saunier * scripts/gst-uninstalled: scripts: Handle gst-python in gst-uninstalled https://bugzilla.gnome.org/show_bug.cgi?id=709082 2014-06-03 14:23:30 +0200 Thibault Saunier * plugins/elements/gstcapsfilter.c: capsfilter: Remove EOS event from pending_event list on FLUSH_STOP https://bugzilla.gnome.org/show_bug.cgi?id=709868 2014-09-22 14:27:05 +0100 William Manley * gst/gstbuffer.c: docs: Fix GstBuffer typo "memory bock" -> "memory block" https://bugzilla.gnome.org/show_bug.cgi?id=737117 2014-09-22 17:27:31 +0100 William Manley * gst/gstbuffer.c: docs: Improve gst_buffer_get_meta() to clear up confusion I was confused by the existence of `gst_buffer_get_meta` as it suggested to me that you should only attach one of any type of GstMeta to a buffer. It's perfectly fine to attach multiple from a single API so I'm documenting that here. https://bugzilla.gnome.org/show_bug.cgi?id=737129 2014-09-22 19:05:32 +0200 Marcin Kolny * gst/gstdatetime.h: datetime: added missing include directives https://bugzilla.gnome.org/show_bug.cgi?id=737133 2014-09-23 14:31:29 +0200 Thibault Saunier * plugins/elements/gstqueue.c: queue: Do not forget to release the QUEUE_LOCK in the out_flow_error path Avoiding deadlocks! 2014-09-23 12:53:18 +0200 Stefan Sauer * libs/gst/base/gstbasesrc.h: docs: fix a small contradition in the docs The vmethod get_size() shall return the size in 'format' as configured by _set_format(). 2014-09-22 09:33:04 +0200 Thibault Saunier * plugins/elements/gstqueue.c: queue: Do not hold GST_QUEUE_LOCK while posting ERROR messages This might create deadlocks and we need to avoid holding element specific lock while posting messages For example a deadlock will happen if while posting the message, someone connected on the bus (sync) tries to DOT the pipeline. https://bugzilla.gnome.org/show_bug.cgi?id=737102 2014-09-19 12:02:46 -0300 Thiago Santos * plugins/elements/gstqueue2.c: * plugins/elements/gstqueue2.h: queue2: do not post buffering messages holding the lock It might cause deadlocks to post messages while holding the queue2 lock. To avoid this a new boolean flag is set whenever a new buffering percent is found. The message is posted after the lock is released. To make sure the buffering messages are posted in the right order, messages are posted holding another lock. This prevents 2 threads trying to post messages at the same time. https://bugzilla.gnome.org/show_bug.cgi?id=736969 2014-09-19 09:42:10 +0530 Ravi Kiran K N * gst/gsturi.c: gsturi: Remove unnecessary code gst_uri_handler_set_uri() function has new_uri, location and colon are not necessary, they can be removed. https://bugzilla.gnome.org/show_bug.cgi?id=736877 2014-09-19 00:33:58 +0100 Tim-Philipp Müller * docs/pwg/advanced-tagging.xml: * docs/pwg/intro-basics.xml: docs: pwg: fix some links to the API docs https://bugzilla.gnome.org/show_bug.cgi?id=736762 2014-09-18 18:55:47 +0100 Tim-Philipp Müller * plugins/elements/gstfilesrc.c: filesrc: remove FIXME https://bugzilla.gnome.org/show_bug.cgi?id=735878 2014-09-17 21:49:18 -0400 Olivier Crête * gst/gst.c: gst: Fix spelling error Thank to Adrian Owen for reporting this error. https://bugzilla.gnome.org/show_bug.cgi?id=736839 2014-09-17 17:17:10 +0200 Ognyan Tonchev * plugins/elements/gsttypefindelement.c: typefindelement: do not leak sticky events in flush_stop https://bugzilla.gnome.org/show_bug.cgi?id=736813 2014-09-12 14:42:23 +0200 Stefan Sauer * gst/gstinfo.c: info: avoid global variable for log_file Use user_data to pass the log_file handle to the logger-function. If one wants to change the log target (e.g. GST_DEBUG_FILE), simply call gst_debug_remove_log_function() and re-add the handler with the new log-target using gst_debug_add_log_function (). 2014-09-16 13:48:18 +0200 Ognyan Tonchev * gst/gstevent.c: event: add annotations to gst_event_parse_toc_select() https://bugzilla.gnome.org/show_bug.cgi?id=736739 2014-09-11 18:01:58 -0300 Thiago Santos * plugins/elements/gstmultiqueue.c: * plugins/elements/gstmultiqueue.h: multiqueue: do not post messages holding the lock It might cause deadlocks to post messages while holding the multiqueue lock. To avoid this a new boolean flag is set whenever a new buffering percent is found. The message is posted after the lock can be released. To make sure the buffering messages are posted in the right order, messages are posted holding another lock. This prevents 2 threads trying to post messages at the same time. https://bugzilla.gnome.org/show_bug.cgi?id=736295 2014-09-16 16:07:40 +0200 Wim Taymans * docs/pwg/other-base.xml: docs: fix typo 2014-09-16 12:17:48 +0200 Ognyan Tonchev * gst/gstquery.c: query: Add annotations to gst_query_add_allocation_pool() https://bugzilla.gnome.org/show_bug.cgi?id=736736 2014-09-15 16:38:17 +0200 Aurélien Zanelli * libs/gst/base/gstbasesrc.c: basesrc: handle reference in set_allocation rather than in prepare_allocation Otherwise we can forget to unref objects in error cases. https://bugzilla.gnome.org/show_bug.cgi?id=736680 2014-09-15 13:06:40 +0300 Sebastian Dröge * libs/gst/check/gstcheck.c: check: Use the name parameter of gst_check_setup_src_pad_by_name() and the sink variant This was hardcoded to "sink" / "src" by accident in previous refactoring. 2014-09-13 20:12:52 +0100 Tim-Philipp Müller * plugins/elements/gstcapsfilter.c: * plugins/elements/gstdownloadbuffer.c: * plugins/elements/gstfakesink.c: * plugins/elements/gstinputselector.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstoutputselector.c: * plugins/elements/gstqueue.c: * plugins/elements/gstqueue2.c: * plugins/elements/gstvalve.c: coreelements: mark properties with MUTABLE_PLAYING 2014-09-11 15:52:32 +0200 Thibault Saunier * docs/libs/gstreamer-libs-sections.txt: * libs/gst/check/Makefile.am: * libs/gst/check/gstcheck.c: * libs/gst/check/gstcheck.h: check: Add a function to check destruction of objects Add a method letting people to ensure that unreffing one object leads to its destruction, and possibly the destruction of more object (think destruction of a GstBin etc...). https://bugzilla.gnome.org/show_bug.cgi?id=736477 2014-09-12 14:10:40 +0100 Tim-Philipp Müller * tools/gst-inspect.c: tools: gst-inspect: don't list pad functions Don't print all the different pad functions, it's just confusing and no one has ever needed to know this for anything ever anyway, it's just useless information. Besides, we also label the default implementations as 'custom' implementations (the code that tries to prevent that doesn't actually work it seems). https://bugzilla.gnome.org/show_bug.cgi?id=736377 2014-09-12 15:22:19 +0300 Sebastian Dröge * gst/gstpad.c: pad: Make sure the buffer to get/pull_range() has at least the requested size https://bugzilla.gnome.org/show_bug.cgi?id=735861 2014-09-05 18:36:02 +0000 Tiago * libs/gst/check/gstcheck.c: check: Adding documentation to the gst_check_setup_sink_pad_by_name function https://bugzilla.gnome.org/show_bug.cgi?id=734190 2014-09-10 14:53:00 +0200 Ognyan Tonchev * gst/gstquery.c: query: add annotations to gst_query_set_nth_allocation_pool() https://bugzilla.gnome.org//show_bug.cgi?id=736424 2014-09-11 09:35:17 +0200 Rémi Lefèvre * plugins/elements/gstvalve.c: valve: fix typo in description https://bugzilla.gnome.org/show_bug.cgi?id=736455 2014-09-09 20:43:02 +0100 Tim-Philipp Müller * libs/gst/base/gstbaseparse.h: baseparse: minor docs fix 2014-09-07 01:30:16 -0300 Thiago Santos * plugins/elements/gstdataurisrc.c: Revert "dataurisrc: Remove unnecessary else if condition" This reverts commit 3024ae9c38490817a76c83feab3c8472989cafad. The *buf can be NULL or not depending if the caller of gst_pad_get_range function provided or not a buffer. 2014-09-04 13:38:21 +0530 Vineeth T M * plugins/elements/gstdataurisrc.c: dataurisrc: Remove unnecessary else if condition In gst_data_uri_src_create(), buf cannot be NULL, hence else if (*buf != NULL) will be invalid so removing the else if condition and adding a check to unreference buf in else condition, just in case https://bugzilla.gnome.org/show_bug.cgi?id=735861 2014-09-03 17:38:16 +0100 Tim-Philipp Müller * gst/gstdevicemonitor.c: devicemonitor: fix typo in sample code in docs https://bugzilla.gnome.org/show_bug.cgi?id=735975 2014-08-25 11:34:48 +0200 Wim Taymans * tests/check/gst/gstpad.c: tests: add flush-stop on inactive pad test Check that pushing flush-stop on an inactive pad does not clear the flushing flag. 2014-08-21 15:49:17 +0200 Wim Taymans * gst/gstpad.c: pad: don't accept flush-stop on inactive pads Inactive pads should at all times have the flushing flag set. This means that when we get a flush-stop on an inactive pad we must ignore it. On sinkpads, make this more explicit. We used to not clear the flush flag but remove the events and then return an error because the flushing flag was set. Now just simply refuse the event without doing anything. On srcpads, check that we are trying to push a flush-stop event and refuse it. We would allow this and mark the srcpad as non-flushing anymore. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=735357 2014-08-27 17:06:57 +0530 Ravi Kiran K N * plugins/elements/gstoutputselector.c: output-selector: Send all events to active src pad and EOS to all src pads Fixes tests/icles/output-selector-test https://bugzilla.gnome.org/show_bug.cgi?id=729811 2014-09-02 12:11:44 +0530 Vineeth T M * plugins/elements/gstdataurisrc.c: dataurisrc: Make get_uri() threadsafe https://bugzilla.gnome.org/show_bug.cgi?id=735861 2014-08-28 17:24:56 +0200 Guillaume Desmottes * docs/manual/advanced-dataaccess.xml: manual: fix typo in advanced-dataaccess.xml https://bugzilla.gnome.org/show_bug.cgi?id=735609 2014-08-26 20:14:40 +0200 Arnaud Vrac * gst/gstbuffer.c: buffer: do not touch memory tag flag when copying buffer flags The tag memory flag will be set later if the memory is also copied. This patch avoids buffers being freed needlessly in bufferpools. https://bugzilla.gnome.org/show_bug.cgi?id=735574 2014-07-15 16:06:49 +0200 Linus Svensson * gst/gstbus.c: bus: gst_bus_add_watch() can return 0 on error Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=735195 2014-08-25 13:44:30 -0300 Thiago Santos * libs/gst/base/gstbaseparse.c: baseparse: handle streamheaders by prepending them to the stream Add a first_buffer boolean state flag to have baseparse do actions before pushing data. This is used to check the caps for streamheader buffers that are prepended to the stream, but only if the first buffer isn't already marked with the _HEADER flag. In this case, it is assumed that the _HEADER marked buffer is the same as the streamheader. https://bugzilla.gnome.org/show_bug.cgi?id=735070 2014-08-27 11:01:01 +0300 Sebastian Dröge * plugins/elements/gstconcat.c: concat: Allow seeking on the currently playing stream This is consistent with the stream time reporting. 2014-08-23 12:24:27 +0100 Tim-Philipp Müller * gst/gstpad.h: pad: add g-i 'transfer full' annotations to chain and chain_list functions https://bugzilla.gnome.org/show_bug.cgi?id=735210 2014-08-22 10:32:38 +0200 Guillaume Desmottes * gst/gstpad.h: pad: annotate GstPadEventFunction event with 'transfer full' The callback is supposed to take ownership of the event so best to be explicit about it. https://bugzilla.gnome.org/show_bug.cgi?id=735210 2014-08-20 12:55:51 +0200 Linus Svensson * tests/check/elements/queue.c: tests: add test that triggers deadlock in state change of queue When receiving FLASH_STOP in a state transition to READY, a queue element can end up with an active task that will never end. https://bugzilla.gnome.org/show_bug.cgi?id=734688 2014-08-21 14:02:16 +0100 Tim-Philipp Müller * plugins/elements/gstqueue.c: queue: fix race when flush-stop event comes in whilst shutting down Don't re-start the queue push task on the source pad when a flush-stop event comes in and we're in the process of shutting down, otherwise that task will never be stopped again. When the element is set to READY state, the pads get de-activated. The source pad gets deactivated before the queue's own activate_mode function on the source pads gets called (which will stop the thread), so checking whether the pad is active before re-starting the task on receiving flush-stop should be fine. The problem would happen when the flush-stop handler was called just after the queue's activate mode function had stopped the task. Spotted and debugged by Linus Svensson https://bugzilla.gnome.org/show_bug.cgi?id=734688 2014-08-06 14:01:09 +0100 Tim-Philipp Müller * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstbytereader.c: * libs/gst/base/gstbytereader.h: * tests/check/libs/bytereader.c: * win32/common/libgstbase.def: bytereader: add gst_byte_reader_peek_sub_reader() and _get_sub_reader() Adds API to get or peek a sub-reader of a certain size from a given byte reader. This is useful when parsing nested chunks, one can easily get a byte reader for a sub-chunk and make sure one never reads beyond the sub-chunk boundary. API: gst_byte_reader_peek_sub_reader() API: gst_byte_reader_get_sub_reader() 2014-07-25 16:39:40 +0200 Aurélien Zanelli * libs/gst/base/gstbasesrc.c: docs: make explicit that the caps passed to gst_base_src_set_caps() are 'tranfer none' https://bugzilla.gnome.org/show_bug.cgi?id=733741 2014-08-14 18:53:40 -0300 Thiago Santos * plugins/elements/gstinputselector.c: inputselector: always proxy caps query Otherwise it would only be proxied for the active pad which can lead upstream to use an incompatible caps for the downstream element. Even if a reconfigure event is sent upstream when the pad is activated, this will save the caps reconfiguration if it is already using an acceptable caps. 2014-08-14 14:37:56 +0100 Tim-Philipp Müller * libs/gst/base/gstdataqueue.h: base: and fix build with new g-i again 2014-08-14 14:25:06 +0100 Tim-Philipp Müller * libs/gst/base/gstdataqueue.h: base: remove g-i annotation that makes older g-ir-scanner crash Just remove one skip annotation that causes this: ** (g-ir-compiler:12458): ERROR **: Caught NULL node, parent=empty with older g-i versions such as 1.32.1. 2014-08-13 14:12:00 +0200 Philippe Normand * gst/gstbus.c: bus: destroy signal watch from the context it was mapped to Don't rely on g_source_remove() because it operates on the main context. If a signal watch was added to a new thread-default context g_source_remove() would have no effect. So simply use g_source_destroy() to avoid this problem. Additionally the source_id was removed from GstBusPrivate because it was redundant with the signal watch GSource also stored in that structure. https://bugzilla.gnome.org/show_bug.cgi?id=734716 2014-08-07 12:18:04 +0200 Thibault Saunier * plugins/elements/gstmultiqueue.c: multiqueue: Not post BUFFERING message if one of the singlequeue doesn't need it Imagine the following 'pipeline' -------------- p1/| 'fullqueue' |--- 'laggy' downstream --------- / | | -| demuxer | | multiqueue | --------- \ | | p2\| 'emptyqueue' |--- 'fast' downstream -------------- In the case downstream of one single queue (fullqueue) has (a lot of) latency (for example for reverse playback with video), we can end up having the other SingleQueue (emptyqueue) emptied, before that fullqueue gets unblocked. In the meantime, the demuxer tries to push on fullqueue, and is blocking there. In that case the current code will post a BUFFERING message on the bus when emptyqueue gets emptied, that leads to the application setting the pipeline state to PAUSED. So now we end up in a situation where 'laggy downstream' is prerolled and will not unblock anymore because the pipeline is set to PAUSED, the fullequeue does not have a chance to be emptied and the emptyqueue can not get filled anymore so no more BUFERRING message will be posted and the pipeline is stucked in PAUSED for the eternity. Making sure that we do not try to "buffer" if one of the single queue does not need buffering, prevents this situtation from happening though it lets the oportunity for buffering in all other cases. That implements a new logic where we need all singlequeue to need buffering for the multiqueue to actually state buffering is needed, taking the maximum buffering of the single queue as the reference point. https://bugzilla.gnome.org/show_bug.cgi?id=734412 2014-08-13 13:01:23 +0300 Sebastian Dröge * plugins/elements/gstmultiqueue.c: multiqueue: Only handle flow returns < EOS as errors, not e.g. flushing 2014-08-13 12:40:37 +0300 Sebastian Dröge * gst/gstbin.c: bin: Use allow-none instead of nullable until we depend on a new enough GI version 2014-08-13 12:39:47 +0300 Sebastian Dröge * gst/gstbin.c: bin: gst_bin_new() can accept NULL as name 2014-08-13 12:37:08 +0300 Sebastian Dröge * gst/gstelement.c: element: Clarify docs about gst_element_get_request_pad() and remove deprecation part This function is not really pad or slow for the common case of requesting a pad with the name of the template. It is only slower if you to name your pads directly instead of letting the element handle it. Also there's no reason to deprecate it in favor of a more complicated function for the common case. 2014-08-13 12:20:51 +0300 Sebastian Dröge * plugins/elements/gstqueue2.c: queue2: Post errors if we receive EOS after downstream reported an error There will be no further data flow that would allow us to propagate the error upstream, causing nobody at all to post an error message. 2014-08-13 12:15:03 +0300 Sebastian Dröge * plugins/elements/gstqueue.c: queue: Post errors when receiving EOS after downstream returned an error There might be no further data flow that would allow us to propagate the error upstream, causing nobody to post an error at all. 2014-08-13 12:10:39 +0300 Sebastian Dröge * plugins/elements/gstmultiqueue.c: multiqueue: Post errors ourselves if they are received after EOS After EOS there will be no further buffer which could propagate the error upstream, so nothing is going to post an error message and the pipeline just idles around. 2014-08-12 20:03:06 +0530 Arun Raghavan * gst/gstpad.c: docs: Trivial pad documentation fix Presumably a copy-pasto. 2014-08-08 09:54:02 +0200 Sebastian Dröge * tests/check/Makefile.am: * tests/check/elements/.gitignore: * tests/check/elements/concat.c: concat: Add unit tests for concat element 2014-08-08 09:13:50 +0200 Sebastian Dröge * docs/plugins/gstreamer-plugins-sections.txt: * docs/plugins/gstreamer-plugins.hierarchy: * docs/plugins/inspect/plugin-coreelements.xml: * plugins/elements/gstconcat.c: concat: Add documentation and integrate into documentation build 2014-08-07 14:42:44 +0200 Sebastian Dröge * plugins/elements/Makefile.am: * plugins/elements/gstconcat.c: * plugins/elements/gstconcat.h: * plugins/elements/gstelements.c: concat: Add new element that concatenates multiple streams https://bugzilla.gnome.org/show_bug.cgi?id=734470 2014-08-09 10:57:56 -0300 Thiago Santos * tests/check/gst/gstcaps.c: tests: caps: add check for caps with features intersection Checks that a caps without features doesn't intersect with one that has features 2014-08-07 14:54:37 +0100 Tim-Philipp Müller * tests/examples/controller/audio-example.c: * tests/examples/controller/text-color-example.c: examples: controller: fix typo in comments 2014-08-06 13:58:22 +0100 Tim-Philipp Müller * libs/gst/base/gstbytereader.h: bytereader: use unchecked inline variant for get_remaining in more places We've already done the g_return_*_if_fail (reader != NULL) dance in those places, so no need to do it again. 2014-08-06 14:43:08 +0200 Sebastian Dröge * gst/gstutils.c: utils: Ghostpads can be request pads too but check if the pad has a template Otherwise we dereference NULL in some cases and crash. 2014-08-06 12:34:42 +0200 Sebastian Rasmussen * docs/manual/appendix-programs.xml: * tests/check/gst/gstbin.c: * tests/check/pipelines/parse-launch.c: * tests/examples/launch/mp3parselaunch.c: tests: Add missing unrefs of objects after use Unreffing the objects returned by gst_bin_get_by_name() and gst_pipeline_get_use() were missing in several tests, so add these. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734345 2014-08-06 12:55:57 +0200 Sebastian Dröge * tests/check/gst/gstutils.c: utils: Fix unititialized variable compiler warning 2014-07-13 15:31:08 +0200 Sebastian Rasmussen * tests/check/gst/gstutils.c: tests: Add test verifying gst_element_link_pads_full() Fixes https://bugzilla.gnome.org/show_bug.cgi?id=733119 2014-07-13 15:28:32 +0200 Sebastian Rasmussen * gst/gstutils.c: utils: Unref/release pads in error cases when linking pads Previously gst_element_link_pads_full() forgot to unreference or release request pads in several error cases. Also comments were added mentioning why releasing is not necessary in some places. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=733119 2014-08-01 17:27:39 -0300 Tiago Cesar Katcipis * libs/gst/check/gstcheck.c: gstcheck: add docs for gst_check_setup_src_pad_by_name() https://bugzilla.gnome.org/show_bug.cgi?id=734142 2014-07-31 18:32:03 +0200 Edward Hervey * Makefile.am: * common: Makefile: Add usage of build-checks step Allows building checks without running them 2014-07-30 15:46:22 +0300 Mohammed Sameer * gst/gstbufferpool.c: bufferpool: Add missing error checking to default_alloc_buffer() default_alloc_buffer() calls gst_buffer_new_allocate() but does not check for failed allocation. This patch makes default_alloc_buffer() return an error (GST_FLOW_ERROR) if buffer allocation fails. https://bugzilla.gnome.org/show_bug.cgi?id=733974 2014-07-29 14:21:33 -0300 Thiago Santos * plugins/elements/gstmultiqueue.c: multiqueue: avoid using infinite buffers limit if finite is requested If the current max-buffers limit it infinite and a finite value is requested, switch to the MAX (requested, current-value) to set some limit but not below what we know that we've needed so far. https://bugzilla.gnome.org/show_bug.cgi?id=733637 https://bugzilla.gnome.org/show_bug.cgi?id=733837 2014-07-24 22:02:58 +0200 Sebastian Rasmussen * gst/parse/grammar.y: parse: Unref reference to enclosing bins Previously all reference to enclosing bins of an element were leaked when doing delaying setting a property. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=733697 2014-07-27 02:37:08 +0000 Руслан Ижбулатов * tools/gst-launch.c: gst-launch: Support SIGINT (Ctrl+C) on W32 W32 has no SIGINT, but it does have SetConsoleCtrlHandler(), which sets up a handler for Ctrl+C. https://bugzilla.gnome.org/show_bug.cgi?id=733814 2014-07-27 03:06:16 +0000 Руслан Ижбулатов * gst/gstpoll.c: poll: Prevent false-negative from WAKE_EVENT() on W32 SetEvent() seems to not call SetLastError(0) internally, so checking last error after calling SetEvent() may return the error from an earlier W32 API call. Fix this by calling SetlastError(0) explicitly. Currently WAKE_EVENT() code is cramped into a macro and doesn't look to be entirely correct. Particularly, it does not check the return value of SetEvent(), only the thread-local W32 error value. It is likely that SetEvent() actually just returns non-zero value, but the code mistakenly thinks that the call has failed, because GetLastError() seems to indicate so. https://bugzilla.gnome.org/show_bug.cgi?id=733805 2014-07-26 14:42:54 +0100 Tim-Philipp Müller * gst/gst.h: gst: include atomicqueue.h again in gst.h It's a public header of gstreamer core, so #include should make the API available. 2014-07-25 11:45:56 +0100 Tim-Philipp Müller * plugins/elements/gsttypefindelement.c: typefindelement: remove prototype for function that no longer exists 2014-07-24 14:39:11 -0300 Thiago Santos * libs/gst/base/gstbytereader.c: * libs/gst/base/gstbytereader.h: * tests/check/libs/bytereader.c: * win32/common/libgstbase.def: bytereader: add gst_byte_reader_masked_scan_uint32_peek Adds gst_byte_reader_masked_scan_uint32_peek just like GstAdapter has a _peek and non _peek version Upgraded tests to check that the returned value is correct in the _peek version API: gst_byte_reader_masked_scan_uint32_peek https://bugzilla.gnome.org/show_bug.cgi?id=728356 2014-06-26 14:09:25 +0100 Tim-Philipp Müller * gst/gstbufferlist.c: bufferlist: pre-allocate buffer array in one go with the buffer list We can now create and free a buffer list with one slice alloc/free call in most cases, instead of one slice alloc/free for the list, one slice alloc/free for the GArray, and one malloc/free for the GArray array. In practice we know the max size of our buffer list from the start, so can avoid reallocs. https://bugzilla.gnome.org/show_bug.cgi?id=732284 2014-07-23 21:27:48 +0200 Stefan Sauer * gst/gst_private.h: * gst/gstdebugutils.c: private: allow internal access to the debug base-time Moving the extern to the head lets us access this from other parts as well. This is neeed in the tracer branch. 2014-07-23 00:15:17 +0530 Arun Raghavan * scripts/git-update.sh: scripts: Use git pull --rebase No point introducing redundant merge commits. 2014-07-21 12:41:08 -0300 Thiago Santos * tests/check/Makefile.am: * tests/check/gst/gsttaglist.c: Revert "tests: taglist: add basic test for taglists serialization" This reverts commit 85d23d19b7de40541d63b0bc76d8b646c321af26. There was already a gsttag.c tests file, this test has been merged in it in the previous commit 2014-07-21 12:40:47 -0300 Thiago Santos * tests/check/gst/gsttag.c: tests: tag: add the empty taglist serialization test Adds the test to the appropriate and already existing file. 2014-07-14 18:46:54 -0300 Thiago Santos * tests/check/Makefile.am: * tests/check/gst/gsttaglist.c: tests: taglist: add basic test for taglists serialization Make sure it works with empty taglists 2014-07-14 18:25:50 -0300 Thiago Santos * tests/check/gst/gststructure.c: tests: gststructure: serialization of tag event structure Adds a test that checks that the serialization of a tag event structure works without problems https://bugzilla.gnome.org/show_bug.cgi?id=733131 2014-07-14 18:23:43 -0300 Thiago Santos * gst/gstvalue.c: gstvalue: add GstTagList compare function When serializing GstStructures from events in GDP it will add a taglist as a GstStructure field, having the compare function allows comparison of GstStructures to check if the serialized/deserialized version matches the original one, among other cases. https://bugzilla.gnome.org/show_bug.cgi?id=733131 2014-07-09 15:48:10 +0200 Srimanta Panda * plugins/elements/gstfunnel.c: funnel: Fix for racy EOS event handling When eos events are forwarded simultaneouly from two sinkpads on funnel, it doesnot forward the eos to sourcepad. The reason is sticky events are stored after the event callbacks are returned. Therefore while one is about to store the sticky events on the its sinkpad, other sinkpad starts checking for the eos events on all other sinkpads and assumes eos is not present yet. https://bugzilla.gnome.org/show_bug.cgi?id=732851 2014-07-17 16:05:00 +0200 Sebastian Dröge * tests/check/gst/gstpipeline.c: pipeline: Add unit test for resetting of the start time Also check if this properly affects basesink elements to not report the old start time but the real current position when setting to PAUSED again. 2014-07-15 18:19:24 +0200 Sebastian Dröge * gst/gstpipeline.c: pipeline: Reset the start time when going from PAUSED to READY too 2014-07-15 17:19:10 +0200 Sebastian Dröge * gst/gstpipeline.c: pipeline: Reset start time in READY->PAUSED before chaining up Otherwise bin will change the state of the child elements without distributing the new start time. 2014-06-28 17:58:26 +0100 Tim-Philipp Müller * plugins/elements/gstelements_private.c: elements: improve buffer flags to string utility function Avoid relocations and refactor so that we don't calculate the fixed and known at compile time maximum string size every time. Also skip the mini object flags which we are not going to print anyway. 2014-07-19 18:04:31 +0200 Sebastian Dröge * configure.ac: Back to development === release 1.4.0 === 2014-07-19 16:46:41 +0200 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * gstreamer.doap: * win32/common/config.h: * win32/common/gstversion.h: Release 1.4.0 2014-07-19 16:21:20 +0200 Sebastian Dröge * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files 2014-07-19 12:16:58 +0200 Sebastian Dröge * po/da.po: * po/sv.po: po: Update translations 2014-07-17 15:53:53 +0200 Thibault Saunier * libs/gst/base/gstbaseparse.c: baseparse: Return FLOW_FLUSHING when pushing a frame on a pad that has been flushed When going to READY, it is possible that we are still pusing a frame but that our srcpad has already been set to flushing. In that case we should not post any error on the bus but instead cleanly return FLOW_FLUSHING. https://bugzilla.gnome.org/show_bug.cgi?id=733320 2014-07-17 07:07:36 +0200 Edward Hervey * plugins/elements/gsttypefindelement.c: typefindelement: Propagate input buffer PTS and DTS The initial buffers (that were used for timestamping) might have PTS and DTS set. In order to forward those properly, get the initial PTS/DTS from the adapter and set them on the reconstructed output buffer. https://bugzilla.gnome.org/show_bug.cgi?id=733291 2014-07-12 17:01:23 +0200 Sebastian Rasmussen * gst/gstdebugutils.c: debugutils: Unref pad template after use Fixes https://bugzilla.gnome.org/show_bug.cgi?id=733121 2014-07-14 18:10:45 -0300 Thiago Santos * gst/gst.c: gst: init taglist gtype to use it in gstvalue Otherwise it will have a 0 value and GstTagList won't be found for GstValue functions (serialization/deserialization) https://bugzilla.gnome.org/show_bug.cgi?id=733131 === release 1.3.91 === 2014-07-11 10:46:01 +0200 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * gstreamer.doap: * win32/common/config.h: * win32/common/gstversion.h: Release 1.3.91 2014-07-11 10:41:20 +0200 Sebastian Dröge * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files 2014-07-11 08:51:08 +0200 Sebastian Dröge * po/da.po: * po/vi.po: po: Update translations 2014-07-05 18:29:29 +0200 Sebastian Rasmussen * docs/libs/gstreamer-libs-docs.sgml: * docs/libs/gstreamer-libs-sections.txt: * gst/gstcaps.h: * gst/gstdevice.c: * gst/gstdeviceprovider.c: * gst/gstdeviceproviderfactory.c: * gst/gsttoc.h: * gst/gstvalue.c: * libs/gst/check/gstcheck.c: * libs/gst/net/gstnetaddressmeta.c: * libs/gst/net/gstnetaddressmeta.h: docs: Fix documentation typos and inconsistencies * GstGlobalDeviceMonitor was renamed to GstDeviceMonitor * Expand GST_MESSAGE_DEVICE to the full enum value names * Correct the incorrect references to the GstDeviceProvider interfaces * Describe caps arguments for gstcheck interface * Add missing docs for GstNetAddressMeta and its add function * Add docs for toc helper macros * Avoid refering to GstValueList type as done elsewhere Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732786 2014-07-05 17:13:21 +0200 Sebastian Rasmussen * docs/gst/gstreamer-sections.txt: * docs/libs/gstreamer-libs-sections.txt: docs: Cleanup interface references in docs * Delete references to removed interfaces * Add missing documentation sections * Fix duplicate interface references for GstDevice Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732786 2014-07-08 11:17:41 +0200 Sebastian Dröge * plugins/elements/gstfilesrc.c: * plugins/elements/gsttee.c: * tools/gst-launch.1.in: docs: There is no decodebin2 anymore, don't pretend otherwise 2014-07-07 16:14:32 -0300 Thiago Santos * plugins/elements/gstfdsrc.c: fdsrc: fix error setting when uri is invalid Elements should always set the GError 2014-07-06 12:13:04 +0100 Tim-Philipp Müller * libs/gst/check/gstcheck.h: libs: gstcheck: check that mutex is locked before g_cond_wait*() is called Sanity check to catch problems in unit test. 2014-07-06 12:12:20 +0100 Tim-Philipp Müller * libs/gst/check/gstcheck.h: libs: gstcheck: init and clear global mutex and cond variables 2014-07-06 12:09:31 +0100 Tim-Philipp Müller * tests/check/gst/gstpoll.c: tests: fix locking in gstpoll unit test The mutex needs to be locked when g_cond_wait*() is called. 2014-07-05 16:24:18 +0100 Matthieu Bouron * scripts/gst-uninstalled: gst-uninstalled: add video and base library paths from -bad https://bugzilla.gnome.org/show_bug.cgi?id=732770 2014-07-04 19:40:28 +0100 Tim-Philipp Müller * tools/gst-inspect.c: tools: suppress GLib warnings when gst-inspecting deprecated properties GLib in git will spew a g_warning() when a property marked as deprecated via param spec flags is accessed. Suppress this by setting the appropriate environment variable. 2014-07-03 10:11:02 +0200 Sebastian Dröge * gst/gstmessage.h: message: Work around g-i/pygobject/gjs bug with ~0 in enums GST_MESSAGE_ANY was considered a long by pygobject and gjs, and thus couldn't be used in gst_bus_poll() and similar APIs as they expect an int-typed enum. Just use 0xffffffff instead for now. https://bugzilla.gnome.org/show_bug.cgi?id=732633 2014-07-02 08:41:18 +0100 Tim-Philipp Müller * tests/check/gst/gstbufferlist.c: tests: don't use post-GLib 2.32 API in bufferlist test g_ptr_array_insert() is GLib >= 2.40 2014-07-01 12:22:56 +0200 Göran Jönsson * gst/gstpad.c: pad: Don't unlock while iterating over all sticky events for removal Otherwise we might end up getting the event removed from elsewhere at the same time while we're unlocked for g_object_notify(). https://bugzilla.gnome.org/show_bug.cgi?id=732556 2014-07-01 19:17:11 +0200 Sebastian Dröge * plugins/elements/gstidentity.c: identity: Proxy the accept-caps query We always work in passthrough mode so there's no point in doing something more clever in basetransform. Also the basetransform code leads to problems with incomplete caps and downstream elements that use GST_PAD_FLAG_ACCEPT_INTERSECT. https://bugzilla.gnome.org/show_bug.cgi?id=732559 2014-07-01 11:21:53 +0100 Vincent Penquerc'h * libs/gst/base/gstbasesink.c: basesink: reset QoS on segment event This avoids spurious warnings about slow machine when upstream sends new segments without flushing. 2014-06-30 23:39:18 -0700 Evan Nemerson * gst/gstbufferpool.c: * gst/gstdevice.c: * gst/gstdevicemonitor.c: * gst/gstdeviceprovider.c: * gst/gstdeviceproviderfactory.c: * gst/gstmessage.c: * gst/gstquery.c: * gst/gststructure.c: * gst/gstsystemclock.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstcollectpads.c: * libs/gst/check/gstcheck.c: * libs/gst/check/gsttestclock.c: introspection: Assorted minor introspection and documentation fixes https://bugzilla.gnome.org/show_bug.cgi?id=732534 2014-06-30 08:59:18 +0000 Guillaume Desmottes * gst/gstdevicemonitor.c: devicemonitor: Stop using g_clear_pointer() We dont't want to depend on GLib 2.34 for now. 2014-06-29 19:16:05 +0200 Sebastian Dröge * tests/check/libs/sparsefile.c: sparsefile: Initialize memory in unit test to make valgrind happy We were writing unitialized stack memory to the file. 2014-06-28 09:35:21 -0300 Thiago Santos * plugins/elements/gstdataurisrc.c: dataurisrc: fix leak as gst_buffer_replace adds its own ref So unref the buffer after that otherwise it leaks === release 1.3.90 === 2014-06-28 10:45:18 +0200 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * gstreamer.doap: * win32/common/config.h: * win32/common/gstversion.h: Release 1.3.90 2014-06-28 10:41:48 +0200 Sebastian Dröge * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files 2014-06-27 10:44:32 +0100 Tim-Philipp Müller * gst/gstdevicemonitor.c: * tests/check/gst/gstdevice.c: devicemonitor: don't fail when started without any filters Just show all devices then. 2014-06-27 10:44:01 +0100 Tim-Philipp Müller * gst/gstdeviceproviderfactory.c: deviceproviderfactory: handle NULL classes argument and match any 2014-06-26 21:00:40 -0400 Olivier Crête * tests/check/Makefile.am: * tests/check/gst/.gitignore: * tests/check/gst/gstdevice.c: device: Add unit tests 2014-06-26 17:22:25 -0400 Olivier Crête * gst/gstdevicemonitor.c: * gst/gstdeviceprovider.c: * gst/gstdeviceproviderfactory.c: * gst/gstmessage.c: devicemonitor: Improve documentation 2014-06-26 17:13:12 -0400 Olivier Crête * docs/gst/gstreamer-sections.txt: * gst/gstdevicemonitor.c: * gst/gstdevicemonitor.h: * gst/gstdeviceprovider.c: * gst/gstdeviceproviderfactory.c: * gst/gstdeviceproviderfactory.h: * win32/common/libgstreamer.def: devicemonitor: Make it possible to add multiple filters Each filter will include a GstCaps and a set of classes to match 2014-06-26 16:31:51 -0400 Olivier Crête * gst/gstdevice.c: device: Add pre-conditions 2014-06-26 15:08:46 -0400 Olivier Crête * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * gst/Makefile.am: * gst/gst.h: * gst/gstdevicemonitor.c: * gst/gstdevicemonitor.h: * gst/gstglobaldevicemonitor.h: * win32/common/libgstreamer.def: GstDeviceMonitor: Rename from GstGlobalDeviceMonitor 2014-06-26 14:28:09 -0400 Olivier Crête * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * docs/plugins/gstreamer-plugins.hierarchy: * gst/Makefile.am: * gst/gst.h: * gst/gst_private.h: * gst/gstdevice.c: * gst/gstdevicemonitor.c: * gst/gstdevicemonitorfactory.h: * gst/gstdeviceprovider.c: * gst/gstdeviceprovider.h: * gst/gstdeviceproviderfactory.c: * gst/gstdeviceproviderfactory.h: * gst/gstglobaldevicemonitor.c: * gst/gstglobaldevicemonitor.h: * gst/gstmessage.c: * gst/gstmessage.h: * gst/gstregistry.c: * gst/gstregistrybinary.c: * gst/gstregistrychunks.c: * gst/gstregistrychunks.h: * tools/gst-inspect.c: * win32/common/libgstreamer.def: DeviceProvider: Rename from DeviceMonitor 2014-06-26 19:31:33 +0200 Sebastian Dröge * libs/gst/base/gstdataqueue.c: * libs/gst/base/gstdataqueue.h: dataqueue: Hide from bindings Other languages have their own data structures that are more convenient to use. https://bugzilla.gnome.org/show_bug.cgi?id=731303 2014-06-26 19:30:52 +0200 Sebastian Dröge * libs/gst/base/gstqueuearray.c: * libs/gst/base/gstqueuearray.h: queuearray: Hide from bindings Other languages have their own data structures that are more convenient to use. https://bugzilla.gnome.org/show_bug.cgi?id=731350 2014-05-28 10:14:45 +0100 Philip Withnall * gst/gstminiobject.c: miniobject: Add missing (nullable) annotations gst_mini_object_replace() can take NULL mini-objects. https://bugzilla.gnome.org/show_bug.cgi?id=730873 2014-06-26 19:02:06 +0200 Sebastian Dröge * gst/gstmessage.c: message: Application and element messages should not have NULL structures It does not make sense for them. 2014-06-11 16:19:01 -0700 Evan Nemerson * gst/gstbufferpool.c: * gst/gstelement.c: * gst/gstinfo.h: * gst/gstmessage.c: * gst/gstobject.c: * gst/gstpad.c: * gst/gstpad.h: * gst/gstplugin.h: * gst/gstpreset.c: * gst/gsttaglist.c: introspection: add some missing allow-none annotations to in params https://bugzilla.gnome.org/show_bug.cgi?id=730957 2014-06-11 16:06:19 -0700 Evan Nemerson * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstbufferlist.h: * gst/gstcaps.h: * gst/gstevent.h: * gst/gstmessage.h: * gst/gstobject.c: * gst/gstpreset.c: * gst/gstquery.h: * gst/gsttoc.c: * gst/gstvalue.c: introspection: add nullability annotations to out and inout params https://bugzilla.gnome.org/show_bug.cgi?id=730957 2014-06-11 15:21:34 -0700 Evan Nemerson * gst/gstallocator.c: * gst/gstatomicqueue.c: * gst/gstbin.c: * gst/gstbuffer.c: * gst/gstbufferlist.c: * gst/gstbus.c: * gst/gstcapsfeatures.c: * gst/gstchildproxy.c: * gst/gstclock.c: * gst/gstcontrolbinding.c: * gst/gstdatetime.c: * gst/gstdevicemonitorfactory.c: * gst/gstelement.c: * gst/gstelement.h: * gst/gstelementfactory.c: * gst/gstformat.c: * gst/gstghostpad.c: * gst/gstmemory.c: * gst/gstmeta.c: * gst/gstminiobject.c: * gst/gstobject.c: * gst/gstpad.c: * gst/gstpad.h: * gst/gstplugin.c: * gst/gstpluginfeature.c: * gst/gstpluginfeature.h: * gst/gstpoll.c: * gst/gstpreset.c: * gst/gstregistry.c: * gst/gstsample.c: * gst/gststructure.c: * gst/gsttaglist.c: * gst/gsttagsetter.c: * gst/gsttaskpool.c: * gst/gsttoc.c: * gst/gsttocsetter.c: * gst/gsttypefind.c: * gst/gsttypefindfactory.c: * gst/gsturi.c: * gst/gstutils.c: * gst/gstvalue.c: introspection: add missing (nullable) annotations to return values Support for (nullable) was added to G-I at the same time as nullable return values. Previous versions of G-I will not mark return values as nullable, even when an (allow-none) annotation is present, so it is not necessary to add (allow-none) annotations for compatibility with older versions of G-I. https://bugzilla.gnome.org/show_bug.cgi?id=730957 2014-06-11 17:15:39 -0700 Evan Nemerson * libs/gst/base/gstadapter.c: * libs/gst/base/gstcollectpads.c: * libs/gst/base/gstcollectpads.h: base: assorted introspection fixes and additions https://bugzilla.gnome.org/show_bug.cgi?id=731542 2014-06-11 17:12:20 -0700 Evan Nemerson * libs/gst/base/gstadapter.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstcollectpads.c: * libs/gst/base/gstindex.c: * libs/gst/base/gsttypefindhelper.c: base: add (nullable) annotations to return values https://bugzilla.gnome.org/show_bug.cgi?id=731542 2014-06-26 14:08:03 +0100 Tim-Philipp Müller * tests/check/gst/gstbufferlist.c: tests: add another buffer list test case 2014-06-26 13:24:08 +0100 Tim-Philipp Müller * tests/check/gst/gstbufferlist.c: tests: port and re-enable buffer list tests And remove some which don't apply any more. 2014-06-26 11:58:04 +0300 George Kiagiadakis * tests/check/gst/gstcaps.c: tests: enhance the gstcaps test_features to also test gst_caps_set_features() Compliments my previous patch for gst_caps_set_features, which would previously assert and leak the old GstCapsFeatures if the caps already had a GstCapsFeatures and you were trying to replace it with a new one. 2014-06-26 11:16:34 +0300 George Kiagiadakis * gst/gstcaps.c: caps: unset the parent refcount of the old features before freeing them in gst_caps_set_features() Otherwise gst_caps_features_free() asserts and the features structure is leaked 2014-06-16 19:30:06 -0300 Thiago Santos * libs/gst/base/gstbaseparse.c: baseparse: avoid returning _OK for _NOT_LINKED When the parser receives non-aligned packets it can push a buffer and get a not-linked return while still leaving some data still to be parsed. This remaining data will not form a complete frame and the subclass likely returns _OK and baseparse would take that as the return, while it the element is actually not-linked. This patch fixes this by storing the last flow-return from a push and using that if a parsing operation doesn't result in data being flushed or skipped. https://bugzilla.gnome.org/show_bug.cgi?id=731474 2014-06-25 11:40:57 +0100 Tim-Philipp Müller * plugins/elements/gstelements_private.c: elements: fix copyright and remove gtk-doc chunk Trivial as it may be, this code was mostly copied from somewhere else. The gtk-doc chunk is not needed, since it's not public API. 2014-06-02 22:07:52 -0400 Olivier Crête * plugins/elements/gstfilesrc.c: filesrc: Ignore seek error on non-seekable files This make it works with FIFOs. https://bugzilla.gnome.org/show_bug.cgi?id=731176 2014-06-22 19:36:14 +0200 Sebastian Dröge * configure.ac: Back to development === release 1.3.3 === 2014-06-22 18:07:42 +0200 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * gstreamer.doap: * win32/common/config.h: * win32/common/gstversion.h: Release 1.3.3 2014-06-22 17:15:40 +0200 Sebastian Dröge * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files 2014-06-22 14:23:03 +0200 Sebastian Dröge * po/hu.po: * po/id.po: * po/sr.po: * po/zh_TW.po: po: Update translations 2014-06-22 12:52:01 +0100 Tim-Philipp Müller * tests/check/gst/gstcaps.c: tests: add unit test for gst_caps_is_any() and _is_empty() https://bugzilla.gnome.org//show_bug.cgi?id=731704 2014-06-22 12:50:42 +0100 Tim-Philipp Müller * gst/gstcaps.c: caps: gst_caps_is_any() should return TRUE or FALSE Not some flag value instead of TRUE. Fixes code like gst_caps_is_any() == TRUE. https://bugzilla.gnome.org//show_bug.cgi?id=731704 2014-06-01 16:56:41 +0100 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gstdevice.c: * gst/gstdevice.h: * win32/common/libgstreamer.def: device: rename "klass" and get_klass() to "device-class" and _get_device_class() There's some precedent in GstElementFactory, but a "klass" property just seems weird. 2014-06-20 18:34:44 +0100 Tim-Philipp Müller * tests/benchmarks/capsnego.c: benchmarks: capsnego: add --loops command line option And default to 50 loops. 2014-06-20 17:14:52 +0100 Tim-Philipp Müller * tests/benchmarks/capsnego.c: benchmark: capsnego: use GOptionContext for option parsing 2014-06-19 12:10:23 +0100 Tim-Philipp Müller * tests/check/gst/gstvalue.c: tests: fix compiler warnings in gstvalue tests Calling GST_VALUE_HOLDS_*(&v) now results in a compiler warning about value!=NULL always being false, so check type directly in those cases. 2014-06-17 22:45:57 +0100 Tim-Philipp Müller * gst/gsttaglist.c: * gst/gstutils.c: * gst/gstvalue.h: value: simplify GST_VALUE_HOLDS for our boxed and fundamental types Boxed types can't be derived from, and we don't support deriving from our special fundamental types (the code checks for GType equality in most places. 2014-06-20 16:55:06 -0400 Olivier Crête * docs/gst/gstreamer-sections.txt: * gst/gstdevice.c: * gst/gstdevice.h: * gst/gstdevicemonitor.c: * gst/gstdevicemonitor.h: * gst/gstdevicemonitorfactory.h: * gst/gstglobaldevicemonitor.c: * gst/gstglobaldevicemonitor.h: * gst/gstmessage.c: GstDevice: Document GstDevice and related classes 2014-06-16 13:47:55 +0200 Srimanta Panda * plugins/elements/gstfunnel.c: * tests/check/elements/funnel.c: Fix funnel EOS handling and wrong unittest When no data is coming from sinkpads and eos events arrived at one of the sinkpad, funnel forwards the EOS event to downstream. It forwards the EOS because lastsink pad is NULL. Also the unit testcase of the funnel is not checking the correct behavior as it should. The unit test case should fail if one of the sink pad has already EOS present on it and we are trying to push one more EOS. https://bugzilla.gnome.org/show_bug.cgi?id=731716 2014-06-19 08:09:55 +0100 Tim-Philipp Müller * gst/gstvalue.c: gstvalue: optimise checks for lists Our fundamental types are non-derivable, so we can just check for equality. Also avoid doing the same check multiple times in a couple of places. 2014-06-19 08:06:31 +0100 Tim-Philipp Müller * gst/gstvalue.c: gstvalue: use g_assert() in internal function for already-checked things So these get compiled out for releases. 2014-06-19 08:05:40 +0100 Tim-Philipp Müller * gst/gstvalue.c: gstvalue: add internal _can_compare_unchecked() 2014-06-19 08:03:37 +0100 Tim-Philipp Müller * gst/gstvalue.c: gstvalue: add internal _list_concat() that takes ownership of input values Avoids unnecessary copies. 2014-06-18 19:06:58 +0100 Tim-Philipp Müller * gst/gststructure.c: structure: simplify value type checks in getters Just check for GType equality in common cases. 2014-06-19 09:29:18 +0200 Sebastian Dröge * gst/gstvalue.c: value: Add a FIXME 2.0 for a fraction ranges optimization Currently we leak the internal representation of them as two GValues that contain a fraction. Without this we could store fraction ranges as data[0] = (min_n << 32) | (min_d) data[1] = (max_n << 32) | (max_d) and wouldn't require an additional allocation per range. 2014-06-19 09:23:56 +0200 Sebastian Dröge * gst/gstvalue.c: * tests/check/gst/gstvalue.c: value: Make sure to cast int range values to guints before storing them Otherwise negative values will sets all of the 64 bits due to two's complement's definition of negative values. Also add a test for negative int ranges. 2014-06-19 07:57:11 +0100 Tim-Philipp Müller * win32/common/libgstreamer.def: win32: update exports 2014-06-19 09:05:18 +0200 Sebastian Dröge * gst/gstvalue.c: value: Store integer ranges directly in a GValue without additional allocation Micro optimization to save some allocations. Next step to do this with fraction ranges too. 2014-06-19 08:43:02 +0200 Edward Hervey * gst/gst_private.h: gst_private: Fix duplicate definition 2014-06-19 08:05:03 +0200 Sebastian Dröge * gst/gst.c: * gst/gst_private.h: * gst/gstallocator.c: * gst/gstcapsfeatures.h: * gst/gstcontext.c: * gst/gstcontext.h: * gst/gstdatetime.c: * gst/gstdatetime.h: * gst/gstmemory.c: * gst/gstmemory.h: * gst/gstmessage.c: * gst/gstmessage.h: * gst/gstquery.c: * gst/gstquery.h: * gst/gsttaglist.c: * gst/gsttaglist.h: * gst/gsttoc.c: * gst/gsttoc.h: gst: Store more basic type GTypes in variables Micro optimization to change a function call to a variable access for all our basic types. 2014-06-19 08:04:01 +0200 Sebastian Dröge * gst/gstvalue.c: * gst/gstvalue.h: value: Store our fundamental type GTypes in variables Micro optimization to change a function call to a variable access for all our basic types. 2014-06-17 07:31:48 +0200 Edward Hervey * gst/gstvalue.c: gstvalue: Speed up gst_value_intersect/_subtract Both gst_value_intersect and gst_value_subtract will call gst_value_compare if one of their arguments isn't a list. gst_value_compare will then re-do a check to see if one of the arguments is a list (for the special case of comparing a unitary value with a list of length 1). The problem is that the various G_VALUE_HOLDS represent an expensive amount of calling gst_value_compare (almost half of it) to see if the provided arguments are list. These checks can be done without when we know that the arguments aren't lists. * Create a new "nolist" gst_value_compare which avoids that special case comparision Benchmarks: valgrind/callgrind: average speedup in instruction calls for gst_value_intersect and gst_value_subtract is around 56% (Makes 63% of the calls it used to take previously) tests/benchmarks/capsnego: With default settings (depth 4, children 3 607 elements), time taken for transition from READY to PAUSED: Before : 00.391519153 After : 00.220397492 56% of the time previously used, +77% speedup https://bugzilla.gnome.org/show_bug.cgi?id=731756 2014-06-17 14:39:00 +0100 Tim-Philipp Müller * tests/check/gst/gstbufferlist.c: tests: remove some cruft from the bufferlist test Buffers no longer carry caps, and bufferlists don't have groups where buffers may need to be merged into one any more. 2014-06-16 20:30:13 +0100 Tim-Philipp Müller * tests/check/gst/gstbufferlist.c: tests: add test for gst_buffer_list_remove() 2014-06-16 20:29:56 +0100 Tim-Philipp Müller * gst/gstbufferlist.c: bufferlist: fix buffer leak in _remove() 2014-06-16 09:18:45 +0100 Tim-Philipp Müller * libs/gst/base/gstflowcombiner.c: flowcombiner: fix g-i transfer annotations 2014-06-16 08:41:48 +0200 Edward Hervey * libs/gst/base/gstflowcombiner.c: flowcombiner: Fixed GBoxedCopyFunc I'll just quote the most interesting man in the world: "I don't usually push commits, but when I do I don't compile it first" 2014-06-14 16:30:49 +0100 Tim-Philipp Müller * gst/gstdevicemonitor.h: * gst/gstglobaldevicemonitor.c: devicemonitor: some docs additions and fixes 2014-06-14 16:28:48 +0100 Tim-Philipp Müller * win32/common/libgstbase.def: win32: add exports for new get_type() function 2014-06-14 11:31:44 +0100 Tim-Philipp Müller * libs/gst/base/gstflowcombiner.c: flowcombiner: keep a ref to the pads we're using Needed for use via the boxed type. https://bugzilla.gnome.org/show_bug.cgi?id=731355 2014-06-14 10:54:41 +0100 Tim-Philipp Müller * libs/gst/base/gstflowcombiner.c: * libs/gst/base/gstflowcombiner.h: flowcombiner: add boxed type for bindings https://bugzilla.gnome.org/show_bug.cgi?id=731355 2014-06-11 16:28:51 -0700 Evan Nemerson * gst/gstdevice.c: * gst/gstdevicemonitorfactory.c: * gst/gstevent.c: introspection: minor annotation additions https://bugzilla.gnome.org/show_bug.cgi?id=731541 2014-06-11 19:08:04 -0700 Evan Nemerson * gst/Makefile.am: introspection: include gstversion.h in GIR generation https://bugzilla.gnome.org/show_bug.cgi?id=703021 2014-06-10 10:23:13 -0400 Nicolas Dufresne * libs/gst/base/gstbytereader.c: bytereader: Use concistant derefence method This is minor style fix to not mix *var and var[N]. 2014-06-10 09:35:38 -0400 Sungho Bae * libs/gst/base/gstbytereader.c: bytereader: Use pointer instead of index access Currently the scan uses Boyer-moore method and its performance is good. but, it can be optimized from an implementation of view. The original scan code is implemented by byte array and index-based access. In _scan_for_start_code(), the index is increasing from start to end and the base address of the byte array is referred to as return value. In the case, index-based access can be replaced by pointer access, which improve the performance by removing index-related operations. Its performace is enhanced by approximately 8% on arm-based embedded devices. Although it seems trivial, it can affect the overall performance because the _scan_for_start_code() function is very often called when H.264/H.265 video is played. In addition, the technique can apply for all architectures and it is good in view of readability and maintainability. https://bugzilla.gnome.org/show_bug.cgi?id=731442 2014-06-07 10:13:56 +0100 Tim-Philipp Müller * gst/gstglobaldevicemonitor.h: globaldevicemonitor: prettify header 2014-06-07 09:46:42 +0100 Tim-Philipp Müller * tests/check/libs/queuearray.c: tests: add unit test for queuearray expansion from 1 https://bugzilla.gnome.org/show_bug.cgi?id=731349 2014-06-06 16:36:00 -0700 Evan Nemerson * libs/gst/base/gstqueuearray.c: queuearray: fix expanding size of queue from 1 Without we would not actually expand and access memory beyond the allocated region for the array. https://bugzilla.gnome.org/show_bug.cgi?id=731349 2014-06-05 16:55:15 -0700 Evan Nemerson * libs/gst/base/gstdataqueue.c: dataqueue: clear up documentation of gst_data_queue_new The gpointer argument is passed to all three callbacks, not just one. https://bugzilla.gnome.org/show_bug.cgi?id=731302 2014-05-30 00:17:06 -0700 Evan Nemerson * gst/gstcontrolbinding.c: * gst/gstcontrolsource.c: * gst/gstdevicemonitorfactory.h: * gst/gstutils.c: * libs/gst/base/gstdataqueue.c: * libs/gst/base/gstindex.c: introspection: fix some minor annotation bugs https://bugzilla.gnome.org/show_bug.cgi?id=730982 2014-06-05 12:38:20 -0700 Evan Nemerson * libs/gst/base/gstadapter.c: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasesrc.h: * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstbasetransform.h: * libs/gst/base/gstcollectpads.c: * libs/gst/base/gstcollectpads.h: * libs/gst/base/gstdataqueue.c: * libs/gst/base/gstdataqueue.h: * libs/gst/base/gstindex.c: * libs/gst/base/gsttypefindhelper.c: * libs/gst/base/gsttypefindhelper.h: base: use correct syntax in documentation more consistently Previously, many constants were prefixed with # or unprefixed, some functions and macros were prefixed with # instead of suffixed with (), etc. https://bugzilla.gnome.org/show_bug.cgi?id=731293 2014-05-07 18:26:38 +0800 zhouming * libs/gst/base/gstbaseparse.c: baseparse: Pass rate of input segment to output segment https://bugzilla.gnome.org/show_bug.cgi?id=729701 2014-04-07 14:49:59 +0100 Vincent Penquerc'h * plugins/elements/Makefile.am: * plugins/elements/gstelements_private.c: * plugins/elements/gstelements_private.h: * plugins/elements/gstfakesink.c: * plugins/elements/gstfakesrc.c: * plugins/elements/gstidentity.c: gstbuffer: factor three flags-to-string loops 2014-06-03 23:42:45 +0100 Tim-Philipp Müller * gst/gstinfo.c: info: make printing datetimes work with GST_PTR_FORMAT 2014-06-03 23:38:28 +0100 Tim-Philipp Müller * gst/gstdatetime.c: * gst/gstdatetime.h: * gst/gstvalue.c: * gst/gstvalue.h: datetime: change internal implementation to mini object And move type stuff from GstValue to GstDateTime. 2014-06-03 22:19:33 +0200 Wim Taymans * plugins/elements/gstdownloadbuffer.c: downloadbuffer: fix uninitialized variable 2014-06-03 22:12:13 +0200 Wim Taymans * docs/design/part-buffering.txt: * plugins/elements/gstdownloadbuffer.c: downloadbuffer: improve start/stop in buffering query The start and stop should represent the currently downloading region. The estimated-total should represent the remaining time to download the currently downloading region. This makes it a lot more useful for applications because they can then use those values to update the fill region and use the estimated time to delay playback. Update the docs with this clarification. 2014-04-07 14:35:04 +0100 Vincent Penquerc'h * plugins/elements/gstidentity.c: identity: add static and const where appropriate 2014-04-07 14:31:17 +0100 Vincent Penquerc'h * plugins/elements/gstidentity.c: identity: fix potential buffer overflow Coverity 1037155 2014-06-03 14:49:44 +0200 Wim Taymans * plugins/elements/gstdownloadbuffer.c: downloadbuffer: reset read and write positions Reset the read and write positions right after we open the file or flush it. We are also in the buffering state with 0 percent buffered when we start. 2014-06-03 14:47:17 +0200 Wim Taymans * gst/gstinfo.c: info: first handle all miniobjects, then GObjects First handle all miniobjects before we attempt to dereference the first field pointer and look at the GType. With the recent glib change to speed up G_IS_OBJECT, this causes crashes on miniobjects otherwise. 2014-06-03 14:46:11 +0200 Wim Taymans * gst/gstinfo.c: info: GstDateTime does not have a GType as first field GstDateTime does not have the GType as the first field so we can't use it to detect its type. 2014-06-03 14:45:22 +0200 Wim Taymans * gst/gstinfo.c: info: use macros to check types Use the macros to check the type of objects instead of directly poking at the first field. 2014-06-01 23:51:20 +0100 Tim-Philipp Müller * gst/gstglobaldevicemonitor.c: globaldevicemonitor: connect sync-message signal on the right object Fixes criticals at runtime and makes stuff actually work. 2014-05-31 17:35:52 +0200 Sebastian Dröge * plugins/elements/gsttypefindelement.c: typefind: Keep still meaningfull pending events on FLUSH_STOP Only EOS and segment should be deleted in that case. https://bugzilla.gnome.org/show_bug.cgi?id=709868 2014-05-30 09:13:12 +0200 Sebastian Dröge * gst/gstminiobject.c: Revert "miniobject: Add missing (nullable) annotations" This reverts commit 96361e9b5c5d00dc7712ff3a9acfbe10df7cd9fe. This was not supposed to be pushed yet! 2014-05-30 09:12:14 +0200 Sebastian Dröge * gst/gstbufferpool.h: bufferpool: It's pool, not poo... even when talking about flushing 2014-05-28 10:14:45 +0100 Philip Withnall * gst/gstminiobject.c: miniobject: Add missing (nullable) annotations gst_mini_object_replace() can take NULL mini-objects. https://bugzilla.gnome.org/show_bug.cgi?id=730873 2014-05-30 01:42:17 -0300 Thiago Santos * tests/check/elements/multiqueue.c: tests: multiqueue: fix leaks 2014-05-29 14:54:34 -0700 Evan Nemerson * gst/gst.c: * gst/gstallocator.c: * gst/gstatomicqueue.c: * gst/gstbin.c: * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstbufferlist.c: * gst/gstbufferlist.h: * gst/gstbufferpool.c: * gst/gstbus.c: * gst/gstbus.h: * gst/gstcaps.c: * gst/gstcaps.h: * gst/gstcapsfeatures.c: * gst/gstchildproxy.c: * gst/gstcontext.h: * gst/gstcontrolsource.c: * gst/gstdatetime.c: * gst/gstdevice.c: * gst/gstdevicemonitorfactory.c: * gst/gstelement.c: * gst/gstelement.h: * gst/gstelementfactory.c: * gst/gsterror.c: * gst/gstevent.c: * gst/gstevent.h: * gst/gstformat.c: * gst/gstghostpad.c: * gst/gstinfo.c: * gst/gstinfo.h: * gst/gstiterator.c: * gst/gstiterator.h: * gst/gstmemory.c: * gst/gstmessage.c: * gst/gstmessage.h: * gst/gstmeta.c: * gst/gstminiobject.c: * gst/gstobject.c: * gst/gstobject.h: * gst/gstpad.c: * gst/gstpad.h: * gst/gstparse.c: * gst/gstparse.h: * gst/gstpipeline.c: * gst/gstplugin.c: * gst/gstplugin.h: * gst/gstpluginfeature.c: * gst/gstpluginfeature.h: * gst/gstpreset.c: * gst/gstquery.c: * gst/gstquery.h: * gst/gstregistry.c: * gst/gstsample.c: * gst/gstsegment.c: * gst/gststructure.c: * gst/gststructure.h: * gst/gsttaglist.c: * gst/gsttagsetter.c: * gst/gsttask.c: * gst/gsttaskpool.c: * gst/gsttoc.c: * gst/gsttocsetter.c: * gst/gsttypefind.c: * gst/gsttypefindfactory.c: * gst/gsturi.c: * gst/gstutils.c: * gst/gstvalue.c: docs: convert NULL, TRUE, and FALSE to %NULL, %TRUE, and %FALSE This should help improve documentation generated for languages other than C. https://bugzilla.gnome.org/show_bug.cgi?id=730961 2014-05-30 00:13:30 +0100 Tim-Philipp Müller * gst/gstobject.c: docs: fix type in GstObject docs 2014-05-29 15:04:45 -0700 Evan Nemerson * gst/gstbufferpool.c: bufferpool: fix gst_buffer_pool_has_option() documentation https://bugzilla.gnome.org/show_bug.cgi?id=730962 2014-05-29 14:07:15 -0300 Thiago Santos * gst/gstelement.c: * tests/check/gst/gstelement.c: element: set pads need-parent flag to false when removing When a pad is added the need-parent flag is set to true, so when they are removed the flag should be set back to false This was preventing GstPads to be reused in elements (removed and later re-added). A unit tests was added to verify that this is working now. The use case is tsdemux that has a program-number property and allows the user to switch programs. In order to do that tsdemux will remove the pads of the current program and add from the new ones. The removed pads are kept in the demuxer for later if the user selects the old program again. 2014-05-27 08:09:36 -0300 Thiago Santos * plugins/elements/gstmultiqueue.c: multiqueue: post buffering message when queues flush The buffering status goes back to 0, so inform the application about it https://bugzilla.gnome.org/show_bug.cgi?id=726423 2014-05-29 14:39:36 -0400 Nicolas Dufresne * .gitignore: gitignore: Ignore VIM swap files 2014-05-27 13:36:29 +0100 Tim-Philipp Müller * gst/gstpad.c: * gst/gstpad.h: pad: two minor docs fixes 2014-05-27 10:09:02 +0100 Tim-Philipp Müller * libs/gst/base/gstflowcombiner.h: flowcombiner: beautify headers a little 2014-05-27 10:05:51 +0100 Tim-Philipp Müller * docs/libs/gstreamer-libs-docs.sgml: * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstflowcombiner.h: docs: add GstFlowCombiner 2014-05-27 09:55:27 +0100 Tim-Philipp Müller * libs/gst/base/base.h: base: include flowcombiner header from base.h 2014-05-26 12:31:33 -0300 Thiago Santos * libs/gst/base/Makefile.am: * libs/gst/base/gstflowcombiner.c: * libs/gst/base/gstflowcombiner.h: * tests/check/Makefile.am: * tests/check/libs/.gitignore: * tests/check/libs/flowcombiner.c: * win32/common/libgstbase.def: flowcombiner: add GstFlowCombiner Adds a utility struct that is capable of storing and aggregating flow returns associated with pads. This way all demuxers will have a standard function to use and have the same expected results. Includes tests. https://bugzilla.gnome.org/show_bug.cgi?id=709224 2014-05-23 13:25:35 -0300 Thiago Santos * gst/gstpad.c: * gst/gstpad.h: * tests/check/gst/gstpad.c: * win32/common/libgstreamer.def: pad: store last flow return and provide acessor function Stores the last result of a gst_pad_push or a pull on the GstPad and provides a getter and a macro to access this field. Whenever the pad is inactive it is set to FLUSHING API: gst_pad_get_last_flow_return https://bugzilla.gnome.org/show_bug.cgi?id=709224 2014-05-23 15:26:59 -0400 Nicolas Dufresne * docs/gst/gstreamer-sections.txt: * gst/gstbufferpool.c: * gst/gstbufferpool.h: * tests/check/gst/gstbufferpool.c: * win32/common/libgstreamer.def: bufferpool: Add method and virtuals to set flushing state Currently there is no other way to unlock a buffer pool other then stopping it. This may have the effect of freeing all the buffers, which is too heavy for a seek. This patch add a method to enter and leave flushing state. As a convenience, flush_start/flush_stop virtual are added so pool implementation can also unblock their own internal poll atomically with the rest of the pool. This is fully backward compatible with doing stop/start to actually flush the pool (as being done in GstBaseSrc). https://bugzilla.gnome.org/show_bug.cgi?id=727611 2014-05-26 14:23:13 +0200 Sebastian Dröge * libs/gst/base/gstbasetransform.c: basetransform: Passthrough ALLOCATION queries in passthrough mode even if we had no caps yet Or if the element does not care about caps at all. Also remove an assigned but unused local variable. https://bugzilla.gnome.org/show_bug.cgi?id=710268 2014-05-25 16:10:30 +0100 Tim-Philipp Müller * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: po: update 2014-05-25 16:57:59 +0200 Piotr Drąg * po/POTFILES.in: po: update POTFILES https://bugzilla.gnome.org/show_bug.cgi?id=730718 2014-05-21 13:23:21 +0200 Sebastian Dröge * configure.ac: Back to development === release 1.3.2 === 2014-05-21 13:06:34 +0200 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * common: * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * gstreamer.doap: * win32/common/config.h: * win32/common/gstversion.h: Release 1.3.2 2014-05-21 11:39:53 +0200 Sebastian Dröge * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files 2014-05-21 10:50:43 +0200 Sebastian Dröge * README: * common: Automatic update of common submodule From 211fa5f to 1f5d3c3 2014-05-19 11:05:12 +0200 Sebastian Dröge * tests/check/gst/gstvalue.c: value: Add some positive testcase for string deserialization 2014-05-18 10:49:50 +0100 Tim-Philipp Müller * README: * docs/faq/getting.xml: docs: remove reference to Mandrake and packages we no longer provide https://bugzilla.gnome.org/show_bug.cgi?id=730312 2014-05-15 16:41:58 +0200 Wim Taymans * docs/design/part-caps.txt: docs: fix typo 2014-05-14 13:40:03 +0100 Tim-Philipp Müller * gst/gstpluginloader.c: pluginloader: fix compiler warning on windows gstpluginloader.c:584:1: error: label 'beach' defined but not used https://bugzilla.gnome.org/show_bug.cgi?id=730125 2014-05-13 19:51:34 +0100 Tim-Philipp Müller * plugins/elements/gstdownloadbuffer.c: * plugins/elements/gstsparsefile.c: * plugins/elements/gstsparsefile.h: elements: don't depend on libgio just for g_io_error_from_errno() https://bugzilla.gnome.org/show_bug.cgi?id=729949 2014-05-13 19:30:38 +0100 Tim-Philipp Müller * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/Makefile.am: * plugins/elements/Makefile.am: * plugins/elements/gstdownloadbuffer.h: * plugins/elements/gstsparsefile.c: * plugins/elements/gstsparsefile.h: * tests/check/libs/sparsefile.c: * win32/common/libgstbase.def: sparsefile: keep it private as helper API for downloadbuffer There's no expectation that any other element or applications might want to use this helper API any time soon, so keep it private for the time being. There were open questions regarding portability and binding-friendliness too. This also removes the gio dependency of -base again. https://bugzilla.gnome.org/show_bug.cgi?id=729951 https://bugzilla.gnome.org/show_bug.cgi?id=729949 2014-05-13 19:14:08 +0100 Tim-Philipp Müller * docs/libs/gstreamer-libs.types: docs: pick up GstBaseParse hierarchy and properties 2014-05-13 19:10:43 +0100 Tim-Philipp Müller * docs/libs/gstreamer-libs-sections.txt: docs: expose GstPushSrcClass in documentation Might come in handy in case someone wants to derive from it. 2014-05-12 17:03:46 +0200 Edward Hervey * gst/gstpluginloader.c: pluginloader: Don't leak pluginloader in error cases CID #1212154 2014-05-12 16:59:29 +0200 Edward Hervey * gst/gstcaps.c: caps: Don't leak features on error cases If we fail to parse fields, we would end up leaking the features we parsed just before CID #1212152 2014-05-09 14:28:59 -0400 Nicolas Dufresne * libs/gst/base/gstbasetransform.c: basetransform: Correctly reset configuration When pool can't we use, and we fall back to default pool, we need to correctly reset that pool configuration. 2014-05-09 14:46:59 +0200 Edward Hervey * libs/gst/net/gstnettimeprovider.c: nettimeprovider: Use non-freed variable address is only used temporarily. Use the proper variable instead. CID #1212189 2014-05-08 17:33:37 -0300 Thiago Santos * tests/check/elements/multiqueue.c: tests: multiqueue: test to check queue overrun with pts=none Checks if buffers with pts=none can break the queue time size limit and allow more buffers than expected 2014-05-08 14:48:00 -0400 Nicolas Dufresne * plugins/elements/gstdownloadbuffer.c: downloadbuffer: Fix 32bit build format '%lli' expects argument of type 'long long int', but argument 8 has type 'gsize' 2014-05-08 14:12:16 -0400 Nicolas Dufresne * libs/gst/base/gstbasesrc.c: pool-nego: Correctly reset the configuration When pool cannot be used, correctly reset the configuration before configuration a default pool. 2014-04-15 14:17:00 -0400 Nicolas Dufresne * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: pool-nego: Retry setting configuration with modified config Buffer pool set_config() may return FALSE if requested configuration needed small changes. Reget the config and try setting it again (validating the changes first). This ensure we have a configured pool if possible. https://bugzilla.gnome.org/show_bug.cgi?id=727916 2014-05-08 12:47:43 -0400 Nicolas Dufresne * docs/gst/gstreamer-sections.txt: * gst/gstbufferpool.c: * gst/gstbufferpool.h: * tests/check/gst/gstbufferpool.c: * win32/common/libgstreamer.def: bufferpool: Add an helper to validate config When we call gst_buffer_pool_set_config() the pool may return FALSE and slightly change the parameters. This helper is useful to do the minial required validation before accepting the modified configuration. https://bugzilla.gnome.org/show_bug.cgi?id=727916 2014-04-08 19:27:55 -0400 Nicolas Dufresne * gst/gstbufferpool.c: bufferpool: Update the configure even if set_config() returned false According to the documentation, when set_config() return false, it should be possible to read the modified version of the config. This patch fixes the implementation so it is now according to the documentation. https://bugzilla.gnome.org/show_bug.cgi?id=727916 2014-05-06 15:35:14 -0400 Nicolas Dufresne * gst/gstbufferpool.c: * tests/check/gst/gstbufferpool.c: bufferpool: Add support for reconfiguring a pool If a pool config is being configured again, check if the configuration have changed. If not, skip that step. Finally, if the pool is active, try deactivating it. https://bugzilla.gnome.org/show_bug.cgi?id=728268 2014-05-06 16:59:34 -0400 Nicolas Dufresne * gst/gstvalue.c: * tests/check/gst/gstvalue.c: value: Add support for GstAllocationParams comparision This is useful to compare buffer pool configuaration. https://bugzilla.gnome.org/show_bug.cgi?id=728268 2014-05-06 16:46:55 -0400 Nicolas Dufresne * gst/gstvalue.c: * tests/check/gst/gstvalue.c: value: Add support for GObject comparising in structures This is useful to allow comparing pool configuration where a GstAllocator is set. https://bugzilla.gnome.org/show_bug.cgi?id=728268 2014-05-08 17:50:50 +0100 Tim-Philipp Müller * gst/gstplugin.c: plugin: fix case where gst_plugin_load_file() didn't set the error on failure 2014-05-08 16:30:55 +0100 Tim-Philipp Müller * libs/gst/base/gstsparsefile.c: sparsefile: add some Since markers to docs 2014-05-08 16:25:55 +0100 Tim-Philipp Müller * libs/gst/base/gstsparsefile.c: * libs/gst/base/gstsparsefile.h: * tests/check/libs/.gitignore: sparsefile: sprinkle G_BEGIN_DECLS / G_END_DECLS for c++, and remove outdated comment, and add new unit test to .gitignore. 2014-05-08 16:49:53 +0200 Wim Taymans * plugins/elements/gstdownloadbuffer.c: downloadbuffer: small cleanups 2014-05-08 14:51:12 +0200 Wim Taymans * docs/libs/gstreamer-libs-sections.txt: * docs/plugins/Makefile.am: * docs/plugins/gstreamer-plugins-docs.sgml: * docs/plugins/gstreamer-plugins-sections.txt: * docs/plugins/gstreamer-plugins.args: * docs/plugins/gstreamer-plugins.hierarchy: * docs/plugins/inspect/plugin-coreelements.xml: * plugins/elements/gstdownloadbuffer.c: downloadbuffer: update docs 2014-05-08 14:50:42 +0200 Wim Taymans * win32/common/libgstbase.def: win32: update def 2014-02-21 16:32:52 +0100 Wim Taymans * libs/gst/base/Makefile.am: * libs/gst/base/gstsparsefile.c: * libs/gst/base/gstsparsefile.h: * plugins/elements/Makefile.am: * plugins/elements/gstdownloadbuffer.c: * plugins/elements/gstdownloadbuffer.h: * plugins/elements/gstelements.c: * tests/check/Makefile.am: * tests/check/libs/sparsefile.c: Add new downloadbuffer element See https://bugzilla.gnome.org/show_bug.cgi?id=680183 2014-05-02 17:42:58 +0200 Wim Taymans * gst/gstelement.c: * gst/gstpadtemplate.h: * plugins/elements/gstmultiqueue.c: pads: update docs for request pads We would like to encourage the use of gst_element_request_pad() 2014-05-02 17:02:37 +0100 Tim-Philipp Müller * libs/gst/check/libcheck/check.c: check: use _exit() instead of exit() in fail_unless() so we exit immediately exit() will call atexit handlers, which may try to clean up things or wait for things to get cleaned up, which we don't want or need. We just want to stop and let the parent know about the failure as quickly as possible in case fork() is used. Fixes timeouts on assert failures in checks where an exit handler waits for things to stop, but they don't stop because they haven't been shut down, and they haven't been shut down because there's no simple way to do so on failures. http://sourceforge.net/p/check/patches/50/ 2014-05-04 14:52:01 +0100 Tim-Philipp Müller * gst/gstvalue.c: value: init flag mask more correctly 2014-05-04 13:32:46 +0000 Руслан Ижбулатов * plugins/elements/gstfilesrc.c: filesrc: g_memmove() is deprecated https://bugzilla.gnome.org/show_bug.cgi?id=712811 2014-05-03 20:48:22 +0200 Sebastian Dröge * configure.ac: Back to development === release 1.3.1 === 2014-05-03 17:41:41 +0200 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/gstreamer-plugins.hierarchy: * docs/plugins/inspect/plugin-coreelements.xml: * gstreamer.doap: * win32/common/config.h: * win32/common/gstenumtypes.c: * win32/common/gstenumtypes.h: * win32/common/gstversion.h: Release 1.3.1 2014-05-03 17:34:08 +0200 Sebastian Dröge * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files 2014-05-03 17:20:46 +0200 Sebastian Dröge * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: po: Update translations 2014-05-03 12:14:43 +0100 Tim-Philipp Müller * docs/gst/gstreamer-docs.sgml: docs: add new device probing API to docs table of contents https://bugzilla.gnome.org/show_bug.cgi?id=729440 2014-05-02 22:22:03 -0400 Nicolas Dufresne * docs/gst/gstreamer-sections.txt: doc: Add GstDevice* to gstreamer-sections.txt https://bugzilla.gnome.org/show_bug.cgi?id=729440 2014-05-03 10:14:40 +0200 Sebastian Dröge * common: Automatic update of common submodule From bcb1518 to 211fa5f 2014-05-01 10:37:18 -0400 Nicolas Dufresne * libs/gst/base/gstbasesink.c: basesink: Always render prepared buffer Currently, if prepare() takes too much time, we skip the call to render(). The side effect of this, is that we endup starving the render(). The solution in this patch is to always render frames that are on time before prepare() is executed. This will maximize the number of frames we display and smoothly degrade the rendering performance. https://bugzilla.gnome.org/show_bug.cgi?id=729335 2014-05-01 14:52:24 -0400 Luis de Bethencourt * scripts/git-version.sh: scripts/git-version.sh: add more modules Add more git repositories to check (so git-version.sh is consistent with gst-uninstalled) and display the date of the last commit, which is more valuable information than the last commit's hash. 2014-05-01 18:42:47 +0200 Sebastian Dröge * gst/gstbin.c: bin: Always first post the state-changed message for PAUSED->READY before posting any pending EOS message https://bugzilla.gnome.org/show_bug.cgi?id=727949 2014-04-17 21:10:55 +0200 Sebastian Dröge * tests/check/libs/basesink.c: basesink: Add test for checking that EOS always comes after the state change to PLAYING https://bugzilla.gnome.org/show_bug.cgi?id=727949 2014-04-15 15:55:25 +0200 Stian Selnes * gst/gstbufferpool.c: bufferpool: fix log message of buffer pointer 2014-04-30 18:20:28 -0400 Luis de Bethencourt * scripts/git-version.sh: scripts/git-version.sh: remove unused variable 2014-04-30 10:47:19 -0400 Luis de Bethencourt * scripts/git-version.sh: scripts/git-version.sh: fix mistaken comments 2014-04-28 13:02:11 -0300 Thiago Santos * plugins/elements/gstmultiqueue.c: multiqueue: avoid signaling overrun on the first segment When the first segment has position != 0 and position > max-size-time it will immediatelly cause the multiqueue to signal overrun. This can happen easily with adaptive streams when switching bitrates and starting a new group. The segment for this new group will have a position that is much greater than 0 and will lead to this issue. This is particularly harmful when the adaptive stream uses mpegts that doesn't emit no-more-pads and it might happen that only one of the stream pads was added when the multiqueue overruns and gets the group ready for exposing. So the user will only get audio or video. The solution is to fallback to the sink segment while the source pad has no segment. https://bugzilla.gnome.org/show_bug.cgi?id=729124 2014-04-28 10:14:50 +0200 Xavi Artigas * docs/random/porting-to-1.0.txt: docs: enhancements to porting guide documentation https://bugzilla.gnome.org/show_bug.cgi?id=727754 2014-04-28 09:43:32 +0200 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gstquark.c: * gst/gstquark.h: * gst/gstquery.c: * gst/gstquery.h: * win32/common/libgstreamer.def: query: Add boolean to URI query to specify if a redirect is permanent or not 2014-04-25 07:38:00 +0000 Srimanta Panda * plugins/elements/gstfunnel.c: funnel: Check if the last pad was set If no data is coming but only EOS is sent from all of the sinkpad, it is not forwarding the EOS. https://bugzilla.gnome.org/show_bug.cgi?id=727945 2014-04-26 17:02:18 +0100 Felipe Ortiz * docs/gst/gstreamer-sections.txt: * gst/gstpad.h: docs: add docs for various GstPad macros https://bugzilla.gnome.org/show_bug.cgi?id=723652 2014-04-26 23:12:13 +0100 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gstpad.h: Revert "docs: add docs for various GstPad macros" This reverts commit d17438d5fd321daec4adbeb28a8fb5d5e07298dc. This commit featured the wrong author, sorry. 2014-04-26 21:21:51 +0100 Tim-Philipp Müller * docs/README: * gst/gst.c: * gst/gstallocator.c: * gst/gstbin.c: * gst/gstbuffer.c: * gst/gstbufferlist.c: * gst/gstbufferpool.c: * gst/gstbus.c: * gst/gstcaps.c: * gst/gstclock.c: * gst/gstelement.c: * gst/gstelementfactory.c: * gst/gsterror.c: * gst/gstevent.c: * gst/gstghostpad.c: * gst/gstiterator.c: * gst/gstmemory.c: * gst/gstmessage.c: * gst/gstmeta.c: * gst/gstminiobject.c: * gst/gstobject.c: * gst/gstpad.c: * gst/gstpadtemplate.c: * gst/gstparamspecs.c: * gst/gstpipeline.c: * gst/gstquery.c: * gst/gstregistry.c: * gst/gstsample.c: * gst/gstsegment.c: * gst/gststructure.c: * gst/gstsystemclock.c: * gst/gsttagsetter.c: * gst/gsttask.c: * gst/gsttaskpool.c: * gst/gsttypefind.c: * gst/gsttypefindfactory.c: * gst/gsturi.c: * gst/gstvalue.c: * libs/gst/base/gstadapter.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstcollectpads.c: * libs/gst/base/gstpushsrc.c: * libs/gst/net/gstnetaddressmeta.c: * libs/gst/net/gstnetclientclock.c: * libs/gst/net/gstnettimepacket.c: * libs/gst/net/gstnettimeprovider.c: * plugins/elements/gstfakesrc.c: * plugins/elements/gstfdsink.c: * plugins/elements/gstfdsrc.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstqueue2.c: * plugins/elements/gstvalve.c: docs: remove outdated and pointless 'Last reviewed' lines from docs They are very confusing for people, and more often than not also just not very accurate. Seeing 'last reviewed: 2005' in your docs is not very confidence-inspiring. Let's just remove those comments. 2014-03-26 15:56:08 -0400 Nicolas Dufresne * gst/gstbuffer.c: * gst/gstbufferpool.c: buffer: Only set TAG_MEMORY if the memory has been replaced Currently we set TAG_MEMORY as soon a resize changes the size of one of the memory. This has the side effect that buffer pool cannot know if the memory have simply been resized, or if the memorys has been replaced. This make it hard to actually implement _reset(). Instead, only set the TAG_MEMORY if one or more memory has been replaced, and do a light sanity check of the size. https://bugzilla.gnome.org/show_bug.cgi?id=727109 2014-04-26 17:02:18 +0100 Showayb Zahda * docs/gst/gstreamer-sections.txt: * gst/gstpad.h: docs: add docs for various GstPad macros https://bugzilla.gnome.org/show_bug.cgi?id=723652 2014-04-25 15:38:39 +0200 Sebastian Dröge * gst/gstbin.c: bin: When going to READY make sure to always deactivate pads We might not have reached PAUSED yet because of an async error, but nonetheless we want to make sure that the pads are always deactivated in READY state. 2014-04-22 18:23:15 +0200 Sebastian Dröge * gst/gstbin.c: bin: Don't left-shift into the sign bit, the result is undefined 2014-04-22 18:16:10 +0200 Sebastian Dröge * gst/gstvalue.c: value: Use an unsigned 64 bit integer as a mask We shift the mask to the right later and shifting the result of shifting over the sign bit is undefined. 2014-04-20 11:59:02 +0200 Sebastian Dröge * libs/gst/base/gstbasesrc.c: basesrc: Make sure to always hold the LIVE_LOCK when going to the flushing label https://bugzilla.gnome.org/show_bug.cgi?id=728596 2014-04-11 19:52:02 +0200 Srimanta Panda * plugins/elements/gstfunnel.c: * tests/check/elements/funnel.c: funnel: Handle end of stream event on sink pad Handle end of stream events on sink pad. Check all the sink pad has received eos before forwarding to source pad. Fixes : https://bugzilla.gnome.org/show_bug.cgi?id=727945 2014-04-05 11:37:53 +0200 Edward Hervey * gst/gstvalue.c: gstvalue: Prevent division or modulo by zero The step can end up being zero if the underlying value isn't a valid range GValue. In those cases, return FALSE. We don't use g_return*_if_fail since it will already have been triggered by the above-mentionned _get_step() functions. CID #1037132 2014-04-09 16:44:07 +0200 Antoine Jacoutot * gst/Makefile.am: * libs/gst/base/Makefile.am: * libs/gst/check/Makefile.am: * libs/gst/controller/Makefile.am: * libs/gst/net/Makefile.am: libs: g-ir-scanner: do not hardcode libtool path https://bugzilla.gnome.org/show_bug.cgi?id=726571 2014-04-16 19:49:56 +0200 Sebastian Dröge * gst/gstbuffer.c: * gst/gstmemory.c: memory/buffer: Initialise GstMapInfo to zeroes if mapping fails This should allow for more meaningful errors. Dereferencing NULL is more useful information than dereferencing a random address happened to be on the stack. 2014-04-16 17:49:06 +0200 Sebastian Dröge * gst/gstpreset.c: preset: Unref return value of gst_child_proxy_get_child_by_index() instead of leaking it 2014-04-16 17:48:57 +0200 Sebastian Dröge * gst/gstpreset.c: preset: Automatic code style fixes 2014-04-16 15:17:04 +0100 Vincent Penquerc'h * plugins/elements/gstqueue2.c: * plugins/elements/gstqueue2.h: queue2: fix event/preroll deadlock differently The qlock is released between popping a buffer from the queue and pushing it. When this buffer causes the sink to wait in preroll, this lets a query see that the queue is empty, and push the query then wait for it to be serviced. However, this will not be done till after peroll, and this will thus block. If upstream was waiting on buffering to reach 100% before switching to PLAYING, a deadlock would ensue. This had been fixed recently by failing queries when the queue2 was buffering, but this happens to break some other case (playbin on a local http server and matroska), while this patch works for both. See https://bugzilla.gnome.org/show_bug.cgi?id=728345 2014-04-16 07:59:27 +0200 Edward Hervey * libs/gst/check/Makefile.am: check: Fix exported symbol name it's _template and not _templ 2014-04-15 21:16:06 +0200 Sebastian Dröge * gst/gstpad.c: pad: Add missing space in debug output 2014-04-15 12:58:59 +0200 Sebastian Dröge * libs/gst/check/Makefile.am: * libs/gst/check/gstcheck.c: * libs/gst/check/gstcheck.h: check: Add new API to set up pads from non-static pad templates 2014-04-14 21:35:52 +0200 Sebastian Dröge * tests/check/libs/collectpads.c: collectpads: Fix memory leak in unit test 2014-04-12 15:22:35 +0100 Tim-Philipp Müller * libs/gst/check/Makefile.am: * libs/gst/check/gsttestclock.c: * libs/gst/check/gsttestclock.h: * tests/check/libs/gsttestclock.c: testclock: replace newly-added GstTestClockIDList structure with a simple GList Keep it simple. Likely also makes things easier for bindings, and efficiency clearly has not been a consideration given how the existing code handled these lists. 2014-04-12 14:30:43 +0100 Tim-Philipp Müller * libs/gst/check/gsttestclock.c: * libs/gst/check/gsttestclock.h: docs: testclock: fix up Since markers 2014-04-12 00:28:51 +0100 Tim-Philipp Müller * libs/gst/check/Makefile.am: * libs/gst/check/gsttestclock.c: * libs/gst/check/gsttestclock.h: testclock: add back gst_test_clock_wait_for_pending_id_count() .. but deprecate it. ABI stability and all that. It's a dangerous and racy function to use. 2014-03-23 15:08:26 +0000 Tim-Philipp Müller * libs/gst/check/gsttestclock.c: testclock: remove unused variable Fixes compiler warning. 2013-12-16 10:01:37 +0100 Havard Graff * libs/gst/check/Makefile.am: * libs/gst/check/gsttestclock.c: * libs/gst/check/gsttestclock.h: * tests/check/libs/gsttestclock.c: testclock: add support for waiting and releasing multiple GstClockIDs In order to be deterministic, multiple waiting GstClockIDs needs to be released at the same time, or else one can get into the situation that the one being released first can add itself back again before the next one waiting is released. Test added for new API and old tests rewritten to comply. 2014-04-01 15:38:54 +0200 Linus Svensson * gst/gstpad.c: pad: don't access unowned and possibly already freed event Don't print the name of the event when ownership is given away. https://bugzilla.gnome.org/show_bug.cgi?id=727484 2014-04-12 07:13:02 +0200 Wim Taymans * tools/gst-inspect.c: inspect: print structure values of properties 2014-04-11 22:38:25 +1000 Jan Schmidt * plugins/elements/gstinputselector.c: input-selector: Hold pad object lock when changing tags Avoid spurious crashes when tags are retrieved just as new ones arrive. 2014-04-11 13:45:21 +0200 Edward Hervey * gst/gstbuffer.c: gstbuffer: Fix range iteration We want to iterate over items idx to idx + length We use the len variable as the corrected number of memory to iterate and then properly go over all items. Fixes the issue where specifying any idx different from 0 had no effect Spotted by clang static analyzer 2014-04-09 17:01:01 +0100 Vincent Penquerc'h * gst/gststructure.c: structure: error out when trying to fixate a fraction near an invalid target 2014-04-04 17:28:23 +0200 Sebastian Dröge * gst/gstevent.c: event: Update running time in QoS based on the pad offsets https://bugzilla.gnome.org/show_bug.cgi?id=722697 2014-04-04 17:15:25 +0200 Sebastian Dröge * gst/gstpad.c: pad: Apply pad offsets on all events, not just segment events 2014-04-04 17:06:18 +0200 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gstevent.c: * gst/gstevent.h: * win32/common/libgstreamer.def: event: Add running-time-offset field to all events Events passing through #GstPads that have a running time offset set via gst_pad_set_offset() will get their offset adjusted according to the pad's offset. If the event contains any information that related to the running time, this information will need to be updated before usage with this offset. 2014-04-09 16:40:27 +0100 Vincent Penquerc'h * gst/gstutils.c: utils: avoid dividing by zero when multiplying y/z by 0/x The gcd of 0/x is 0, and this is then used as a denominator. 2014-04-09 16:01:09 +0200 Sebastian Dröge * tests/check/elements/multiqueue.c: multiqueue: And actually run the other tests again 2014-04-09 15:57:35 +0200 Sebastian Dröge * plugins/elements/gstmultiqueue.c: multiqueue: Wake up the queues if limits are changing in a way that would unblock the queue 2014-04-09 15:42:48 +0200 Sebastian Dröge * tests/check/elements/multiqueue.c: multiqueue: Add test for checking if pads are waked up when limits are changed 2014-04-09 10:15:33 +0200 Jose Antonio Santos Cadenas * libs/gst/base/gstbaseparse.c: baseparse: Fix memory leak Queued frames were not released after being pushed, this caused a leak of the GstBaseParseFrame structure. https://bugzilla.gnome.org/show_bug.cgi?id=727883 2014-04-07 17:49:14 +0100 Tim-Philipp Müller * plugins/elements/gstqueue2.c: queue2: use g_strerror() instead of strerror() Need UTF-8 encoding. 2014-04-07 17:47:30 +0100 Tim-Philipp Müller * libs/gst/check/libcheck/check_run.c: Revert "check: only call setpgid on valid child PIDs" This reverts commit b9313afc75b68d986e473b76b55543456857912b. This should be fixed in upstream libcheck instead. We want to keep diff of our local copy to upstream libcheck to a minimum. 2014-04-07 17:33:34 +0100 Vincent Penquerc'h * plugins/elements/gstqueue2.c: queue2: warn if we can't remove our temporary file It's not fatal though, so do not error out. Coverity 1037121 2014-04-07 15:38:09 +0100 Vincent Penquerc'h * libs/gst/check/libcheck/check_run.c: check: only call setpgid on valid child PIDs Coverity 206186 2014-04-07 15:38:17 +0100 Tim-Philipp Müller * plugins/elements/gstfilesrc.c: filesrc: no need for a translated message for impossible error cases The message is too technical anyway, the default message works just fine here as well. 2014-04-07 15:18:32 +0100 Vincent Penquerc'h * plugins/elements/gstfilesrc.c: filesrc: catch failure to seek back to zero after seek test This should never happen theoretically, but since a transient failure would get us to silently read wrong data, it's worth erroring out. And it silence this: Coverity 206034 2014-04-07 11:36:58 +0200 Sebastian Dröge * gst/parse/Makefile.am: parse: Don't dist the bison and flex generated headers https://bugzilla.gnome.org/show_bug.cgi?id=727253 2014-04-06 11:23:34 +0200 Sebastian Rasmussen * gst/gstdebugutils.c: debugutils: Handle caps field values being NULL GST_DEBUG_BIN_TO_DOT_FILE() would cause a segfault whenever it encountered an element's caps that had a field value being NULL. Such fields are successfully handled e.g. by GST_*_OBJECT(), and with this patch so does GST_DEBUG_BIN_TO_DOT_FILE(). Even if string fields with a NULL value are not supposed to be valid in caps, such caps can be created. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=727701 2014-04-05 11:44:01 +0200 Edward Hervey * libs/gst/base/gstbaseparse.c: baseparse: Remove always-true-checks a gsize is guaranteed to be positive on all systems since it's an unsigned value. CID #1037147 2014-04-05 11:44:01 +0200 Edward Hervey * libs/gst/base/gstadapter.c: adapter: Remove always-true-checks a gsize is guaranteed to be positive on all systems since it's an unsigned value. CID #1037145 CID #1037146 2014-04-05 11:37:53 +0200 Edward Hervey * gst/gstvalue.c: gstvalue: Prevent division or modulo by zero The step can end up being zero if the underlying value isn't a valid range GValue. In those cases, return FALSE. We don't use g_return*_if_fail since it will already have been triggered by the above-mentionned _get_step() functions. Spotted by Coverity. 2014-03-25 12:23:32 +0100 Haakon Sporsheim * gst/gstvalue.c: gstvalue: Fix comparison of int/int64 range Checking step three times seems unnecessary. A similar bug was fixed for double range in commit 3ea6b04c10b10fde9d62190068f274b940edef07 2014-04-03 18:17:03 -0300 Thiago Santos * plugins/elements/gstinputselector.c: inputselector: fix build with debug cached buffers enabled gstinputselector.c:818:5: error: format not a string literal and no format arguments [-Werror=format-security] 2014-04-03 20:31:16 +0200 Sebastian Dröge * libs/gst/base/gstbaseparse.c: baseparse: Make sure to set the DISCONT flag on the first buffer of each GOP in reverse playback mode 2014-04-03 13:20:11 -0300 Thiago Santos * libs/gst/base/gstbasesrc.c: basesrc: removing duplicated inner if The inner if replicates the same code of the outer and is useless as flag_segment will always be true. Found by coverity. 2014-04-03 07:36:03 +0200 Edward Hervey * tools/gst-launch.1.in: gst-launch.1: Playbin2 is dead, long live playbin Looks like that was the last remaining mention in core ... 2014-04-02 23:52:10 +0200 Sebastian Dröge * tools/gst-inspect.c: gst-inspect: Add missing \n in output 2014-04-01 15:35:24 +0100 Tim-Philipp Müller * scripts/gst-uninstalled: scripts: gst-uninstalled: gst-plugins-gl libs got merged into -bad 2014-03-29 10:18:34 +0100 Sebastian Dröge * gst/gstpad.c: pad: Include event type in debug output when delaying a sticky event because of not-linked 2014-03-29 10:16:12 +0100 Sebastian Dröge * libs/gst/base/gstbaseparse.c: baseparse: Fix splitting and reversing of GOPs in reverse playback mode We iterate the current discont group backwards and push each GOP forwards, starting from the last one. However if the first buffer in the current discont group is a keyframe, we will keep it around until next time, which is far from ideal. Just push it. 2014-03-25 12:38:07 +0100 Wim Taymans * tools/gst-launch.c: launch: place the deep-notify on the right pipeline If the toplevel bin is not not a pipeline, we place the bin in a pipeline. Also make sure that we connect to the deep-notify of this new pipeline because we will g_signal_handler_disconnect() from it later. 2014-03-24 16:34:27 +0100 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: copy last_sample on DRAIN Make sure we don't hold a ref to a buffer from before the DRAIN query by making a copy of the last_buffer. 2014-03-24 16:11:30 +0100 Wim Taymans * gst/gstbuffer.c: buffer: don't clear TAG on NULL buffer When the buffer fails to copy, don't clear the TAG on the NULL pointer. 2014-03-20 06:14:33 -0400 Vincent Penquerc'h * plugins/elements/gstqueue2.c: queue2: fix event/preroll deadlock The qlock is released between popping a buffer from the queue and pushing it. When this buffer causes the sink to wait in preroll, this lets a query see that the queue is empty, and push the query then wait for it to be serviced. However, this will not be done till after peroll, and this will thus block. If upstream was waiting on buffering to reach 100% before switching to PLAYING, a deadlock would ensue. We fix it by refusing the query when buffering, as per Wim's recommendation on IRC. 2014-03-23 12:53:55 +0000 Tim-Philipp Müller * tests/check/libs/gstnetclientclock.c: tests: make netclientclock test faster and less flaky 2014-03-21 12:16:54 +0100 Wim Taymans * gst/gst.c: gst: init new flag types to pass make check 2014-03-19 09:33:53 +0100 Sebastian Dröge * plugins/elements/gstqueue2.c: queue2: Update buffering status and maybe post buffering message right when enabling buffering 2014-03-19 09:32:45 +0100 Sebastian Dröge * plugins/elements/gstmultiqueue.c: multiqueue: Update buffering status and maybe post buffering message right when enabling buffering 2014-03-18 18:12:16 +0100 Sebastian Dröge * tests/check/elements/fakesink.c: fakesink: Update positions we're checking for after a state is lost 2014-03-18 18:11:15 +0100 Sebastian Dröge * libs/gst/base/gstbasesink.c: basesink: Update start time when we lose our state Otherwise we report not the correct position while the state is lost. 2014-03-18 16:47:42 +0100 Sebastian Dröge * libs/gst/base/gstbasesink.c: basesink: Don't clip the reported position in PAUSED to after the last buffer end timestamp Otherwise we jump forward when pausing, and go backwards a bit again when resuming playback. 2014-03-17 10:05:31 +0100 Edward Hervey * win32/common/libgstreamer.def: win32: Update exports for GstToc loop 2014-03-17 10:05:18 +0100 Edward Hervey * win32/common/libgstreamer.def: win32: Update export for gst*device symbols 2014-03-17 09:51:45 +0100 Edward Hervey * gst/gstdevice.c: * gst/gstdevicemonitor.c: * gst/gstglobaldevicemonitor.c: devicemonitor: Use local includes and use gst_private before anything Should fix build issues on BSD 2014-03-16 20:50:53 -0400 Olivier Crête * tools/gst-inspect.c: gst-inpect: Print device monitor 2014-03-16 15:56:59 -0400 Olivier Crête * gst/gstdevice.c: * gst/gstdevice.h: * gst/gstglobaldevicemonitor.c: device: Add "klass" to GstDevices 2014-03-16 18:02:56 -0400 Olivier Crête * gst/gstdevicemonitorfactory.c: * gst/gstdevicemonitorfactory.h: * gst/gstglobaldevicemonitor.c: * gst/gstglobaldevicemonitor.h: devicemonitor: Make classes into pure strings Instead of having strings & flags, make them just strings 2014-03-17 06:29:27 +1100 Jan Schmidt * gst/gstbus.c: * gst/gstmessage.h: * tests/check/gst/gstbus.c: Fix extended message handling with gst_bus_pop_timed_filtered() Make sure extended message types don't get accidentally matched when not asked for in the mask 2014-03-17 05:24:12 +1100 Jan Schmidt * gst/gstbin.c: gstbin: Avoid pointless object lock forwarding messages. Every instance of calling bin_do_message_forward() first took the object lock, so that bin_do_message_forward() could drop it and then reclaim. Instead, only take the object lock afterward where needed. 2014-02-19 02:27:36 +0100 Mathieu Duponchelle * libs/gst/base/gstcollectpads.c: collectpads: When seek flushed, immediately set eospads to 0 This prevents situations where a first branch would get seeked and receive a buffer before all branches got seeked, and thus collected would get called based on EOS from the previous segment. As a consequence, during the process of seeking, don't decrease the eospads number when a FLUSH_STOP is received. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=724571 2014-03-16 17:47:06 +0100 Sebastian Dröge * libs/gst/base/gstcollectpads.c: collectpads: Unref peer pad 2014-02-16 20:35:09 +0100 Mathieu Duponchelle * libs/gst/base/gstcollectpads.c: collectpads: Forward seek events to the peer directly Taken from the adder seek handling code. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=726461 2014-01-02 22:30:11 +0100 Stefan Sauer * docs/design/part-toc.txt: * gst/gsttoc.c: * gst/gsttoc.h: toc: expand GstTocEntry with loop fields Add loop_type and repeat_count fields to GstTocEntry plus setters and getters. This allows to represent edit-lists in a toc as well as loops in instruemnts (wav, xi). API: gst_toc_entry_set_loop API: gst_toc_entry_get_loop 2014-03-16 15:19:49 +0000 Tim-Philipp Müller * gst/gstglobaldevicemonitor.c: globaldevicemonitor: update for new message API https://bugzilla.gnome.org/show_bug.cgi?id=678402 2013-01-08 21:30:44 -0500 Olivier Crête * gst/Makefile.am: * gst/gst.h: * gst/gstglobaldevicemonitor.c: * gst/gstglobaldevicemonitor.h: * win32/common/libgstreamer.def: globaldevicemonitor: Add device monitor aggregator https://bugzilla.gnome.org/show_bug.cgi?id=678402 2014-03-16 14:08:45 +0000 Tim-Philipp Müller * tests/check/gst/gstbus.c: tests: add test for extended message types and gst_bus_timed_pop_filtered 2014-03-16 14:08:00 +0000 Tim-Philipp Müller * gst/gst.c: * gst/gstbus.c: * gst/gstmessage.c: * gst/gstmessage.h: * gst/gstquark.c: * gst/gstquark.h: * win32/common/libgstreamer.def: message, bus: do extended message types slightly differently https://bugzilla.gnome.org/show_bug.cgi?id=678402 2014-03-16 14:07:35 +0000 Tim-Philipp Müller * gst/gst.c: gst: fix indentation 2012-10-16 12:27:04 -0400 Olivier Crête * gst/Makefile.am: * gst/gst.h: * gst/gst_private.h: * gst/gstdevice.c: * gst/gstdevice.h: * gst/gstdevicemonitor.c: * gst/gstdevicemonitor.h: * gst/gstdevicemonitorfactory.c: * gst/gstdevicemonitorfactory.h: * gst/gstmessage.c: * gst/gstmessage.h: * gst/gstquark.c: * gst/gstquark.h: * gst/gstregistry.c: * gst/gstregistrybinary.c: * gst/gstregistrychunks.c: * gst/gstregistrychunks.h: * win32/common/libgstreamer.def: devicemonitor: Add GstDeviceMonitor and related Also add GstDevice and GstDeviceMonitorFactory And add code to the registry to save them https://bugzilla.gnome.org/show_bug.cgi?id=678402 2013-08-14 15:56:11 -0400 Olivier Crête * gst/gst.c: * gst/gstmessage.c: * gst/gstmessage.h: * gst/gstquark.c: * gst/gstquark.h: message: Add GST_MESSAGE_EXTENDED https://bugzilla.gnome.org/show_bug.cgi?id=678402 2014-03-16 11:05:56 +0100 Stefan Sauer * gst/gstutils.c: pad: actually return data.ret The return value from gst_pad_forward() is the aggregated return value from the callback and the callback returns FALSE to continue iterating. 2014-03-15 15:54:33 +0100 Stefan Sauer * gst/gstutils.c: pad: forward return value from gst_pad_forward Instead of ignoring the return value and always return TRUE pass the already agregated result back. 2014-03-15 13:57:19 -0300 Thiago Santos * win32/common/libgstreamer.def: win32: fix make-check by running 'make update-exports' 2014-03-14 13:32:17 -0300 Thiago Santos * tests/check/elements/multiqueue.c: tests: multiqueue: fix eos count on test for not-linked case From the test case: /* This test creates a multiqueue with 2 streams. One receives * a constant flow of buffers, the other only gets one buffer, and then * new-segment events, and returns not-linked. The multiqueue should not fill. */ If one of the queues goes EOS and the other returns NOT_LINKED the stream can be considerered EOS as a NOT_LINKED means that one of the branches has no sink downstream that will block the EOS message posting. https://bugzilla.gnome.org/show_bug.cgi?id=725917 2014-03-01 23:18:44 +0100 Sebastian Rasmussen * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstadapter.c: * libs/gst/base/gstadapter.h: * win32/common/libgstbase.def: adapter: Adapt gst_adapter_copy() for bindings This is done by introducing a new gst_adapter_copy_bytes() call that returns a GBytes structure. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725476 2014-03-14 18:40:31 +0000 Tim-Philipp Müller * plugins/elements/gstmultiqueue.c: docs: fix multiqueue docs for new template names foo_%d -> foo_%u https://bugzilla.gnome.org/show_bug.cgi?id=726358 2014-03-11 21:55:46 +0000 Tim-Philipp Müller * docs/plugins/inspect/plugin-coreelements.xml: docs: update plugin docs 2014-03-11 21:44:39 +0000 Tim-Philipp Müller * gst/gstpad.c: pad: simplify gst_pad_link_get_name() and fix Since marker Has added benefit that compiler might warn if more values are added to the enum. 2014-03-11 21:46:14 +0100 Stefan Sauer * docs/gst/gstreamer-sections.txt: * gst/gstghostpad.c: * gst/gstpad.c: * gst/gstpad.h: * win32/common/libgstreamer.def: pad: add debug helper for GstPadLinkReturn names Add a helper like gst_flow_get_name() for GstPadLinkReturn. Use this in core. API: gst_pad_link_get_name() 2014-03-11 21:12:15 +0100 Stefan Sauer * plugins/elements/gsttee.c: tee: use store_sticky events add add more logging Use the pad as object for logging to get more context. Use gst_pad_store_sticky_event() instead of sending the event. This avoids a warning as here the pad is not yet linked and we actually don't want to send anyway. 2014-03-10 10:00:28 -0300 Thiago Santos * plugins/elements/gstqueue2.c: queue2: if buffering is disabled while buffering, post 100% message Avoids stall waiting for buffering to reach 100% 2014-03-10 09:49:09 -0300 Thiago Santos * plugins/elements/gstqueue2.c: * plugins/elements/gstqueue2.h: queue2: remove unused variable buffering_iteration was never used 2014-03-10 09:49:07 -0300 Thiago Santos * plugins/elements/gstqueue.c: * plugins/elements/gstqueue2.c: queue: queue2: preserve last flow result when pushing events Avoids mistakenly returning _OK when downstream is still _NOT_LINKED on subsequent received pad pushes https://bugzilla.gnome.org/show_bug.cgi?id=725917 2014-03-10 09:49:05 -0300 Thiago Santos * plugins/elements/gstmultiqueue.c: multiqueue: if buffering is disabled while buffering, post 100% message Avoids stall waiting for buffering to reach 100% 2014-03-10 09:48:58 -0300 Thiago Santos * plugins/elements/gstmultiqueue.c: multiqueue: do not reset last push result when pushing events Use the last result as a default when pushing a item from a single queue, otherwise the status gets reset to _OK when pushing events. This causes problems when mistakenly activating a not-linked stream that is being ignored upstream as it is not being used (adaptive scenarios), it will make the multiqueue post a buffering message on a pad that won't receive buffers https://bugzilla.gnome.org/show_bug.cgi?id=725917 2014-03-07 20:43:44 +0000 Tim-Philipp Müller * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstbufferpool.c: * gst/gstbufferpool.h: buffer: invert meaning of GST_BUFFER_FLAG_TAG_MEMORY It's nicer to only have it set when something noteworthy happened and otherwise unset. https://bugzilla.gnome.org/show_bug.cgi?id=725862 2014-03-06 22:51:57 +0100 Stefan Sauer * gst/gstpad.c: pad: fix gst_pad_add_probe() return value docs Also fix comment typos and add more detail in the logs. 2014-03-06 20:40:46 +0000 Tim-Philipp Müller * plugins/elements/gstfakesink.c: * plugins/elements/gstfakesrc.c: * plugins/elements/gstidentity.c: fakesink, identity, fakesrc: fix debug printing if TAG_MEMORY buffer flag The IN_CAPS flag does not exist any more. 2014-03-06 13:01:40 +0200 George Kiagiadakis * gst/gstghostpad.c: ghostpad: use gst_pad_get_peer to acquire a reference to the target pad This ensures that the lock of the internal pad is held while referencing it's peer (= the target pad), which ensures that the peer is not going to be unlinked/destroyed in the meantime. https://bugzilla.gnome.org/show_bug.cgi?id=725809 2014-03-06 12:40:23 +0200 George Kiagiadakis * gst/gstghostpad.c: ghostpad: hold a reference to the target pad while unlinking it https://bugzilla.gnome.org/show_bug.cgi?id=725809 2014-03-02 05:08:24 +0100 Sebastian Rasmussen * .gitignore: .gitignore: Ignore gcov intermediate files https://bugzilla.gnome.org/show_bug.cgi?id=725478 2014-03-02 17:55:45 +0100 Sebastian Rasmussen * gst/gstbufferpool.c: * gst/gstmeta.c: * libs/gst/base/gstbaseparse.h: docs: Fix typos and remove unknown annotations Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725517 2014-02-28 20:53:38 +0100 Stefan Sauer * gst/gstcontext.c: docs: use the new markdown for ordered list. This was plain text that had all list items one after the other (including a repeated number). Now it will atleast look good when processed with gtk-doc 1.20. 2014-02-28 09:34:19 +0100 Sebastian Dröge * common: Automatic update of common submodule From fe1672e to bcb1518 2014-02-27 22:26:30 -0300 Reynaldo H. Verdejo Pinochet * gst/gstevent.c: * gst/gstpadtemplate.c: docs: fix problems introduced by c068b225fef5a9bf0 - Fix failing build - Drop added trailing whitespace 2014-02-27 18:27:37 +0100 Stefan Sauer * gst/gstbuffer.c: buffer: add return values to g_return_if_fail FIxes previous commit. 2014-02-27 18:06:56 +0100 Stefan Sauer * gst/gstbuffer.c: * gst/gstcaps.c: * gst/gstevent.c: * gst/gstinfo.c: * gst/gstiterator.c: * gst/gstmessage.c: * gst/gstpadtemplate.c: * gst/gstquery.c: * gst/gsttypefindfactory.c: docs: convert the examples to use gtk-doc markup, instead of docbook The gtk-doc markup is less intrusive and better handled when creating docs for language bindings. The titles (where used) where not adding much. 2014-02-27 16:46:11 +0100 Wim Taymans * docs/gst/gstreamer-sections.txt: * win32/common/libgstreamer.def: docs: add some more new API do docs 2014-02-27 16:40:34 +0100 Wim Taymans * gst/gstbufferpool.c: * tests/check/gst/gstbufferpool.c: bufferpool: only release buffers with writable memory Check if the memory is writable before releasing the buffer into the pool again. Add unit test for this scenario. 2014-02-27 16:39:50 +0100 Wim Taymans * gst/gstbuffer.c: * gst/gstbuffer.h: buffer: add function to check writability of memory Check if memory is writable in a buffer and thus is exclusively owned by this buffer. 2014-02-27 15:14:59 +0100 Wim Taymans * gst/gstbufferpool.c: * gst/gstbufferpool.h: * tests/check/gst/gstbufferpool.c: 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 2014-02-27 14:35:09 +0100 Wim Taymans * gst/gstbuffer.c: * gst/gstbuffer.h: buffer: add a new flag to track memory changes Add a flag to check if the memory changed in a buffer. 2014-02-26 15:36:42 +0100 Wim Taymans * gst/gstbuffer.c: buffer: remove wrong comment Refcount and writability are not related for memory objects. 2014-02-25 17:46:49 +0100 Wim Taymans * gst/gstbufferpool.c: 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. 2014-02-26 22:10:28 +0100 Stefan Sauer * common: Automatic update of common submodule From 1a07da9 to fe1672e 2014-02-26 20:24:41 +0100 Stefan Sauer * gst/gstdebugutils.c: debugutils: add a legend to pipeline dumps We use a couple of symbols to represent states/flags. Add a short explanation for them. 2013-07-31 09:26:26 +0200 Olivier Crête * gst/gstdebugutils.c: debugutils: Print if there is a task started from a pad https://bugzilla.gnome.org/show_bug.cgi?id=705189 2014-02-25 16:11:20 +0100 Sebastian Dröge * gst/gststructure.c: structure: Use get_uint64() in gst_structure_get_clock_time() Its code is identical. 2014-02-25 15:41:45 +0100 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gststructure.c: * gst/gststructure.h: * tests/check/gst/gststructure.c: * win32/common/libgstreamer.def: structure: Add getters for int64 and uint64 values 2014-02-19 21:17:27 -0300 Thiago Santos * libs/gst/base/gstbasesrc.c: * tests/check/libs/basesrc.c: 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 2014-02-21 09:03:50 +0000 Tim-Philipp Müller * scripts/gst-uninstalled: gst-uninstalled: remove insanity and the old gst-openmax 2014-02-20 18:47:42 +0100 Thibault Saunier * scripts/gst-uninstalled: gst-uninstalled: Add paths to gst-devtools/validate 2014-02-20 15:34:36 +0100 Sebastian Dröge * plugins/elements/gstmultiqueue.c: multiqueue: If we only have a single pad, don't consider all pads not linked and grow the queue indefinitely 2014-02-19 10:57:33 +0100 Stefan Sauer * libs/gst/check/gstcheck.c: * libs/gst/check/gstcheck.h: 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. 2014-02-18 15:46:32 +0100 Wim Taymans * plugins/elements/gstqueue2.c: 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 2014-02-18 14:21:20 +0100 Wim Taymans * plugins/elements/gstqueue2.c: 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. 2014-02-18 11:49:37 +0100 Wim Taymans * libs/gst/base/gstbasesrc.c: 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 2014-02-17 11:37:30 +0100 Jan Alexander Steffens (heftig) * docs/pwg/advanced-types.xml: 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 2014-02-17 17:28:38 +0000 Tim-Philipp Müller * scripts/create-uninstalled-setup.sh: scripts: create-uninstalled-setup: remove dead http links https://bugzilla.gnome.org/show_bug.cgi?id=724561 2014-02-15 22:34:33 +0100 Stefan Sauer * docs/gst/gstreamer.types.in: docs: add the boxed types to the .types.in This makes them show up in the object hierarchy. 2014-02-15 21:22:45 +0100 Stefan Sauer * docs/gst/gstreamer-sections.txt: * gst/gstutils.h: 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. 2014-02-13 12:07:50 +0100 Sebastian Dröge * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasesrc.h: * win32/common/libgstbase.def: 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. 2014-02-11 16:30:31 +0000 William Manley * docs/gst/running.xml: * gst/gstregistry.c: 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 2014-02-11 13:27:25 +0100 Sebastian Dröge * gst/gsterror.h: error: GST_RESOURCE_ERROR_NOT_AUTHORIZED will be available since 1.2.4 2014-02-11 13:09:11 +0100 Sebastian Dröge * gst/gsterror.c: * gst/gsterror.h: error: Add RESOURCE_NOT_AUTHORIZED error This allows to distinguish normal read failures from read failures where we miss authorization. 2014-02-10 17:09:59 +0100 Sebastian Dröge * tools/gst-inspect.c: gst-inspect: Fix yet another compiler warning https://bugzilla.gnome.org/show_bug.cgi?id=724045 2014-02-10 08:00:36 +0100 Sebastian Rasmussen * docs/design/Makefile.am: docs: add missing seqnum file for distribution Fixes https://bugzilla.gnome.org/show_bug.cgi?id=723997 2014-02-09 16:53:55 +0000 Tim-Philipp Müller * docs/gst/running.xml: docs: document GST_TAG_*ENCODING environment variables https://bugzilla.gnome.org/show_bug.cgi?id=721850 2014-02-09 16:47:53 +0000 Tim-Philipp Müller * docs/Makefile.am: docs: enable parallel build of subdirectories We can build gtk docs, ADM, PWG and FAQ in parallel. 2014-02-09 16:38:10 +0000 Tim-Philipp Müller * libs/gst/check/gstcheck.c: check: add support for blacklisting checks via GST_CHECKS_IGNORE 2014-02-09 00:25:14 +0000 Tim-Philipp Müller * tests/check/libs/baseparse.c: tests: fix leak in baseparse test Or rather make it not show up any more by moving it from 'definitely lost' into 'possibly lost'. 2014-02-08 23:39:03 +0000 Tim-Philipp Müller * tests/check/gst/gstsystemclock.c: tests: fix leak in systemclock test 2014-02-08 16:42:55 +0100 Sebastian Dröge * tools/gst-inspect.c: gst-inspect: Make clang happy with our g_vprintf() wrapper 2014-02-06 14:18:31 +0800 Chun-wei Fan * gst/gst.c: * gst/gstpluginloader.c: * gst/gstpreset.c: * gst/gstregistry.c: 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\\gstreamer-$(GSTApiVersion), but can be installed in \lib\\gstreamer-$(GSTApiVersion), or as per g_win32_get_package_installation_directory_of_module() allows. https://bugzilla.gnome.org/show_bug.cgi?id=679115 2013-10-30 17:02:35 -0500 Brendan Long * gst/gsttask.c: * gst/gsttaskpool.c: * libs/gst/base/gstcollectpads.c: gst: clear floating references for GstTask, GstTaskPool and GstCollectPads https://bugzilla.gnome.org/show_bug.cgi?id=710342 2013-10-30 17:02:02 -0500 Brendan Long * gst/gstbufferpool.c: * gst/gstpad.c: docs: gst_pad_new_from_*_template and gst_buffer_pool_new constructors return floating references https://bugzilla.gnome.org/show_bug.cgi?id=710342 2014-02-05 10:11:43 +0100 Edward Hervey * tests/check/elements/capsfilter.c: check: Remove a minor leak in unit test Makes valgrind happy 2014-02-04 22:23:06 +0100 Sebastian Dröge * docs/manual/advanced-dataaccess.xml: manual: Fix build by using the correct C file name 2014-02-04 21:36:18 +0100 Sebastian Dröge * docs/manual/advanced-dataaccess.xml: manual: Clean up code a bit to be suitable for the docs 2014-01-03 07:25:37 -0800 Todd Agulnick * docs/manual/advanced-dataaccess.xml: manual: Replace manual's effectswitch.c with newer test-effect-switch.c https://bugzilla.gnome.org/show_bug.cgi?id=721100 2014-01-29 14:39:19 +0000 Matthieu Bouron * tests/check/gst/gstcaps.c: tests: add caps features unit tests https://bugzilla.gnome.org/show_bug.cgi?id=723236 2014-02-04 18:42:02 +0100 Sebastian Dröge * gst/gstcaps.c: 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 2014-02-04 18:03:47 +0100 Sebastian Dröge * gst/gstcaps.c: caps: Don't get us sysmem capsfeatures if we just check for fixed caps 2014-02-04 17:48:54 +0100 Sebastian Dröge * gst/gstcapsfeatures.c: capsfeatures: Make sure that the static ANY/EMPTY capsfeatures are never mutable See https://bugzilla.gnome.org/show_bug.cgi?id=723236 2014-01-31 09:14:41 +0100 Stefan Sauer * docs/gst/gstreamer-sections.txt: * gst/gstcontrolbinding.h: * gst/gstmeta.h: * libs/gst/base/gstbasetransform.c: docs: fix more gtk-doc warnings 2014-01-31 08:35:41 +0100 Stefan Sauer * docs/gst/Makefile.am: * docs/gst/gstreamer-sections.txt: * gst/gstallocator.h: docs: unhide docs for allocator Unhinde the class docs. Tech gtk-doc about GST_EXPORTS. 2014-01-31 08:08:37 +0100 Stefan Sauer * gst/gstbufferpool.c: * gst/gstbufferpool.h: * tests/check/gst/gstbufferpool.c: bufferpool: more tests and small doc fixes 2014-01-30 21:24:21 +0100 Sebastian Dröge * tools/gst-inspect.c: * tools/gst-launch.c: * tools/gst-typefind.c: 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 2014-01-30 03:22:56 -0300 Thiago Santos * plugins/elements/gstoutputselector.c: 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 2014-01-30 12:54:20 +0100 Stefan Sauer * tests/benchmarks/gstpoolstress.c: poolstress: print speedup 2014-01-30 12:42:02 +0100 Stefan Sauer * gst/gstbufferpool.c: 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. 2014-01-30 08:11:12 +0100 Stefan Sauer * tests/check/Makefile.am: * tests/check/gst/.gitignore: * tests/check/gst/gstbufferpool.c: bufferpool: add a new testsuite or the pool Start with some basic tests. 2014-01-30 12:26:05 +0100 Wim Taymans * gst/gstbufferpool.c: 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. 2014-01-30 12:25:33 +0100 Wim Taymans * gst/gstpoll.c: poll: improve debug Add object pointer in debug lines. 2014-01-30 10:43:36 +0100 Edward Hervey * common: Automatic update of common submodule From d48bed3 to 1a07da9 2014-01-29 22:46:48 +0100 Stefan Sauer * docs/design/part-toc.txt: part-toc: emphasize that the later chapters are design draft ideas 2014-01-29 20:20:56 +0100 Stefan Sauer * docs/design/part-toc.txt: part-toc: add format specific information 2014-01-29 18:21:34 +0100 Stefan Sauer * tests/benchmarks/gstpoolstress.c: poolstress: code cleanups Add a few comments. Tell in the results, which number are from which test. 2014-01-29 13:20:19 +0100 Nicola Murino * scripts/gst-uninstalled: gst-uninstalled: use print as function https://bugzilla.gnome.org/show_bug.cgi?id=723229 2014-01-28 11:58:53 -0300 Thiago Santos * tests/check/elements/capsfilter.c: 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 2014-01-28 11:12:56 -0300 Thiago Santos * plugins/elements/gstcapsfilter.c: capsfilter: do not forget to push pending events Push pending events before buffers if caps is already set 2014-01-24 19:19:08 +0100 Arnaud Vrac * plugins/elements/gstmultiqueue.c: 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 2014-01-24 13:20:49 -0300 Thiago Santos * libs/gst/base/gstbasesrc.c: basesrc: do not forget to clear the forced_eos flag otherwise it will always use the seqnum of the event sent by the application 2014-01-23 15:52:51 -0300 Thiago Santos * libs/gst/base/gstbasesrc.c: * tests/check/libs/basesrc.c: 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 2014-01-23 15:34:27 -0300 Thiago Santos * docs/design/part-seqnums.txt: 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 2014-01-24 09:28:05 +0100 Sebastian Dröge * plugins/elements/gstmultiqueue.c: multiqueue: Break the loop immediately if we found an empty queue No need to continue looking at all the others 2014-01-23 15:47:23 +0100 Per x Johansson * plugins/elements/gstmultiqueue.c: 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 2014-01-22 11:10:01 +0100 Sebastian Dröge * gst/gstpad.c: pad: Minor code cleanup !check_sticky()==GST_FLOW_OK is a bit confusing, compared to check_sticky()!=GST_FLOW_OK. 2014-01-20 15:26:54 +0100 Fabian Kirsch * tests/check/pipelines/parse-launch.c: parse: Additional tests for parser https://bugzilla.gnome.org/show_bug.cgi?id=710034 2014-01-18 14:48:35 +0100 Sebastian Dröge * gst/gstiterator.c: iterator: Properly copy mutexes around when creating a copy of a filter iterator 2014-01-18 14:34:45 +0100 Sebastian Dröge * tests/check/gst/gstiterator.c: iterator: Add unit tests for filtering, recursive filtering and locking https://bugzilla.gnome.org/show_bug.cgi?id=711138 2014-01-18 14:43:20 +0100 Stewart Brodie * gst/gstiterator.c: 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 2014-01-17 22:53:01 -0300 Thiago Santos * gst/gstpad.c: 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 2014-01-16 20:11:03 +0100 Stefan Sauer * gst/gst.c: * gst/gstinfo.c: 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. 2014-01-16 18:16:35 +0100 Sebastian Dröge * plugins/elements/gstcapsfilter.c: capsfilter: Only set caps on the srcpad if it's activated in push mode https://bugzilla.gnome.org/show_bug.cgi?id=722289 2014-01-16 12:28:47 +0100 Fabian Kirsch * gst/parse/grammar.y: 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 2014-01-15 19:28:01 -0300 Thiago Santos * plugins/elements/gstinputselector.c: 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 2014-01-15 00:12:26 -0300 Thiago Santos * plugins/elements/gstmultiqueue.c: 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 2014-01-15 11:12:08 +0100 Sebastian Dröge * gst/gstsegment.c: segment: gst_segment_offset_running_time() will be available in 1.2.3 2014-01-14 16:15:21 -0500 Nicolas Dufresne * docs/gst/gstreamer-sections.txt: doc: Update sections with the new rounding macros 2014-01-14 16:15:02 -0500 Nicolas Dufresne * gst/gstutils.h: util: Add GST_ROUND_UP_N and GST_ROUND_DOWN_N These are generic rounding macro that works for any power of two. 2014-01-14 16:47:38 +0100 Sebastian Dröge * tests/check/elements/tee.c: tee: Add unit test for requesting pad names 2014-01-14 16:45:53 +0100 Sebastian Dröge * plugins/elements/gsttee.c: * plugins/elements/gsttee.h: 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. 2014-01-14 15:52:26 +0100 Sebastian Dröge * gst/parse/grammar.y: 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. 2014-01-14 13:45:34 +0100 Sebastian Dröge * gst/parse/grammar.y: parse: Remove some C99-style comments 2014-01-14 13:44:11 +0100 Sebastian Dröge * gst/parse/types.h: parse: Use GSlice for allocating and freeing links and chains 2014-01-14 13:42:20 +0100 Sebastian Dröge * gst/parse/types.h: 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. 2014-01-14 13:36:24 +0100 Sebastian Dröge * tests/check/pipelines/parse-launch.c: parse-launch: Add some more failing pipelines Also convert some comments about valgrind warnings to FIXME comments. These were leaking since some time already. 2014-01-10 21:10:17 +0100 Fabian Kirsch * gst/parse/grammar.y: * gst/parse/parse.l: * gst/parse/types.h: * tests/check/pipelines/parse-launch.c: parse: Refactor grammar, make it more consistent and fix conflicts https://bugzilla.gnome.org/show_bug.cgi?id=710034 2014-01-13 20:48:32 +0100 Stefan Sauer * docs/gst/gstreamer-sections.txt: * docs/gst/gstreamer.types.in: docs: ensure GstBufferPools shows up as with GObject features GstBufferPool is a GstObject, add the _get_type function to the types file. 2014-01-13 08:37:37 -0300 Thiago Santos * tests/check/libs/baseparse.c: 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 2014-01-11 10:49:17 -0300 Thiago Santos * tests/check/Makefile.am: * tests/check/libs/.gitignore: * tests/check/libs/baseparse.c: tests: baseparse: add basic test for baseparse Just a small test to check that basic playback works 2014-01-10 09:10:06 -0300 Thiago Santos * libs/gst/base/gstbaseparse.c: 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 2014-01-06 21:47:22 +0100 Stefan Sauer * libs/gst/base/gstbasesrc.c: 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. 2014-01-09 07:56:55 +0100 Stefan Sauer * gst/gstobject.c: 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. 2014-01-08 16:28:54 -0300 Thiago Santos * libs/gst/base/gstbaseparse.c: 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 2014-01-08 15:47:10 +0100 Wim Taymans * tests/check/gst/gstsegment.c: tests: improve check, also check stream-time 2014-01-08 15:31:28 +0100 Wim Taymans * tests/check/gst/gstsegment.c: 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. 2014-01-08 15:23:00 +0100 Wim Taymans * gst/gstsegment.c: segment: take offset into account in _to_position() Take the offset into account when converting between running-time and segment positions. 2014-01-08 14:57:04 +0100 Wim Taymans * gst/gstpad.c: pad: use new segment offset method to apply the offset Fixes https://bugzilla.gnome.org/show_bug.cgi?id=721422 2014-01-08 14:54:47 +0100 Wim Taymans * gst/gstsegment.c: * gst/gstsegment.h: * win32/common/libgstreamer.def: segment: add method to offset the segment running-time Add a method that can apply an offset to the calculated running-time of a segment. 2014-01-08 14:52:04 +0100 Wim Taymans * libs/gst/base/gstcollectpads.c: collectpads: take offset into account for expected segment position The firt valid segment position is start + offset. Also add some more debug and a FIXME 2014-01-08 14:50:29 +0100 Wim Taymans * gst/gstinfo.c: info: debug segment offset field as well 2014-01-08 09:53:09 +0100 Sebastian Dröge * plugins/elements/gstmultiqueue.c: multiqueue: Allow growing a queue if all other queues are not linked See https://bugzilla.gnome.org/show_bug.cgi?id=719893 2014-01-07 16:18:37 +0100 Wim Taymans * plugins/elements/gstfilesrc.c: filesrc: don't try to seek to -1 offset The offset can be -1 when we are configured in TIME format. Instead of failing the seek and erroring, do what and offset of -1 is supposed to do and simply read from the current offset. 2014-01-06 21:04:32 +0100 Stefan Sauer * libs/gst/base/gstbasesrc.c: basesrc: demote error to warning This is not an error. A subclass returning FALSE for is_seekable() is one way of saying that we can't operate in pull mode. 2014-01-03 11:47:23 +0800 YanpingZhang * plugins/elements/gstmultiqueue.c: multiqueue: Fix hanging if shut down while handling a serialized query https://bugzilla.gnome.org/show_bug.cgi?id=721253 2014-01-02 16:22:37 -0300 Thiago Santos * libs/gst/base/gstbaseparse.c: baseparse: remove pending_segment as it was being misused It wasn't required, instead baseparse was using it to check the media caps to identify if it was handling audio or video. The pending_segment was removed and a checked_media boolean replaced it for a more accurate naming. https://bugzilla.gnome.org/show_bug.cgi?id=721350 2014-01-02 13:43:54 -0300 Thiago Santos * libs/gst/base/gstbaseparse.c: baseparse: push pending events before GAP event A GAP event is handled as an empty buffer by sinks and they expect to receive start up events before GAP events (like a segment). This is important specially if there is a GAP at the beginning of a stream (before any buffers) so that the segment event can be pushed downstream before the GAP https://bugzilla.gnome.org/show_bug.cgi?id=721350 2014-01-02 13:41:25 -0300 Thiago Santos * libs/gst/base/gstbaseparse.c: baseparse: refactor pending events pushing Refactor code repeated 3 times to a common function https://bugzilla.gnome.org/show_bug.cgi?id=721350 2014-01-02 20:17:58 +0100 Stefan Sauer * docs/design/part-toc.txt: design/part-toc.txt: update design docs 2014-01-02 13:34:52 +0100 Sebastian Dröge * tests/check/gst/gstpad.c: pad: Add unit test for adding/removing blocking probes while a pad is blocked And make sure that these new probes are actually called if they should instead of silently blocking the pad forever. https://bugzilla.gnome.org/show_bug.cgi?id=721289 2014-01-02 13:33:20 +0100 Sebastian Dröge * gst/gstpad.c: pad: Check if new probes need to be called when adding/removing some This allows blocking a pad, add a new blocking probe, removing the first probe and then having the second probe called. Which could then decide that data-flow should actually continue instead of blocking now. https://bugzilla.gnome.org/show_bug.cgi?id=721289 2014-01-02 11:13:27 +0100 Sebastian Dröge * plugins/elements/gsttee.c: * plugins/elements/gsttee.h: tee: Remove dyn lock It was used for pad-alloc in 0.10 but currently is completely unused and not necessary. All pad access is protected by the tee object lock and keeping another reference to the current pad. 2014-01-02 11:09:59 +0100 Sebastian Dröge * plugins/elements/gsttee.c: tee: Keep another ref to our one and only srcpad around while pushing A pad probe on that pad might otherwise just release the pad, drop the last reference and cause great misery. https://bugzilla.gnome.org/show_bug.cgi?id=721300 2013-12-30 19:03:22 +0100 Sebastian Dröge * gst/gstpad.c: pad: Keep an extra ref of the pad when calling an IDLE probe immediately The callback might destroy the pad. 2013-12-30 18:44:24 +0100 Sebastian Dröge * gst/gstpad.c: pad: Only call IDLE probes if we are actually idle Also only check the data types for non-IDLE probes. When we are idle, we have no data type obviously. Previously we were calling IDLE probes during data flow whenever a non-blocking probe would be called. The pad was usually not idle at that time. 2013-12-30 16:10:08 +0000 Tim-Philipp Müller * libs/gst/net/gstnettimeprovider.c: nettimeprovider: remove unnecessary NULL check Error is never NULL when we break out of the loop. COVERITY CID 1037151 2013-12-30 16:05:47 +0000 Tim-Philipp Müller * libs/gst/net/gstnettimeprovider.c: Revert "nettimeprovider: Remove dead code" This reverts commit 9649cd4ca19a75d0319117a77a7609e4b8c96533. This is not right, and it's also not what coverity is complaining about. 2013-12-30 16:47:32 +0100 Edward Hervey * plugins/elements/gstqueue.c: queue: Remove unneeded checks item is guaranteed to be non-null. COVERITY CID 1037152 COVERITY CID 1037153 2013-12-30 16:34:08 +0100 Edward Hervey * libs/gst/net/gstnettimeprovider.c: nettimeprovider: Remove dead code err is always NULL by the point we reach this line COVERITY CID 1037151 2013-12-30 14:47:19 +0100 Stefan Sauer * gst/gsttaglist.h: taglist: fix since marker again (1.3 -> 1.4) Since markers should point to the appropriate stable version. 2013-12-30 14:40:40 +0100 Stefan Sauer * gst/gsttaglist.h: taglist: fix since-marker in docs (we're in 1.3.X) 2013-12-30 14:22:37 +0100 Stefan Sauer * gst/gsttaglist.c: * gst/gsttaglist.h: taglist: add a tag for midi base note numbers Audio files containing sampled instruments can have metadata describing the note that was played on the instrument. 2013-12-30 10:01:39 +0100 Sebastian Dröge * gst/gstpad.c: pad: Don't ignore probe callback return value when immediately calling IDLE probe https://bugzilla.gnome.org/show_bug.cgi?id=721096 2013-12-29 14:06:55 +0000 Pedro Côrte-Real * scripts/git-update.sh: scripts: git-update.sh: fix for non-master branches Pull from tracking branch instead of origin/master, so that this works with e.g. 1.2 as well. 2013-12-27 12:55:02 +0100 Sebastian Dröge * gst/parse/Makefile.am: * gst/parse/parse.l: parse: Use GLib malloc/free/realloc functions https://bugzilla.gnome.org/show_bug.cgi?id=720100 2013-12-26 12:16:26 +0000 Tim-Philipp Müller * scripts/create-uninstalled-setup.sh: scripts: create-uninstalled-setup: re-use existing master branch if it exists When creating separate checkout for non-master branches. 2013-12-26 11:39:27 +0100 Erik Andresen * docs/manual/advanced-dataaccess.xml: docs: fix memory leak of appsink example in manual https://bugzilla.gnome.org/show_bug.cgi?id=721076 2013-12-22 22:33:12 +0000 Tim-Philipp Müller * autogen.sh: * common: Automatic update of common submodule From dbedaa0 to d48bed3 2013-12-22 22:04:37 +0000 Tim-Philipp Müller * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: po: update for string changes 2013-12-22 21:56:03 +0000 Tim-Philipp Müller * po/Makevars: po: set gettext domain in Makevars so we don't have to patch the generated Makefile.in.in https://bugzilla.gnome.org/show_bug.cgi?id=705455 2013-12-20 14:41:06 +0100 Wim Taymans * gst/gstutils.h: utils: Add round down 128 macro for completeness 2013-11-13 17:06:23 -0500 Nicolas Dufresne * gst/gstutils.h: utils: Add round up 128 macro 2013-12-20 14:30:22 +0100 Sebastian Dröge * plugins/elements/gstfunnel.c: funnel: Setting the PROXY_CAPS flag on the srcpad does not make much sense funnel outputs whatever one of the upstreams currently outputs, a caps query to a random upstream does not give the right answer here. 2013-12-20 11:37:53 +0100 Sebastian Dröge * plugins/elements/gstfunnel.c: funnel: Proxy CAPS and ALLOCATION queries 2013-11-18 10:46:00 -0300 Thiago Santos * plugins/elements/gstmultiqueue.c: multiqueue: post 100% buffering if single queue is not linked This makes buffering stop in case a stream switch happens. This is important for adaptive streams that can disable not-linked streams to avoid consuming the network bandwidth. https://bugzilla.gnome.org/show_bug.cgi?id=719575 2013-12-18 05:19:46 -0500 William Jon McCann * docs/manual/appendix-integration.xml: docs: fix project links https://bugzilla.gnome.org/show_bug.cgi?id=720665 2013-12-10 15:53:54 +0100 David Svensson Fors * libs/gst/base/gstbasesrc.c: basesrc: use segment start if DTS for first buffer is unset https://bugzilla.gnome.org/show_bug.cgi?id=720199 2013-12-12 17:17:40 +0000 Matthieu Bouron * scripts/gst-uninstalled: gst-uninstalled: add gstreamer-vaapi paths https://bugzilla.gnome.org/show_bug.cgi?id=720337 2013-12-14 21:20:45 +0000 Tim-Philipp Müller * tests/check/Makefile.am: * tests/check/libs/.gitignore: * tests/check/libs/bitreader-noinline.c: * tests/check/libs/bytereader-noinline.c: * tests/check/libs/bytewriter-noinline.c: tests: add unit test for bitreader, bytereader and bytewriter with no inlining used 2013-12-14 18:38:41 +0000 Tim-Philipp Müller * libs/gst/base/gstbytereader.h: bytereader: add inline variant of gst_byte_reader_init() 2013-12-14 18:31:38 +0000 Tim-Philipp Müller * libs/gst/base/gstqueuearray.c: docs: fix docs for gst_queue_array_peek_head() 2013-12-14 19:08:35 +0100 Sebastian Dröge * gst/parse/grammar.y: parse: Don't define yyscan_t twice https://bugzilla.gnome.org/show_bug.cgi?id=720316 2013-12-13 22:51:32 +0000 Tim-Philipp Müller * docs/random/moving-plugins: docs: moving plugins: minor 0.10 -> 1.0 fix Spotted by Jay Fenlason 2013-12-11 14:42:34 +0100 Wim Taymans * plugins/elements/gstqueue.c: * plugins/elements/gstqueue2.c: queue: don't ignore event return value Pass the event return value upstream. Remove strange goto construct. 2013-12-10 18:30:03 -0500 Edward Hervey * tools/gst-launch.c: gst-launch: Handle taglist copy failure If we couldn't copy the tags, just return instead of trying to use bogus values. 2013-12-10 18:25:22 -0500 Edward Hervey * tools/gst-inspect.c: gst-inspect: Index features are no more So remove code that will never be used 2013-12-10 17:53:24 -0500 Edward Hervey * gst/gstvalue.c: * tests/check/gst/gstvalue.c: gstvalue: Fix comparision of double range Checking twice the lower bound is great (you never know, it might change between the two calls by someone using emacs butterfly-mode), but it's a bit more useful to check the higher bound are also identical. Detected by Coverity 2013-12-10 17:09:07 -0500 Edward Hervey * libs/gst/controller/gstinterpolationcontrolsource.c: controller: Fix out-of-bounds detection We want to abort if we higher than the maximum *OR* lower than the minimum accepted value. Detected by Coverity. 2013-12-07 19:04:16 +0000 Tim-Philipp Müller * tests/check/gst/gstinfo.c: tests: add unit test for registering the same category twice 2013-12-07 19:32:58 +0100 Víctor Manuel Jáquez Leal * gst/gstinfo.c: info: return existing category if a debug category is registered twice If a category with the same name is found when creating a new one, the found category is returned instead of an invalid pointer. Fixes issue with gst-vaapi (which uses an internal copy of the codec parsers) caused by commit ccba9130. https://bugzilla.gnome.org/show_bug.cgi?id=720036 2013-12-07 15:38:19 +0100 Sebastian Rasmussen * docs/design/part-negotiation.txt: * docs/design/part-overview.txt: * docs/design/part-progress.txt: * docs/design/part-synchronisation.txt: * docs/design/part-trickmodes.txt: * docs/manual/advanced-buffering.xml: * docs/manual/advanced-clocks.xml: * docs/manual/outline.txt: * docs/pwg/advanced-clock.xml: * docs/pwg/advanced-negotiation.xml: * gst/gstatomicqueue.h: * gst/gstbin.c: * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstbufferlist.h: * gst/gstcaps.c: * gst/gstcapsfeatures.c: * gst/gstchildproxy.c: * gst/gstconfig.h.in: * gst/gstdatetime.c: * gst/gstdatetime.h: * gst/gstelement.c: * gst/gstelement.h: * gst/gstelementfactory.c: * gst/gsterror.c: * gst/gstevent.c: * gst/gstinfo.h: * gst/gstiterator.c: * gst/gstmessage.c: * gst/gstmessage.h: * gst/gstmeta.h: * gst/gstminiobject.c: * gst/gstminiobject.h: * gst/gstobject.c: * gst/gstobject.h: * gst/gstpad.c: * gst/gstpad.h: * gst/gstparse.c: * gst/gstparse.h: * gst/gstplugin.c: * gst/gstplugin.h: * gst/gstpoll.c: * gst/gstpreset.c: * gst/gstquery.c: * gst/gstregistry.c: * gst/gstsegment.c: * gst/gstsegment.h: * gst/gststructure.c: * gst/gsttaglist.c: * gst/gsttocsetter.c: * gst/gsttypefind.h: * gst/gstutils.c: * gst/gstvalue.c: * gst/gstvalue.h: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbaseparse.h: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesink.h: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstbasetransform.h: * libs/gst/base/gstbytereader.c: * libs/gst/base/gstbytewriter-docs.h: * libs/gst/base/gstbytewriter.c: * libs/gst/base/gstcollectpads.h: * libs/gst/base/gstdataqueue.c: * libs/gst/base/gstqueuearray.c: * libs/gst/check/gstcheck.c: * libs/gst/check/gsttestclock.c: * libs/gst/net/gstnettimepacket.c: * plugins/elements/gstfdsrc.c: * plugins/elements/gstidentity.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstqueue.c: * plugins/elements/gsttypefindelement.c: * win32/common/gstconfig.h: docs: Fix typos in function/object descriptions Fixes https://bugzilla.gnome.org/show_bug.cgi?id=720029 2013-12-07 15:40:32 +0100 Sebastian Rasmussen * gst/gstobject.c: * gst/gstpad.c: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasetransform.c: * tests/check/gst/gstsegment.c: * tests/check/gst/gststructure.c: Fix some typos in code comments and debug messages https://bugzilla.gnome.org/show_bug.cgi?id=720029 2013-12-06 20:50:19 +0000 Stewart Brodie * gst/gststructure.c: * gst/gsttaglist.c: docs: clarify encoding of strings in GstStructures and taglists https://bugzilla.gnome.org/show_bug.cgi?id=709262 2013-07-02 20:27:59 -0400 Olivier Crête * libs/gst/base/gstbasesrc.c: basesrc: Set format to TIME if do-timestamp is TRUE https://bugzilla.gnome.org/show_bug.cgi?id=702842 2013-12-05 00:26:13 +0000 Tim-Philipp Müller * tools/gst-launch.c: 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-04 17:35:18 -0500 Olivier Crête * gst/gstinfo.c: info: Make sure the same category is not added twice 2013-12-04 17:35:02 -0500 Olivier Crête * gst/gstinfo.c: info: Protect __categories list in get_category with lock too 2013-12-04 00:10:36 +0100 Sebastian Rasmussen * docs/Makefile.am: * docs/design/Makefile.am: 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 21:46:19 +0100 Wim Taymans * gst/gstpad.c: * gst/gstpad.h: 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-02 22:22:36 -0500 Olivier Crête * plugins/elements/gstmultiqueue.c: 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-11-30 12:15:37 +0100 Sebastian Rasmussen * docs/gst/gstreamer-sections.txt: * docs/libs/Makefile.am: * docs/libs/gstreamer-libs-sections.txt: * docs/plugins/gstreamer-plugins-sections.txt: * gst/gstcontext.c: * gst/gstcontrolsource.c: * gst/gstcontrolsource.h: * gst/gstobject.c: * gst/gstpad.h: * gst/gstvalue.c: * plugins/elements/gstoutputselector.c: * plugins/elements/gstoutputselector.h: 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-11-30 14:52:40 +0100 Sebastian Rasmussen * gst/gst.c: * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstcaps.c: * gst/gstcontext.c: * gst/gstmeta.h: * gst/gstpad.c: * gst/gstutils.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstcollectpads.c: * libs/gst/base/gstqueuearray.c: * libs/gst/check/gsttestclock.c: * libs/gst/controller/gsttimedvaluecontrolsource.c: 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-11-29 14:00:35 -0500 Olivier Crête * gst/parse/Makefile.am: 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-19 11:41:54 -0300 Thiago Santos * gst/gstutils.c: gstpad: drop assertion on gst_pad_peer_query_position It is a 'both' query, so it can be sent both ways 2013-11-18 18:11:56 -0300 Thiago Santos * plugins/elements/gstinputselector.c: 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 17:02:41 +0100 Wim Taymans * gst/gstghostpad.c: Revert "ghostpad: copy sticky events to SRC ghostpads" This reverts commit 8162a583a4dd68582bf186e2e47a8f0d68fa1980. 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-19 15:03:35 +0100 Fabian Kirsch * gst/parse/.gitignore: * gst/parse/Makefile.am: * gst/parse/grammar.y: 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-27 18:32:22 +1100 Jan Schmidt * libs/gst/net/gstnetclientclock.c: 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-26 11:56:46 +0100 Carlos Rafael Giani * libs/gst/net/gstnetclientclock.c: 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 https://bugzilla.gnome.org/show_bug.cgi?id=712385 2013-11-25 19:04:38 -0500 Olivier Crête * gst/gstquery.c: query: Fix gi annotations of gst_structure_new_custom() 2013-11-26 02:43:54 +1100 Jan Schmidt * libs/gst/net/gstnetclientclock.c: netclock: Fix C99 comment 2013-11-26 02:17:36 +1100 Jan Schmidt * libs/gst/net/gstnetclientclock.c: 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-25 20:33:42 +1100 Jan Schmidt * libs/gst/base/gstbasesink.c: basesink: Add debug into gst_base_sink_default_query() for accept_caps 2013-11-14 15:32:59 +0100 Philippe Normand * tools/gst-launch.c: 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-22 01:35:18 +0100 Sebastian Rasmussen * gst/gstutils.c: 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-21 15:04:04 +0000 Tim-Philipp Müller * gst/gstbuffer.c: * gst/gstinfo.c: * gst/gsturi.c: 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 14:13:16 +0100 Wim Taymans * gst/gstghostpad.c: 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 12:28:00 +0100 Wim Taymans * gst/gstpad.h: pad: move debug function closer to the enum it debugs 2013-11-18 21:39:54 +0100 Wim Taymans * gst/gstpluginloader.c: 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:37:06 +0100 Wim Taymans * gst/gstpoll.c: poll: improve debug So that we can see the return values of functions in the log. 2013-11-18 15:28:32 +0000 Tim-Philipp Müller * tests/check/gst/gstbus.c: 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-16 12:24:56 +0000 Tim-Philipp Müller * gst/gstbin.h: * gst/gstbuffer.c: * gst/gstinfo.c: * gst/gstplugin.h: * gst/gstpluginfeature.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstdataqueue.c: * libs/gst/base/gstqueuearray.c: docs: cosmetic since marker fixes 2013-11-16 15:17:57 +0100 Mark Nauwelaerts * libs/gst/base/gstbaseparse.c: 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-15 07:32:48 +0100 Sebastian Dröge * gst/gstbin.c: bin: Resync iterator if necessary 2013-11-13 19:55:41 +0100 Sebastian Dröge * gst/gstvalue.c: * tests/check/gst/gstcaps.c: 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-11 16:47:06 +0000 Tim-Philipp Müller * gst/gstsystemclock.c: systemclock: add Since markers for new API 2013-11-11 17:29:48 +0100 Edward Hervey * win32/common/libgstreamer.def: win32: Really update the def files 2013-11-11 17:02:35 +0100 Sebastian Dröge * win32/common/libgstbase.def: * win32/common/libgstreamer.def: win32: Update def files 2013-11-11 16:50:13 +0100 Sebastian Dröge * scripts/gst-uninstalled: gst-uninstalled: Also export LD_LIBRARY_PATH for gst-plugins-gl 2013-11-05 12:22:51 +0000 Matthieu Bouron * scripts/gst-uninstalled: gst-uninstalled: export gst-plugins-gl DYLD_LIBRARY_PATH https://bugzilla.gnome.org/show_bug.cgi?id=711488 2013-11-06 18:46:19 +0100 Sebastian Dröge * libs/gst/base/gstcollectpads.c: collectpads: Always send SEEK events to all pads, even if one fails 2013-11-06 18:41:10 +0100 Sebastian Dröge * libs/gst/base/gstcollectpads.c: * libs/gst/base/gstcollectpads.h: collectpads: Update documentation for flushing seek handling 2013-11-06 18:05:22 +0100 Sebastian Dröge * libs/gst/base/gstcollectpads.c: collectpads: Don't leak seek events 2013-09-16 09:55:58 +0200 Alessandro Decina * libs/gst/base/gstcollectpads.c: * libs/gst/base/gstcollectpads.h: 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-09-16 08:35:37 +0200 Alessandro Decina * tests/check/libs/collectpads.c: tests: collectpads: add flushing seek tests https://bugzilla.gnome.org/show_bug.cgi?id=708416 2013-09-16 08:31:47 +0200 Alessandro Decina * tests/check/libs/collectpads.c: tests: collectpads: tweak stub _collect to push all buffers https://bugzilla.gnome.org/show_bug.cgi?id=708416 2013-09-16 08:26:25 +0200 Alessandro Decina * tests/check/libs/collectpads.c: tests: collectpads: update my email address https://bugzilla.gnome.org/show_bug.cgi?id=708416 2013-11-11 13:27:27 +0100 Edward Hervey * plugins/elements/gstqueue.c: queue: Don't use gst_buffer_get_size() when possible Makes qst_queue_locked_dequeue 20% faster 2013-11-11 12:25:14 +0100 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gstsystemclock.c: * gst/gstsystemclock.h: * tests/check/gst/gstsystemclock.c: * win32/common/libgstreamer.def: 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-04 18:57:18 +0100 Stefan Sauer * tools/gst-typefind.c: typefind: use g_get_prgname() for error message 2013-11-06 10:15:59 +0100 Wim Taymans * plugins/elements/gstvalve.c: valve: proxy caps and allocation Proxy the caps queries on the srcpad as well. Proxy the allocation query on the sinkpad. 2013-11-05 11:17:25 +0000 Tim-Philipp Müller * common: Automatic update of common submodule From 865aa20 to dbedaa0 2013-11-04 13:56:37 -0800 Reynaldo H. Verdejo Pinochet * tools/gst-inspect.c: gst-inspect: Remove some dead code 2013-11-04 11:48:47 +0100 Alessandro Decina * gst/gstmemory.c: memory: explicitly cast to GstLockFlags to avoid compiler warnings 2013-11-02 15:36:19 +0100 Mark Nauwelaerts * gst/gstsegment.c: segment: resurrect sanitizing start and stop for seeking 2013-11-02 15:42:07 +0100 Mark Nauwelaerts * libs/gst/base/gstbasesrc.c: basesrc: mind boggling wrap when comparing offsets 2013-11-02 15:38:13 +0100 Mark Nauwelaerts * libs/gst/base/gstbaseparse.c: baseparse: try first frame pts and dts for a valid start timestamp 2013-11-02 15:37:30 +0100 Mark Nauwelaerts * libs/gst/base/gstbaseparse.c: baseparse: print proper variable in debug statement 2013-11-01 16:35:59 +0000 Olivier Crête * gst/gstparse.c: * tests/check/pipelines/parse-launch.c: parse: Make the FATAL_ERRORS flag also work without a GError Also add a unit tests 2013-10-23 15:56:20 +0100 Matthieu Bouron * tools/gst-launch.c: gst-launch: fix potential uninitialized variable warning https://bugzilla.gnome.org/show_bug.cgi?id=710758 2013-10-31 16:16:48 -0700 Reynaldo H. Verdejo Pinochet * docs/design/part-MT-refcounting.txt: * docs/design/part-element-transform.txt: * docs/design/part-events.txt: * docs/design/part-framestep.txt: * docs/design/part-messages.txt: * docs/design/part-probes.txt: * docs/design/part-relations.txt: docs: fix common typos emited/eachother/... 2013-10-30 21:53:36 +0100 Sebastian Dröge * gst/gstutils.c: * gst/gstutils.h: utils: Add some attributes and reorganize code to fix compiler warnings gstutils.c:3659:41: error: format string is not a string literal [-Werror,-Wformat-nonliteral] gchar *expanded = g_strdup_vprintf (stream_id, var_args); https://bugzilla.gnome.org/show_bug.cgi?id=710621 2013-10-25 14:56:16 +0200 Antonio Ospite * docs/pwg/advanced-negotiation.xml: pwg: rename the "samplerate" variable to make example code compilable In one of the examples about gst_my_filter_setcaps() there is a variable declared as "rate", but then the name "samplerate" is used when setting the caps. Use the name "rate" everywhere in gst_my_filter_setcaps(). https://bugzilla.gnome.org/show_bug.cgi?id=710876 2013-10-29 18:09:32 +0100 Fabian Kirsch * docs/manual/basics-elements.xml: doc: fix forward reference about ghost pads https://bugzilla.gnome.org/show_bug.cgi?id=711089 2013-10-28 12:55:19 +0000 Tim-Philipp Müller * docs/design/part-buffer.txt: * docs/design/part-caps.txt: * docs/design/part-context.txt: * docs/design/part-messages.txt: docs: design: fix some fixes 2013-10-26 09:48:06 +0100 Tim-Philipp Müller * docs/faq/developing.xml: docs: flesh out gst-uninstalled entry in faq some more https://bugzilla.gnome.org/show_bug.cgi?id=709916 2013-10-16 15:00:41 +0200 Fabian Kirsch * docs/faq/developing.xml: docs: FAQ update to mention create-uninstalled-setup.sh https://bugzilla.gnome.org/show_bug.cgi?id=709916 2013-10-25 21:29:01 +0200 Stefan Sauer * gst/gstregistrychunks.c: registry: small cleanups and use object log variants more 2013-10-25 21:28:30 +0200 Stefan Sauer * gst/gst_private.h: private: remove left-over comment The caps are saved in the registry. 2013-10-25 18:51:53 +0200 Stefan Sauer * gst/gstregistrychunks.c: registry: use g_slice_free for slice memory Avoid memory list corruption, but g_free'ing slice memory. 2013-10-23 18:16:54 +0200 Stefan Sauer * docs/design/draft-tracing.txt: design: flesh out the tracing design a little more 2013-10-25 11:02:19 -0400 Luis de Bethencourt * gst/gstobject.c: docs: fix typos in gstobject 2013-10-21 18:01:21 -0700 Reynaldo H. Verdejo Pinochet * docs/design/part-meta.txt: docs: Gram and nit fixes for part-meta.txt 2013-10-14 22:03:50 -0700 Reynaldo H. Verdejo Pinochet * docs/design/part-element-source.txt: docs: Gram and nit fixes for part-element-source.txt 2013-10-14 21:54:31 -0700 Reynaldo H. Verdejo Pinochet * docs/design/part-element-sink.txt: docs: Gram and nit fixes for part-sink.txt 2013-10-14 18:43:40 -0700 Reynaldo H. Verdejo Pinochet * docs/design/part-conventions.txt: docs: Gram and nit fixes for part-conventions.txt 2013-10-14 18:34:06 -0700 Reynaldo H. Verdejo Pinochet * docs/design/part-controller.txt: docs: Gram and nit fixes for part-controller.txt 2013-10-14 18:24:18 -0700 Reynaldo H. Verdejo Pinochet * docs/design/part-context.txt: docs: Gram and nit fixes for part-context.txt 2013-10-14 18:13:35 -0700 Reynaldo H. Verdejo Pinochet * docs/design/part-clocks.txt: docs: Gram and nit fixes for part-clocks.txt 2013-10-14 18:05:43 -0700 Reynaldo H. Verdejo Pinochet * docs/design/part-caps.txt: docs: Gram and nit fixes for part-caps.txt 2013-10-14 17:44:27 -0700 Reynaldo H. Verdejo Pinochet * docs/design/part-buffer.txt: docs: Gram and nit fixes for part-buffer.txt 2013-10-14 17:29:19 -0700 Reynaldo H. Verdejo Pinochet * docs/design/part-bufferpool.txt: docs: Gram and nit fixes for part-bufferpool.txt 2013-10-14 05:39:19 -0700 Reynaldo H. Verdejo Pinochet * docs/design/part-buffering.txt: docs: Gram and nit fixes for part-buffering.txt 2013-10-13 21:16:47 -0700 Reynaldo H. Verdejo Pinochet * docs/design/part-messages.txt: docs: Gram and nit fixes for part-messages.txt 2013-10-13 20:42:40 -0700 Reynaldo H. Verdejo Pinochet * docs/design/part-memory.txt: docs: Gram and nit fixes for part-memory.txt 2013-10-18 08:58:05 +0100 Philip Withnall * libs/gst/net/gstnetclientclock.c: * libs/gst/net/gstnetclientclock.h: net: Constify a parameter to gst_net_client_clock_new() Even though this parameter is not used, it should be const to fit in with the coding standards for other similar parameters. Client code already passes in const strings under the expectation that they won’t be modified. https://bugzilla.gnome.org/show_bug.cgi?id=710442 2013-10-15 11:44:05 +0200 Sebastian Dröge * gst/gstdatetime.c: datetime: Make sure to include gst_private.h before glib-compat-private.h We need to define the GLib log domain before including glib.h, which is included by glib-compat-private.h. 2013-10-14 18:07:17 -0300 Thibault Saunier * docs/gst/gstreamer-sections.txt: docs: Add gst_pad_store_sticky_event to sections.txt So it appears in the generated documentation 2013-09-29 17:35:11 +0200 Sebastian Rasmussen * plugins/elements/gstfilesrc.c: * tests/check/elements/filesrc.c: tests/filesrc: Set location in wrong state Also remove incorrect comment about code possibly not being reachable that is now exercised by the filesrc unit test. https://bugzilla.gnome.org/show_bug.cgi?id=709831 2013-10-12 16:16:09 +1100 Jan Schmidt * gst/gstparse.c: * tests/check/pipelines/parse-launch.c: parse: Fix transfer annotations for parse_launch functions. gst_parse_launchv, gst_parse_launchv_full and gst_parse_launch_full all return floating refs, the same as gst_parse_launch, which just calls gst_parse_launch_full internally anyway. Add a unit test assertion to check it's true. Spotted by nemequ on IRC. 2013-10-10 08:30:27 -0700 Reynaldo H. Verdejo Pinochet * docs/manual/appendix-checklist.xml: * gst/gst.c: * tests/misc/test-gstreamer-completion.sh: core: Fix max DEBUG_LEVEL incongruence on 5 vs 9 In the docs and the autocompletion logic the maximum value jumped incongruently between 5 and 9. 2013-10-10 13:19:09 +0200 Sebastian Dröge * tests/check/gst/gstcaps.c: caps: Skip test_subset_duplication until the bug is fixed https://bugzilla.gnome.org/show_bug.cgi?id=709253 2013-10-10 12:56:54 +0200 Fabian Kirsch * docs/manual/basics-elements.xml: * docs/manual/basics-pads.xml: * docs/manual/intro-motivation.xml: * docs/manual/manual.xml: docs: Fix some reference URIs https://bugzilla.gnome.org/show_bug.cgi?id=709804 2013-10-02 13:03:54 +0200 Sebastian Dröge * tests/check/gst/gstcaps.c: caps: Add a testcase for subset checks on lists with duplicated items https://bugzilla.gnome.org/show_bug.cgi?id=709253 2013-10-09 15:36:48 -0300 Thibault Saunier * libs/gst/base/gstcollectpads.c: collectpads: Call the collected function while it returns FLOW_OK This allows us to make sure the elements is EOS and does not have remaining buffers to be drained. https://bugzilla.gnome.org/show_bug.cgi?id=709637 2013-10-05 10:08:30 +0100 Tim-Philipp Müller * docs/design/part-qos.txt: docs: fix function name in qos design docs 2013-10-02 12:30:54 +0100 Tim-Philipp Müller * tests/check/elements/multiqueue.c: tests: use tcase_skip_broken_test() to skip broken multiqueue test So that we get a warning in the output that reminds us that something needs to be fixed. 2013-10-02 11:24:02 +0200 Edward Hervey * tests/check/elements/multiqueue.c: check: Disable multiqueue test_output_order check The check itself is racy. (CK_FORK=no GST_CHECK=test_output_order make elements/multiqueue.forever). The problem is indeed the test and not the actual element behaviour. The objects to push are being pulled out of the single internal queues in the right order and at the right time... But between: * the moment the global multiqueue lock is released (which was used to detect if we should pop and push downstream the next buffer) * and the moment it is received by the source pad (which does the check) => another single queue (like the unlinked pad) might pop and push a buffer downstream What should we do ? Putting a bigger margin of error (say 5 buffers) doesn't help, it'll eventually fail. I can't see how we can detect this reliably. https://bugzilla.gnome.org/show_bug.cgi?id=708661 2013-09-25 19:06:55 -0300 Thiago Santos * gst/gstcaps.c: * gst/gststructure.c: * gst/gstvalue.c: * tests/check/gst/gstvalue.c: value: fix caps serialization when there are caps inside caps Wrap caps strings so that it can handle serialization and deserialization of caps inside caps. Otherwise the values from the internal caps are parsed as if they were from the upper one https://bugzilla.gnome.org/show_bug.cgi?id=708772 2013-09-28 08:40:42 +0200 Edward Hervey * gst/gstpluginloader.c: pluginloader: Check errors on the proper fd Most likely a copy-paste error from the block before. If we're going to check for error/closed on the write fd... do it on the write fd 2013-09-26 14:09:02 -0600 Brendan Long * libs/gst/base/gstbasesrc.c: docs: fix spelling of "generic" in GstBaseSrc's documentation. https://bugzilla.gnome.org/show_bug.cgi?id=708870 2013-09-26 11:32:50 +0200 Wim Taymans * gst/gstpad.c: pad: only check event order when something changed Check the event order in dataflow only when something changed instead of for each buffer. 2013-09-24 18:28:05 +0100 Tim-Philipp Müller * README: * common: Automatic update of common submodule From 6b03ba7 to 865aa20 2013-09-24 15:05:16 +0200 Sebastian Dröge * configure.ac: configure: Actually use 1.3.0.1 as version to make configure happy 2013-09-24 15:00:17 +0200 Sebastian Dröge * configure.ac: Back to development === release 1.2.0 === 2013-09-24 14:07:02 +0200 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * gstreamer.doap: * win32/common/config.h: * win32/common/gstversion.h: Release 1.2.0 2013-09-24 14:06:28 +0200 Sebastian Dröge * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files 2013-09-24 13:10:36 +0200 Sebastian Dröge * tests/check/gst/gstcontext.c: context: Add test for the context caching in GstBin https://bugzilla.gnome.org/show_bug.cgi?id=708668 2013-09-24 12:47:52 +0200 Sebastian Dröge * plugins/elements/gstfakesink.c: * plugins/elements/gstfakesink.h: Revert "Potential GstContext regression" This reverts commit e658379534eb4a90b654d90f1d0bdf86f37c6e31. This test commit should've never been pushed. Oops. 2013-09-24 12:46:52 +0200 Sebastian Dröge * gst/gstbin.c: bin: Make sure to cache context types that we did not store yet https://bugzilla.gnome.org/show_bug.cgi?id=708668 2013-09-24 10:29:06 +0100 Alex Ashley * plugins/elements/gstfakesink.c: * plugins/elements/gstfakesink.h: Potential GstContext regression Since the refactoring of GstContext (commits qc9fa2771b508e9aaeecc700e66e958190476f, a7f5dc8b8af837f01782d1572379948ff62daab7, 690326f906dc82e41ea58b81cdb2e3e88b754, d367dc1b0d4ecb37f4d27267e03d7bf0c6c06a6, and 82d158aed3f2e8545e1e7d35085085ff58f18) I am no longer able to get a shared context for an element that is used twice in a pipeline. I used the documentation and eglglessink as my reference for implementing the GstContext logic. As the code was tied to a hardware decoder, I have ported the GstContext code to fakesink to show the problem. Using the old API a single ExampleMgr instance is created, but using the new API each element is creating its own instance. 2013-09-24 10:42:06 +0200 Sebastian Dröge * libs/gst/base/gstcollectpads.c: collectpads: Make sure that the object lock is always taken when accessing the private pad list https://bugzilla.gnome.org/show_bug.cgi?id=708636 2013-09-17 23:23:34 +0200 Mathieu Duponchelle * libs/gst/base/gstcollectpads.c: collectpads: Use private pad list in set_flushing_unlocked pads->data is the public list. It is dynamically rebuilt at each call to check_collected, in check_pads to be specific. When you add a pad and collectpads have been started, it is not added to the public list. Thus there exists a possible race where : 1) You would add a pad to collectpads while running. 2) You set collectpads to flushing before check_collected has been called again -> the pad is not set to flushing 3) the pad starts pushing data as downstream might not be prepared, in the case of adder it then returns FLOW_FLUSHING. 4) elements like demuxers, when they get a FLOW_FLUSHING, stop their tasks, never to be seen again. https://bugzilla.gnome.org/show_bug.cgi?id=708636 2013-09-23 11:47:14 +0200 Wim Taymans * libs/gst/check/gsttestclock.c: * tests/check/libs/gsttestclock.c: tests: handle unscheduled entries correctly Make the testclock return GST_CLOCK_UNSCHEDULED when an unscheduled entry is used for gst_clock_wait() or gst_clock_wait_async(). Fixes https://bugzilla.gnome.org/show_bug.cgi?id=708605 2013-09-22 11:09:36 +0200 Edward Hervey * scripts/gst-uninstalled: gst-uninstalled: Allow specifying the checkout directory by env variable For some rare cases, one might not be able to use the hardcoded $HOME/gst location yet would still want to use the gst-uninstalled script as-is (which has the benefit of being constantly updated). For these cases, the checkout directory can be specified with the GST_UNINSTALLED_ROOT environment variable. Ex: export GST_UNINSTALLED_ROOT=$HOME/somewhere/with/checkouts And then just call gst-uninstalled directly: $GST_UNINSTALLED_ROOT/gstreamer/gst-uninstalled 2013-09-20 16:16:26 +0200 Edward Hervey * common: Automatic update of common submodule From b613661 to 6b03ba7 2013-09-19 18:42:31 +0100 Tim-Philipp Müller * common: Automatic update of common submodule From 74a6857 to b613661 2013-09-19 17:34:27 +0100 Tim-Philipp Müller * autogen.sh: * common: Automatic update of common submodule From 12af105 to 74a6857 2013-09-19 17:12:14 +0100 Tim-Philipp Müller * libs/gst/check/gsttestclock.c: check: testclock: fix function guards Should be g_return_*() not g_assert(), even if it's for tests only. 2013-09-19 16:43:18 +0100 Tim-Philipp Müller * libs/gst/check/gsttestclock.c: check: testclock: don't put code with side-effects in g_assert() Fixes unit test failures when -DG_DISABLE_ASSERT is used. https://bugzilla.gnome.org/show_bug.cgi?id=706551 2013-09-19 12:07:56 +0200 Edward Hervey * gst/gstcontext.c: gstcontext: Fix return values some more Return value is a boolean not a pointer 2013-09-19 11:49:26 +0200 Sebastian Dröge * gst/gstcontext.c: context: Fix return values for gst_context_has_context_type() in assertions 2013-09-19 11:34:51 +0200 Sebastian Dröge * configure.ac: Back to development === release 1.1.90 === 2013-09-19 10:48:24 +0200 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * gstreamer.doap: * win32/common/config.h: * win32/common/gstenumtypes.c: * win32/common/gstversion.h: Release 1.1.90 2013-09-19 10:05:51 +0200 Sebastian Dröge * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files 2013-09-19 09:49:40 +0200 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gstcontext.c: * gst/gstcontext.h: * win32/common/libgstreamer.def: context: Add convenience function gst_context_has_context_type() 2013-09-19 09:42:15 +0200 Sebastian Dröge * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: po: Update translations 2013-09-18 23:07:31 +0200 Sebastian Dröge * gst/gstmessage.c: message: Implement getting the name of the context message types 2013-09-17 21:36:22 +0200 Sebastian Dröge * gst/gstcontext.c: * gst/gstmessage.c: * gst/gstquery.c: * tests/check/gst/gstcontext.c: context: Fix unit test for GstContext changes 2013-09-17 14:34:47 +0200 Sebastian Dröge * tools/gst-launch.c: gst-launch: Update for GstContext changes 2013-09-17 14:29:06 +0200 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * win32/common/libgstreamer.def: context: Update docs 2013-09-17 14:25:10 +0200 Sebastian Dröge * gst/gstbin.c: bin: Implement context caching and propagation again 2013-09-17 13:50:08 +0200 Sebastian Dröge * gst/gstmessage.c: * gst/gstmessage.h: * gst/gstquark.c: * gst/gstquark.h: * gst/gstquery.c: * gst/gstquery.h: message/query: Simplify CONTEXT messages/queries to only contain a single type 2013-09-17 13:33:33 +0200 Sebastian Dröge * docs/design/part-context.txt: * gst/gstcontext.c: context: Update documentation 2013-09-17 13:28:42 +0200 Sebastian Dröge * gst/gstcontext.c: * gst/gstcontext.h: * gst/gstinfo.c: context: Change GstContext to contain only a single context It was unintuitive that GstContext was actually a list of different contexts. GstContext now is only a type string and a structure to contain the actual context. 2013-09-17 13:12:28 +0200 Sebastian Dröge * gst/gstbin.c: * gst/gstelement.c: * gst/gstelement.h: element: Remove GstContext caching 2013-09-17 13:10:53 +0200 Sebastian Dröge * gst/gstcontext.c: * gst/gstcontext.h: context: Add persistent qualifier for a context Non-persistent contexts are removed when elements go back to NULL state, persistent contexts are not. Applications most likely want to set persistent contexts. 2013-09-17 13:10:16 +0200 Sebastian Dröge * gst/gstquery.h: query: Make CONTEXT query upstream and downstream 2013-09-17 13:09:34 +0200 Sebastian Dröge * gst/gstevent.c: * gst/gstevent.h: * gst/gstquark.c: * gst/gstquark.h: event: Remove CONTEXT downstream event This is going to be implemented with an upstream query instead for consistency and simplicity. 2013-09-13 14:41:45 +0200 Jonas Holmberg * gst/gst.c: gst: Stop all unused threads in GThreadPool in gst_deinit() Since the default number of max unused threads in GThreadPool has been changed from 0 to 2 it needs to be set to 0 to stop all threads or valgrind will report them as memory leaks. 2013-09-10 16:39:30 +0100 Rico Tzschichholz * libs/gst/controller/gstargbcontrolbinding.c: * libs/gst/controller/gstdirectcontrolbinding.c: controlbindings: fix pspec relaxation for control source properties The change should have been from PARAM_CONSTRUCT_ONLY to PARAM_CONSTRUCT, otherwise bindings are affected, since they look for the CONSTRUCT flag. See ec55363d 2013-09-10 10:15:03 +0200 Sebastian Dröge * plugins/elements/gstqueue2.c: queue2: Only update current level if we already downloaded a range Otherwise queue->level is NULL and dereferencing that is not a good idea in general. https://bugzilla.gnome.org/show_bug.cgi?id=707648 2013-09-09 15:40:25 +0200 Sebastian Dröge * gst/gstmeta.h: meta: Deprecate GST_META_TAG_MEMORY The GQuarks are not exported by any public API 2013-08-22 00:02:28 +0200 Mathieu Duponchelle * docs/gst/gstreamer-sections.txt: * gst/gstmeta.h: * win32/common/libgstreamer.def: meta: Add a #define for memory metadata 2013-08-22 00:01:44 +0200 Mathieu Duponchelle * gst/gstmeta.c: * libs/gst/base/gstbasetransform.c: basetransform: implement a default transform_meta. If a metadata has no dependency as shown by the tags, copy it. 2013-08-22 21:32:36 +0200 Mathieu Duponchelle * gst/gstmeta.c: * gst/gstmeta.h: meta: API: Add gst_meta_api_type_get_tags() to get all meta tags. 2013-09-09 14:21:56 +0200 Sebastian Dröge * tests/check/elements/capsfilter.c: tests/capsfilter: Fix memory leak and compare caps directly instead of strcmp() 2013-09-06 23:03:54 +0200 Sebastian Rasmussen * tests/check/elements/capsfilter.c: tests/capsfilter: Test caps-related queries and property 2013-09-06 15:09:46 -0300 Gustavo Noronha Silva * plugins/elements/gstqueue2.c: Update the buffering state before stalling for more data In some cases the wait for more data was happening without updating the buffering state, meaning the API user would not be able to notice it should pause the pipeline and update UI to indicate that is the case, the video would likely stutter instead. https://bugzilla.gnome.org/show_bug.cgi?id=707648 2013-09-04 15:28:10 -0300 Thiago Santos * libs/gst/base/gstbasesrc.c: basesrc: preserve seqnum on segments after seeks The seqnum of the segment after a seek should be the same of the seek event. Downstream elements might rely on seqnums to identify events related to a seek. This is particularly important when a demuxer maps a TIME seek into a BYTES seek for upstream and it needs to identify the corresponding segment event and map it back into TIME to push downstream, possibly using the values from the original seek event. https://bugzilla.gnome.org/show_bug.cgi?id=707530 2013-09-05 14:14:42 +0200 Zaheer Abbas Merali * libs/gst/base/gstcollectpads.c: 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-04 17:11:20 +0200 Christian Fredrik Kalager Schaller * gstreamer.spec.in: Remove PyXML from spec file, it is not longer needed 2013-09-04 14:40:57 +0200 Sebastian Dröge * plugins/elements/gsttypefindelement.c: typefind: Add missing break after handling the GAP event Thanks to Edward Hervey for noticing. 2013-09-04 09:18:55 +0100 Tim-Philipp Müller * scripts/gst-plot-timeline.py: * tools/Makefile.am: tools: move gst-plot-timeline.py into scripts directory So it's not in PATH in an uninstalled setup (thwarting gst-play autocompletion). 2013-09-03 23:59:05 +0200 Matej Knopp * plugins/elements/gstmultiqueue.c: multiqueue: Don't reduce single queue visible size below its current level If the multiqueue has automatically grown chances are good that we will cause the pipeline to starve if the maximum level is reduced below that automatically grown size. https://bugzilla.gnome.org/show_bug.cgi?id=707156 2013-09-02 13:53:51 +0200 Sebastian Dröge * plugins/elements/gstoutputselector.c: outputselector: Don't adjust segment->start to the current time when switching pads This does not make any sense at all and breaks timestamp->running_time calculations in unpredictable ways. https://bugzilla.gnome.org/show_bug.cgi?id=707130 2013-08-29 23:18:31 +0200 Mathieu Duponchelle * plugins/elements/gstcapsfilter.c: capsfilter: Delete link directly in pending_events. When removing a segment event. https://bugzilla.gnome.org/show_bug.cgi?id=707088 2013-08-29 11:07:38 +0100 Tim-Philipp Müller * libs/gst/base/gstbasesink.c: basesink: demote log message, don't spam INFO level when handling buffer lists 2013-08-28 13:26:28 +0200 Sebastian Dröge * configure.ac: Back to development === release 1.1.4 === 2013-08-28 12:36:16 +0200 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * gstreamer.doap: * win32/common/config.h: * win32/common/gstenumtypes.c: * win32/common/gstversion.h: Release 1.1.4 2013-08-28 12:36:01 +0200 Sebastian Dröge * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files 2013-08-28 12:30:00 +0200 Sebastian Dröge * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: po: update translations 2013-08-27 09:31:22 +0200 Alessandro Decina * plugins/elements/gstfilesink.c: filesink: please gcc (avoid a warn_unused_result warning) 2013-08-27 07:51:35 +0200 Alessandro Decina * plugins/elements/gstfilesink.c: * tests/check/elements/filesink.c: filesink: flush (discard data) on FLUSH_STOP Reset the write position to 0 and truncate the file on FLUSH_STOP. 2013-08-27 07:05:11 +0200 Alessandro Decina * tests/check/elements/filesink.c: tests: filesink: small refactoring 2013-08-26 13:19:10 +0100 Tim-Philipp Müller * tools/gst-launch.c: tools: gst-launch: don't print properties being reset when shutting down It's just noise. 2013-08-22 19:01:32 +0200 Edward Hervey * libs/gst/base/gstbasetransform.c: basetransform: Don't push out identical caps This avoids triggering plenty of extra code/methods/overhead downstream when we can just quickly check whenever we want to set caps whether they are identical or not https://bugzilla.gnome.org/show_bug.cgi?id=706600 2013-08-21 12:21:43 +0100 Tim-Philipp Müller * gst/gstsample.c: docs: flesh out gst_sample_get_buffer() a little https://bugzilla.gnome.org/show_bug.cgi?id=706478 2013-08-20 23:59:29 -0700 Kerrick Staley * gst/parse/grammar.y: 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-20 17:15:41 +0900 Wonchul Lee * gst/gstsample.h: sample: Add gst_sample_copy() https://bugzilla.gnome.org/show_bug.cgi?id=706454 2013-08-19 14:55:22 -0400 Olivier Crête * gst/gstbuffer.c: * tests/check/gst/gstbuffer.c: buffer: Fix gst_buffer_memcmp() where the buffer is smaller than size Also add unit tests for gst_buffer_memcmp https://bugzilla.gnome.org/show_bug.cgi?id=706162 2013-08-20 17:06:49 +0100 Tim-Philipp Müller * gst/gstutils.c: docs: flesh out gst_element_query_{duration,position} docs a bit 2013-08-14 16:18:59 +0100 Matthieu Bouron * gst/gsttaglist.c: * gst/gsttaglist.h: taglist: handle publisher and interpreted-by tags https://bugzilla.gnome.org/show_bug.cgi?id=705999 2013-08-20 13:58:24 +0200 Sebastian Dröge * gst/gstpluginloader.c: pluginloader: Don't call memcpy() with NULL src and 0 length 2013-08-20 10:16:41 +0200 Sebastian Dröge * plugins/elements/gstqueue.c: queue: Properly unlock the sinkpad streaming thread when deactivating the pad https://bugzilla.gnome.org/show_bug.cgi?id=705835 2013-08-20 10:16:05 +0200 Sebastian Dröge * plugins/elements/gstqueue2.c: queue2: Properly unlock the sinkpad streaming thread when deactivating the pad https://bugzilla.gnome.org/show_bug.cgi?id=706360 2013-08-19 16:38:50 +0200 Sebastian Dröge * plugins/elements/gstmultiqueue.c: multiqueue: Clean up after the streaming thread has stopped https://bugzilla.gnome.org/show_bug.cgi?id=705835 2013-08-19 16:38:40 +0200 Sebastian Dröge * plugins/elements/gstqueue2.c: queue2: Clean up after the streaming thread has stopped https://bugzilla.gnome.org/show_bug.cgi?id=705835 2013-08-19 16:38:16 +0200 Sebastian Dröge * plugins/elements/gstqueue.c: queue: Clean up after the streaming thread has stopped https://bugzilla.gnome.org/show_bug.cgi?id=705835 2013-07-01 14:04:46 -0600 Brendan Long * gst/gstparse.h: * gst/gstutils.c: * gst/parse/grammar.y: parse: Add GST_FLAG_NO_SINGLE_ELEMENT_BINS This makes gst_parse_bin_from_description() return an element instead of a bin if there's only one element. Also changed gstparse.c to use this, so gst-launch won't create superfluous bins. https://bugzilla.gnome.org/show_bug.cgi?id=703405 2013-08-16 20:36:53 +0200 Arnaud Vrac * gst/gstquery.c: query: return NULL when parsing uri redirection that was not set https://bugzilla.gnome.org/show_bug.cgi?id=706160 2013-08-18 11:48:40 +0200 Sebastian Dröge * gst/gstbuffer.c: buffer: Update since marker for gst_buffer_extract_dup() to 1.0.10 2013-08-16 16:45:41 +0100 Tim-Philipp Müller * plugins/elements/gstqueue2.c: queue2: don't crash on EOS if queue is empty Fixes spurious crash in test_simple_shutdown_while_running unit test. 2013-08-16 16:28:12 +0100 Tim-Philipp Müller * plugins/elements/gstqueue2.c: queue2: don't change global buffering state from within query handler When a buffering query is handled it uses the get_buffering_percent() function to get some statitics. Unfortunately this function also calculates whether the queue should be buffering and adapts the global queue2 state in case of state transitions from/to buffering (including whether a buffering message was posted on the bus!). This means that there is a race which can cause buffering messages to never posted if the global state changes happen as a result of aa query instead of resulting from bytes flowing in/out. Spotted by Sjoerd Simons. Change to only query state in get_buffering_percent() and update state only in update_buffering(). https://bugzilla.gnome.org/show_bug.cgi?id=705332 2013-08-16 12:54:38 +0200 Wim Taymans * plugins/elements/gstqueue2.c: 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-15 15:35:08 +0200 Jonas Holmberg * gst/gst.c: Free thread pools in gst_deinit() 2013-08-16 11:03:30 +0200 Jonas Holmberg * libs/gst/check/gstcheck.c: check: Call gst_deinit() at exit of all processes 2013-08-14 21:41:23 +0100 Tim-Philipp Müller * gst/gstclock.c: clock: simplify internal gst_clock_return_get_name() helper 2013-08-14 17:44:48 +0200 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: improve flush-start handling Use custom code to implement flush-stop, we can't reuse the set_flushing code because we can't touch the live_playing flag and we need to signal the streaming thread. 2013-08-14 17:14:15 +0200 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: stop flushing in flush-stop 2013-08-14 16:58:41 +0200 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: handle flush better Unlock the streaming thread when flushing so that we can insert the flush-stop correctly. 2013-08-14 15:46:57 +0200 Edward Hervey * .gitignore: .gitignore: ignore .dirstamp 2013-08-14 07:21:06 +0200 Edward Hervey * libs/gst/check/Makefile.am: check: Don't use nodist headers on gir scanner Just creates noise and bogus symbols 2013-08-07 18:20:03 +0200 Edward Hervey * gst/gstcompat.h: * gst/gstinfo.c: * gst/gstinfo.h: gst: minor docstring fixups to make g-i happy note: the #ifndef move is actually a move of the "SECTION" docstring 2013-08-13 17:14:53 +0200 Edward Hervey * .gitignore: .gitignore: Ignore files from automake test-driver 2013-08-07 18:24:40 +0200 Edward Hervey * libs/gst/base/gstbaseparse.c: baseparse: Add a property to disable passthrough In some specific cases (like transmuxing) we want to force the element to actually parse all incoming data even if the element deems it is not necessary. This property simply ignores requests from the element to enable passthrough mode which results in processing always being enabled. https://bugzilla.gnome.org/show_bug.cgi?id=705621 2013-08-07 21:26:01 -0300 Thiago Santos * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstdataqueue.c: * libs/gst/base/gstdataqueue.h: * win32/common/libgstbase.def: dataqueue: add gst_data_queue_push_force Adds a variant of the _push function that doesn't check the queue limits before adding the new item. It is useful when pushing an element to the queue shouldn't lock the thread. One particular scenario is when the queue is used to serialize buffers and events that are going to be pushed from another thread. The dataqueue should have a limit on the amount of buffers to be stored to avoid large memory consumption, but events can be considered to have negligible impact on memory compared to buffers. So it is useful to be used to push items into the queue that contain events, even though the queue is already full, it shouldn't matter inserting an item that has no significative size. This scenario happens on adaptive elements (dashdemux / mssdemux) as there is a single download thread fetching buffers and putting into the dataqueues for the streams. This same download thread can als generate events in some situations as caps changes, eos or a internal control events. There can be a deadlock at preroll if the first buffer fetched is large enough to fill the dataqueue and the download thread and the next iteration of the download thread decides to push an event to this same dataqueue before fetching buffers to other streams, if this push locks, the pipeline will be stuck in preroll as no more buffers will be downloaded. There is a somewhat common practice in dash streams to have a single very large buffer for audio and one for video, so this will always happen as the download thread will have to push an EOS right after fetching the first buffer for any stream. API: gst_data_queue_push_force https://bugzilla.gnome.org/show_bug.cgi?id=705694 2013-08-13 13:06:50 +0200 Sebastian Dröge * gst/gstallocator.c: sysmem: Only copy the requested part of memory instead of the complete source memory https://bugzilla.gnome.org/show_bug.cgi?id=705678 2013-08-13 12:11:19 +0100 Tim-Philipp Müller * gst/gstquery.c: * win32/common/libgstreamer.def: query: add Since markers for new API and add to exports file 2013-07-23 16:25:27 +0200 Andoni Morales Alastruey * gst/gstquery.c: query: fix annotation for gst_query_parse_uri 2013-04-19 12:14:54 +0200 Andoni Morales Alastruey * gst/gstquark.c: * gst/gstquark.h: * gst/gstquery.c: * gst/gstquery.h: query: add new redirection uri the URI query 2013-08-12 09:25:34 -0300 Thiago Santos * gst/gstquery.c: 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. 2013-08-08 12:08:31 +0200 Nicolas Dufresne * libs/gst/base/gstbytereader.c: bytereader: Accelerate MPEG/H264 start code scanning Accelerate MPEG/H264 start code scanning using Boyer-Moor bad character heuristic. https://bugzilla.gnome.org/show_bug.cgi?id=702357 2013-08-10 11:31:23 +0100 Tim-Philipp Müller * gst/gstpipeline.c: pipeline: g-i: allow clock to be NULL in gst_pipeline_use_clock() https://bugzilla.gnome.org/show_bug.cgi?id=705751 2013-08-07 14:17:28 -0300 Adrian Pardini * libs/gst/controller/gstdirectcontrolbinding.c: 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-02 13:31:59 +0200 Lubosz Sarnecki * configure.ac: build: add subdir-objects to AM_INIT_AUTOMAKE Fixes warnings with automake 1.14 https://bugzilla.gnome.org/show_bug.cgi?id=705350 2013-08-02 16:21:45 +0200 Wim Taymans * docs/design/part-gstpipeline.txt: design: fix typo 2013-07-29 15:48:32 +0200 Sjoerd Simons * plugins/elements/gstqueue2.c: queue2: Fix backwards seeks into undowloaded ranges When in download buffering mode queue2 didn't check if a range offset is in a undownloaded range before the currently in-progress range. Causing seeks to an earlier offset to, well, take a while. 2013-07-30 19:27:23 +0200 Kjartan Maraas * gst/gstutils.c: * libs/gst/check/gsttestclock.c: docs: some small gtk-doc markup fixes https://bugzilla.gnome.org/show_bug.cgi?id=705156 2013-07-30 19:27:23 +0200 Kjartan Maraas * gst/gst.c: gst: register new color mode enum, fixing 'make check' https://bugzilla.gnome.org/show_bug.cgi?id=705156 2013-04-16 19:04:48 +0200 Edward Hervey * libs/gst/base/gsttypefindhelper.c: typefindhelper: Avoid using buffer_get_size in tight loops Calling gst_buffer_get_size represented 2/3 of the cost of helper_find_peek which was called whenever a typefindfunction wanted to peek at data. We already know the size (from the GstMapInfo), so just use that. 2013-07-29 19:38:51 +0100 Tim-Philipp Müller * po/LINGUAS: * po/bg.po: * po/cs.po: * po/de.po: * po/el.po: * po/fr.po: * po/gl.po: * po/hr.po: * po/hu.po: * po/id.po: * po/it.po: * po/lt.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ru.po: * po/sl.po: * po/sv.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: po: update translations 2013-07-29 19:13:03 +0100 Tim-Philipp Müller * common: common: revert accidental re-winding of common submodule 2013-07-26 16:15:24 +0200 Sjoerd Simons * gst/gstquery.c: query: Clarify the estimated-total documentation Tweak the documentation slightly to clarify that the estimated-total in a a Buffering query the total remaining time of a download, not the total time for the complete download. Also indicate the unit used. https://bugzilla.gnome.org/show_bug.cgi?id=704934 2013-07-26 15:08:13 +0200 Sjoerd Simons * plugins/elements/gstqueue2.c: queue2: Forward the schedule query upstream When asked about the scheduling flags first check with upstream and simply add the _SEEKABLE flag when using a temporary file as storage. This enables the forwarding of _SEQUENTIAL and _BANDWIDTH_LIMITED from sources if needed. https://bugzilla.gnome.org/show_bug.cgi?id=704927 2013-07-29 14:47:15 +0200 Sebastian Dröge * configure.ac: Back to development === release 1.1.3 === 2013-07-29 13:34:53 +0200 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * common: * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * gstreamer.doap: * win32/common/config.h: * win32/common/gstenumtypes.c: * win32/common/gstenumtypes.h: * win32/common/gstversion.h: Release 1.1.3 2013-07-29 13:30:25 +0200 Sebastian Dröge * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files 2013-07-29 12:10:45 +0200 Sebastian Dröge * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: base: Fix handling of SEGMENT query The values should be in stream-time, and start/stop should not be swapped for negative rates. 2013-07-29 11:05:09 +0200 Sebastian Dröge * plugins/elements/gsttypefindelement.c: typefind: Only advance offset by the number of bytes we actually read There might be a short read at EOS. 2013-07-29 10:48:30 +0200 Sebastian Dröge * libs/gst/base/gstbaseparse.c: baseparse: Implement SEGMENT query 2013-07-26 18:36:04 +0100 Tim-Philipp Müller * gst/gstbuffer.c: buffer: fix Since: marker for new gst_buffer_extract_dup() 2013-07-26 12:19:32 +0200 Wim Taymans * gst/gstclock.c: clock: debug the clock return values 2013-07-25 12:20:14 -0300 Thiago Santos * libs/gst/base/gstbaseparse.c: baseparse: fix seqnum handling for seeks Use the same seqnum as the seek for flushes/segments that are caused by the seek. Also do the same for segment events Fixes #676242 2013-07-24 10:29:30 -0700 David Schleef * gst/gstinfo.c: info: parse debug levels > 9 2013-07-24 16:57:46 +0200 Sebastian Dröge * gst/gstvalue.c: value: Fix copy&paste mistakes in the bitmask function docs 2013-07-24 11:21:27 +0200 Sebastian Dröge * libs/gst/base/gstbasesink.c: basesink: Don't shadow variables that are set inside our scope and then used outside our scope Fixes uninitialized use of these variables. 2013-07-24 10:30:25 +0200 Sebastian Dröge * tests/check/gst/struct_arm.h: * tests/check/gst/struct_hppa.h: * tests/check/gst/struct_i386.h: * tests/check/gst/struct_i386w.h: * tests/check/gst/struct_ppc32.h: * tests/check/gst/struct_ppc64.h: * tests/check/gst/struct_sparc.h: * tests/check/gst/struct_x86_64.h: tests: Remove other interface structs from the ABI tests too 2010-10-15 13:16:59 -0300 Thiago Santos * tests/check/gst/struct_arm.h: * tests/check/gst/struct_hppa.h: * tests/check/gst/struct_i386.h: * tests/check/gst/struct_i386w.h: * tests/check/gst/struct_ppc32.h: * tests/check/gst/struct_ppc64.h: * tests/check/gst/struct_sparc.h: * tests/check/gst/struct_x86_64.h: tests: Remove GstTagSetter from ABI checks Interfaces can have new members added without breaking ABI, so remove it from the check. https://bugzilla.gnome.org/show_bug.cgi?id=623799 2013-07-23 15:39:53 -0400 Thibault Saunier * libs/gst/check/libcheck/check_print.c: libcheck: Escape strings in the generated xml files This is copy pasted from upstream libcheck 2013-07-23 18:53:44 +0200 Sebastian Dröge * libs/gst/base/gstbasesink.c: basesink: Print some debug output if a stream-start event without group-id arrives Ideally all elements would implement handling of that to get proper stream-start message handling and other things. 2013-07-22 18:03:01 +0200 Arnaud Vrac * plugins/elements/gstinputselector.c: input-selector: Fix missing pad activation notification A new active pad might not be notified in some cases, which results in the current track number not being set in playbin. The active-pad notification is only sent in the chain and sink_event functions, and only when the buffer or event that triggered the active pad selection is from the newly activated pad. So in the other case the notification will never be sent. https://bugzilla.gnome.org/show_bug.cgi?id=704691 2013-07-22 17:25:47 +0100 Tim-Philipp Müller * gst/gstvalue.c: value: handle deserialisation of nonexistant enum value more gracefully 2013-07-22 14:12:18 +0200 Sebastian Dröge * plugins/elements/gstinputselector.c: * plugins/elements/gstinputselector.h: inputselector: Don't push new stream-start events on stream change unless they all have group ids https://bugzilla.gnome.org/show_bug.cgi?id=704408 2013-07-22 12:06:29 +0200 Sebastian Dröge * plugins/elements/gsttypefindelement.c: typefind: Use new group-id in stream-start event 2013-07-22 12:06:08 +0200 Sebastian Dröge * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: base: Use new group-id field in stream-start event and message 2013-07-22 11:42:18 +0200 Sebastian Dröge * gst/gstbin.c: bin: Use the new group-id field of the stream-start message for stream-start message aggregation If all stream-start messages had a group id (for backwards compatibility), we only consider a stream started if all had the same group id. In 2.0 we should make the group id mandatory. 2013-07-22 11:41:35 +0200 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gstevent.c: * gst/gstevent.h: * gst/gstmessage.c: * gst/gstmessage.h: * gst/gstquark.c: * gst/gstquark.h: * gst/gstutils.c: * gst/gstutils.h: * win32/common/libgstreamer.def: gst: Add new group-id field to the stream-start event All streams that have the same group id are supposed to be played together, i.e. all streams inside a container file should have the same group id but different stream ids. The group id should change each time the stream is started, resulting in different group ids each time a file is played for example. 2013-07-18 23:29:49 +0100 Tim-Philipp Müller * common: common: revert accidental change of common submodule 2013-07-18 14:39:42 +0200 Sebastian Dröge * gst/gstcaps.c: * gst/gstmessage.c: * gst/gstmessage.h: gst: Add some more Since: 1.2 2013-07-18 14:34:31 +0200 Sebastian Dröge * gst/gstinfo.c: info: Add some Since: 1.2 2013-07-18 15:10:10 +0400 Руслан Ижбулатов * common: * docs/gst/gstreamer-sections.txt: * docs/gst/running.xml: * docs/manual/appendix-checklist.xml: * gst/gst.c: * gst/gstinfo.c: * gst/gstinfo.h: * tools/gst-launch.1.in: * tools/gst-plot-timeline.py: * win32/common/libgstreamer.def: info: Add debug color mode option This allows to explicitely set the debug output color mode to UNIX on every platform, enable it (use platform default color mode) or enable it. https://bugzilla.gnome.org/show_bug.cgi?id=674320 2012-04-18 14:35:32 +0400 Руслан Ижбулатов * gst/gstinfo.c: info: Fix black and underline coloring on W32 Fixes #674320 2012-04-18 14:12:16 +0400 Руслан Ижбулатов * gst/gstinfo.c: info: Cut down src file names for MinGW too Fixes #674320 2013-07-16 17:47:45 +0200 Nicola Murino * scripts/gst-uninstalled: gst-uninstalled: Fix gst-plugins-gl in uninstalled setup https://bugzilla.gnome.org/show_bug.cgi?id=703499 2013-07-16 15:35:08 -0400 Olivier Crête * libs/gst/base/gstadapter.c: * tests/check/libs/adapter.c: adapter: Take account of the skip in gst_adapter_take_buffer_fast() Include regression test 2013-07-15 15:41:44 -0400 Olivier Crête * libs/gst/base/gstadapter.c: * libs/gst/base/gstadapter.h: * tests/check/libs/adapter.c: * win32/common/libgstbase.def: adapter: Add function to return buffer composed of multiple memories API: gst_adapter_take_fast() 2013-07-16 16:24:38 +0200 Sebastian Dröge * gst/gstquery.c: query: Don't assert if no context is set in the query 2013-07-16 14:47:05 +0100 Tim-Philipp Müller * tests/benchmarks/.gitignore: benchmarks: ignore new benchmark binary 2013-07-16 14:46:15 +0100 Tim-Philipp Müller * gst/gstquery.c: * gst/gstquery.h: query: sprinkle some Since 1.2 markers in docs 2013-07-16 14:44:03 +0100 Tim-Philipp Müller * libs/gst/net/gstnettimeprovider.c: timeprovider: g-i: allow None as address for gst_net_time_provider_new() 2013-07-16 15:34:57 +0200 Sebastian Dröge * gst/gstelement.c: element: Return an empty GstContext if none was set yet 2013-07-16 15:16:16 +0200 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gstquery.c: * gst/gstquery.h: * win32/common/libgstreamer.def: query: Add gst_query_has_context_type() 2013-07-16 11:36:50 +0200 Sebastian Dröge * plugins/elements/gstmultiqueue.c: multiqueue: only block serialized query when it's safe We must be certain that we don't cause a deadlock when blocking the serialized queries. One such deadlock can happen when we are buffering and downstream is blocked in preroll and a serialized query arrives. Downstream will not unblock (and allow our query to execute) until we complete buffering and buffering will not complete until we can answer the query.. https://bugzilla.gnome.org/show_bug.cgi?id=702840 2013-07-15 11:36:18 +0200 Sebastian Dröge * gst/gstpad.c: pad: A newly activated pad should be marked as needing reconfiguration 2013-07-15 11:32:54 +0200 Sebastian Dröge * gst/gstpad.c: Revert "pad: Don't consider flushing pads as needing reconfiguration" This reverts commit 948a9d2f2b728f5fb60be45d47a818cebeb60c7d. This is racy and trying to reconfigure and fail is still better than not trying to reconfigure at all. https://bugzilla.gnome.org/show_bug.cgi?id=704100 2013-07-15 11:32:10 +0200 Sebastian Dröge * libs/gst/base/gstbasesrc.c: basesrc: Leave the loop function faster if we're flushing Especially don't even try to send stream-start event or try to negotiate. https://bugzilla.gnome.org/show_bug.cgi?id=704100 2013-07-12 10:08:26 +0200 Sebastian Dröge * plugins/elements/gstinputselector.c: inputselector: Deactivate and remove pad without the inputselector lock Otherwise we might get deadlocks caused by lock order inversion: During the chain function the stream lock is first locked and then the inputselector lock. During pad release we first locked the inputselector lock and then deactivating the pad would lock the stream lock. There's no reason why the inputselector lock should be required while deactivating and removing the pad, it's only needed before. https://bugzilla.gnome.org/show_bug.cgi?id=704002 2013-07-11 16:57:06 +0200 Sebastian Dröge * configure.ac: Back to development === release 1.1.2 === 2013-07-11 15:12:39 +0200 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * gstreamer.doap: * win32/common/config.h: * win32/common/gstversion.h: Release 1.1.2 2013-07-11 15:11:27 +0200 Sebastian Dröge * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files 2013-07-10 15:52:10 +0200 Sebastian Dröge * gst/gstbin.c: bin: Always forward clock-lost message if we're not a top-level bin This makes sure that no bin misses the clock-lost messages, independent of the state, and could return an old, non-working clock from gst_bin_provide_clock_func(). https://bugzilla.gnome.org/show_bug.cgi?id=701997 2013-07-10 14:30:31 +0200 Sebastian Dröge * plugins/elements/gstinputselector.c: inputselector: Keep previous active sinkpad around until we're done with it Otherwise we'll send a new segment event downstream for each buffer. 2013-07-08 15:26:38 +0100 Tim-Philipp Müller * gst/gstallocator.c: 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-05 21:36:27 +0200 Piotr Drąg * po/POTFILES.in: po: update POTFILES.in https://bugzilla.gnome.org/show_bug.cgi?id=703682 2013-07-04 20:39:26 -0400 Thibault Saunier * libs/gst/base/gstbasesrc.c: basesrc: Do not lock a mutex that does not exist The GST_LIVE_LOCK is on GstBaseSrc, not on its source pad. 2013-07-03 21:23:44 +0200 Wim Taymans * libs/gst/base/gstbaseparse.c: baseparse: reset PTS after seek Fixes https://bugzilla.gnome.org/show_bug.cgi?id=702778 2013-07-03 13:03:49 -0400 Nicolas Dufresne * gst/gstallocator.c: * gst/gstevent.c: * gst/gstghostpad.c: * gst/gstinfo.h: * gst/gstmessage.c: * gst/gstminiobject.c: * gst/gstpad.c: * gst/gstplugin.c: * gst/gsttaglist.c: * gst/gsttypefind.c: * gst/gstutils.c: * libs/gst/base/gstcollectpads.c: * libs/gst/base/gsttypefindhelper.c: * libs/gst/base/gsttypefindhelper.h: Add few missing allow-none annotation 2013-07-03 09:27:13 +0100 Tim-Philipp Müller * scripts/gst-uninstalled: gst-uninstalled: add new -bad mpegts lib And remove signalprocessor/video libs from -bad which have gone away or were merged into -base. 2013-07-01 20:35:21 -0400 Olivier Crête * plugins/elements/gstfunnel.c: * plugins/elements/gstfunnel.h: * tests/check/elements/funnel.c: funnel: Re-push all sticky events when buffers come from a different pad Don't special case segment/caps, just push all sticky events when they are received on the currently active pad or when the active pad changes. 2013-07-01 20:21:10 -0400 Olivier Crête * plugins/elements/gstfunnel.c: funnel: Use default pad function for upstream event/queries The default functions in 1.x already do the right thing 2013-07-01 20:18:58 -0400 Olivier Crête * tests/check/elements/funnel.c: tests: Remove funnel pad_alloc test 2013-07-01 20:07:03 -0400 Olivier Crête * libs/gst/check/gstcheck.h: check: Change stream_id parameter name to match GtkDoc 2013-07-01 11:10:00 +0200 Jonas Holmberg * docs/libs/gstreamer-libs-sections.txt: * libs/gst/check/Makefile.am: * libs/gst/check/gstcheck.c: * libs/gst/check/gstcheck.h: * tests/check/elements/funnel.c: check: Added gst_check_setup_events_with_stream_id() Added a new function gst_check_setup_events_with_stream_id(), since gst_check_setup_events() does not work with multiple pads. https://bugzilla.gnome.org/show_bug.cgi?id=703377 2013-06-30 18:39:03 +0200 Sebastian Dröge * gst/gstpad.c: pad: Don't consider flushing pads as needing reconfiguration Renegotiation and reconfiguration will fail because all queries and events won't be accepted by the pad if it's flushing. In the best case this just causes unneeded work and spurious warnings in the debug logs, in the worst case it causes elements to fail completely. 2013-06-24 23:25:51 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2: only block serialized query when it's safe We must be certain that we don't cause a deadlock when blocking the serialized queries. One such deadlock can happen when we are buffering and downstream is blocked in preroll and a serialized query arrives. Downstream will not unblock (and allow our query to execute) until we complete buffering and buffering will not complete until we can answer the query.. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=702840 2013-06-19 12:30:47 +0200 Sjoerd Simons * gst/gstpad.c: pad: Add a filter to the caps_query done by acceptcaps Use the caps that the pad is asked to accept as filter for the query https://bugzilla.gnome.org/show_bug.cgi?id=702632 2013-06-19 12:19:02 +0200 Sjoerd Simons * libs/gst/base/gstbasetransform.c: basetransform: optimize default acceptcaps implementation Pass the fixed caps we're asked to accept as a filter for the caps query, so we don't get a fully-expanded set of caps back (which we don't need and can take a lot of time for intersection). This reduces the time for camerabin to produce a second frame on a logitech C910 camera from around 52 seconds to a bit less then 16 seconds on my system. https://bugzilla.gnome.org/show_bug.cgi?id=702632 2013-06-19 09:19:53 +0200 Edward Hervey * gst/gsttaglist.c: taglist: Avoid combinatorial explosion when merging tags When appending/prepending tags, avoid re-creating (and copying) lists if we already have one and instead just append/prepend the GValue to the list. https://bugzilla.gnome.org/show_bug.cgi?id=702545 2013-06-19 10:53:21 +0200 Sebastian Dröge * plugins/elements/gstqueue.c: queue: Don't hold the queue mutex while doing serialized queries downstream https://bugzilla.gnome.org/show_bug.cgi?id=702520 2013-06-19 10:45:45 +0200 Sebastian Dröge * tests/check/gst/gstbuffer.c: buffer: Add unit test for map_range() https://bugzilla.gnome.org/show_bug.cgi?id=702617 2013-06-19 08:36:22 +0200 Paul HENRYS * gst/gstbuffer.c: buffer: Fix wrong size/index handling when merging memory https://bugzilla.gnome.org/show_bug.cgi?id=702617 2013-06-18 11:39:55 +0200 Stefan Sauer * docs/list-ulink.xsl: docs: add missing file for doc-link check 2013-06-17 11:12:51 +0200 Wim Taymans * tests/benchmarks/Makefile.am: * tests/benchmarks/gstpoolstress.c: tests: add stress test for buffers and pools 2013-06-17 10:25:20 +0200 Wim Taymans * libs/gst/base/gstbasesink.c: 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-06-16 15:07:35 +0200 Stefan Sauer * docs/faq/dependencies.xml: * docs/manual/appendix-integration.xml: * docs/manual/basics-pads.xml: * docs/manual/intro-motivation.xml: docs: fix some external links 2013-06-16 14:45:08 +0200 Stefan Sauer * docs/manuals.mak: docs: check for broken links in docs The check is done using curl (if available). It lists the curl exit code + http status code (for those > 399) together with the use of the url in the code. The check is not fatal. 2013-06-16 13:05:21 +0200 Stefan Sauer * docs/manual/basics-elements.xml: * docs/pwg/intro-preface.xml: docs: change https to http urls Thank you browser for needlessly changing to https for static doc pages. 2013-06-16 11:41:52 +0200 Stefan Sauer * docs/faq/developing.xml: * docs/manual/basics-elements.xml: * docs/manual/basics-init.xml: * docs/pwg/intro-preface.xml: docs: update links to developer.gnome.org The URL layout has changed. Fix the links and comment out one paragraph where the doc is gone. Fixes #702135 2013-06-14 13:05:38 +0200 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gststructure.c: * gst/gststructure.h: * win32/common/libgstreamer.def: structure: Add gst_structure_new_from_string() Convenience API for bindings, gst_structure_from_string() returns a tuple (structure, end_ptr) in bindings and is unintuitive to use because of that. 2013-06-13 08:36:23 +0200 Hans de Goede * gst/gst.c: gst: Don't intercept --help in gst_init() Before this patch gst_init would intercept --help, causing for example cheese's --help to look like this: [hans@shalem cheese]$ cheese --help Usage: cheese [OPTION...] - GStreamer initialization Help Options: -h, --help Show help options --help-all Show all help options --help-gst Show GStreamer Options gst_init is the only gfoo_init function which does this. https://bugzilla.gnome.org/show_bug.cgi?id=702089 2013-06-12 09:45:56 +0100 Tim-Philipp Müller * scripts/gst-uninstalled: gst-uninstalled: add uridownloader lib in -bad to search paths Even if it might not be around for long. 2013-06-11 10:25:02 +0200 Sebastian Dröge * tools/gst-launch.c: gst-launch: Remove unref that should not be there We keep a reference to the context around all the time. https://bugzilla.gnome.org/show_bug.cgi?id=701985 2013-06-09 17:20:22 +0200 Sebastian Dröge * tools/gst-launch.c: gst-launch: Improve GstContext handling https://bugzilla.gnome.org/show_bug.cgi?id=700967 2013-06-07 13:07:37 +0200 Kim Lam * win32/vs10/base/base.vcxproj: win32: Don't include gstcollectpads.c twice https://bugzilla.gnome.org/show_bug.cgi?id=701603 2013-05-31 09:39:55 -0600 Brendan Long * plugins/elements/gstinputselector.c: input-selector: send notify::active signal for input-selector pads. https://bugzilla.gnome.org/show_bug.cgi?id=701319 2013-06-06 16:46:12 +0200 Sebastian Dröge * libs/gst/base/gstbasesrc.c: basesrc: Only force-update the duration for dynamic sources when doing the DURATION query Doing it after every single create() is not very efficient and not necessary. Especially on network file systems fstat() is not cached and causes network traffic, making the source possibly unusable slow. https://bugzilla.gnome.org/show_bug.cgi?id=652037 2013-06-05 18:36:40 +0200 Sebastian Dröge * configure.ac: Back to development === release 1.1.1 === 2013-06-05 17:58:51 +0200 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * common: * configure.ac: * docs/plugins/gstreamer-plugins.args: * docs/plugins/gstreamer-plugins.hierarchy: * docs/plugins/inspect/plugin-coreelements.xml: * gstreamer.doap: * win32/common/config.h: * win32/common/gstenumtypes.c: * win32/common/gstenumtypes.h: * win32/common/gstversion.h: Release 1.1.1 2013-06-05 16:06:35 +0200 Sebastian Dröge * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files 2013-06-05 15:14:14 +0200 Sebastian Dröge * common: Automatic update of common submodule From 098c0d7 to 01a7a46 2013-06-05 11:02:50 +0200 Edward Hervey * gst/gstbufferpool.c: * gst/gstvalue.c: * gst/gstvalue.h: * win32/common/libgstreamer.def: gstvalue: Add _append_and_take_value() public variants API: gst_value_array_append_and_take_value API: gst_value_list_append_and_take_value We were already using this internally, this makes it public for code which frequently appends values which are expensive to copy (like structures, arrays, caps, ...). Avoids copies of the values for users. The passed GValue will also be 0-memset'ed for re-use. New users can replace this kind of code: gst_value_*_append_value(mycontainer, &myvalue); g_value_unset(&myvalue); by: gst_value_*_append_and_take_value(mycontainer, &myvalue); https://bugzilla.gnome.org/show_bug.cgi?id=701632 2013-05-29 17:20:34 +0200 Edward Hervey * gst/gstbuffer.c: gstbuffer: Use internal function for buffer_new_wrapped Shaves ~10% instruction calls from the total cost https://bugzilla.gnome.org/show_bug.cgi?id=701633 2013-05-30 22:57:49 -0600 Brendan Long * plugins/elements/gstinputselector.c: input-selector: return FALSE for "active" property if selector is NULL https://bugzilla.gnome.org/show_bug.cgi?id=701323 2013-06-01 14:00:22 +0100 Andrzej Bieniek * docs/manual/advanced-threads.xml: manual: update elements to match the rest of "Boost priority of a thread" section 2013-06-01 13:55:50 +0100 Andrzej Bieniek * docs/manual/advanced-dataaccess.xml: manual: fix comment in effectswitch example 2013-06-01 13:49:18 +0100 Andrzej Bieniek * docs/manual/advanced-dataaccess.xml: manual: fix a typo in "Inserting data with appsrc" section 2013-06-01 13:22:22 +0100 Andrzej Bieniek * docs/pwg/advanced-dparams.xml: * docs/pwg/advanced-qos.xml: * docs/pwg/appendix-checklist.xml: pwg: fix a few typos 2013-05-31 23:37:07 +0100 Andrzej Bieniek * docs/pwg/advanced-allocation.xml: * docs/pwg/building-boiler.xml: * docs/random/porting-to-1.0.txt: docs: remove double "the" 2013-05-28 23:34:54 +0100 Krzysztof Konopko * scripts/git-update.sh: scripts: improve git-update.sh status message By default when the script is about to exit (normally or due to an error), it checks whether $ERROR_LOG file exists. If the log file exists, the script prints a "Failures: " message prefix and dumps the log file to the output. Apparently the log file is always created and if the update/build is successful, the script finishes with a bit misleading "Failures: " message. An improvement provided with this change lets the log file to be created as needed, i.e. if there's an error message to be printed. If the file doesn't exists, the script prints a "Update done" message which clearly indicates success. https://bugzilla.gnome.org/show_bug.cgi?id=701177 2013-05-30 07:03:40 +0200 Wim Taymans * tests/check/generic/sinks.c: check: fix position unit test 2013-05-30 06:51:24 +0200 Wim Taymans * libs/gst/base/gstbasesink.c: 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-29 11:36:38 +0200 Sebastian Dröge * tests/check/gst/gstpad.c: pad: Fix memory leak in the unit test 2013-05-28 12:44:19 +0200 Sebastian Dröge * gst/gstelementfactory.c: elementfactory: Add support for checking subtitle/metadata factory types 2013-05-28 12:41:27 +0200 Sebastian Dröge * gst/gstelementfactory.c: elementfactory: Add support for checking only the media type of a factory And while at it also add Metadata and Subtitle media types. 2013-05-27 16:38:18 +0200 Sebastian Dröge * plugins/elements/gstmultiqueue.c: * plugins/elements/gstqueue.c: (multi)queue: Don't access query items during flushing 2013-05-27 16:22:00 +0200 Sebastian Dröge * plugins/elements/gstmultiqueue.c: multiqueue: Don't do serialized queries when we're flushing Just immediately fail the query, otherwise we would wait forever for the query to be answered. 2013-05-27 16:08:39 +0200 Sebastian Dröge * plugins/elements/gstqueue2.c: queue2: First set query result, then signal GCond 2013-05-27 15:59:07 +0200 Sebastian Dröge * plugins/elements/gstqueue.c: * plugins/elements/gstqueue.h: queue: Fix handling of serialized queries During FLUSH_START the query needs to be unblocked already, otherwise it can lead to deadlocks if the FLUSH_START is the result of something done from the streaming thread of the srcpad (the queue will never be emptied!). 2013-05-27 15:41:14 +0200 Sebastian Dröge * plugins/elements/gstqueue2.c: queue2: Unblock any waiting serialize queries on FLUSH_START Fixes some deadlocks during flushing. And store queue items differently to not accidentially read already unreffed queries when flushing. Queries are owned by upstream and not us. 2013-05-27 13:01:43 +0200 Sebastian Dröge * plugins/elements/gstmultiqueue.c: * plugins/elements/gstqueue.c: * plugins/elements/gstqueue2.c: queue/queue2/multiqueue: When flushing, make sure to not lose any sticky events https://bugzilla.gnome.org/show_bug.cgi?id=688824 2013-05-27 12:40:50 +0200 Sebastian Dröge * gst/gstpad.c: pad: Store sticky events even if the pad is flushing But do this only for events that are not dropped by flushing, i.e. do it only for everything except SEGMENT and EOS. Without this we might drop a CAPS event if flushing happens at an unfortunate time and nobody is resending the CAPS event. https://bugzilla.gnome.org/show_bug.cgi?id=700806 2013-05-25 22:03:53 -0400 Nicolas Dufresne * plugins/elements/gstvalve.c: valve: Don't read sticky flag from unrefed event 2013-05-24 23:28:04 +0100 Tim-Philipp Müller * plugins/elements/gsttee.c: tee: fix property description for now-unused "alloc-pad" property Should probably proxy ALLOCATION queries on that though, if set. But what else? CAPS and ACCEPT_CAPS too? 2013-05-24 23:01:09 +0100 Tim-Philipp Müller * libs/gst/base/gstbasetransform.c: basetransform: remove 0.10-ism from docs gst_buffer_pad_alloc() never existed, and gst_pad_alloc_buffer() doesn't exist any more either, so don't mention it in the docs. https://bugzilla.gnome.org/show_bug.cgi?id=694714 2013-05-24 19:22:22 +0200 Sebastian Dröge * plugins/elements/gstqueue2.c: * plugins/elements/gstqueue2.h: queue2: Add support for serialized queries if using a memory queue 2013-05-24 18:47:24 +0200 Sebastian Dröge * plugins/elements/gstqueue.c: queue: Set the last serialized query result to FALSE when flushing 2013-05-24 18:42:55 +0200 Sebastian Dröge * plugins/elements/gstmultiqueue.c: multiqueue: Initialize all GstMultiQueueItem fields in both code paths 2013-05-24 18:38:40 +0200 Sebastian Dröge * plugins/elements/gstmultiqueue.c: multiqueue: Don't access the query after signalling the waiting thread It might've free'd the query already. 2013-05-24 18:30:44 +0200 Sebastian Dröge * plugins/elements/gstmultiqueue.c: multiqueue: Make sure to always signal any possible pending serialized queries And don't unref them when flushing the queue, they're owned by the caller! https://bugzilla.gnome.org/show_bug.cgi?id=700342 2013-05-24 14:37:19 +0200 Sebastian Dröge * libs/gst/base/gstbasetransform.c: basetransform: Return GST_FLOW_ERROR if the allocator did not allow to allocate a buffer 2013-05-24 16:24:10 +0900 Olivier Crête * docs/manual/appendix-integration.xml: docs: Remove mention of gconf* elements Instead recommend pulsesrc/sink for audio, there is nothing GNOME specific for video. 2013-05-15 13:22:04 +0200 Sebastian Dröge * plugins/elements/gsttypefindelement.c: typefind: Handle the force-caps property more similar to all typefinding code flow This makes sure that events happen in order and simplifies the code a bit. 2013-05-15 11:21:46 +0200 Sebastian Dröge * libs/gst/check/gstcheck.c: check: Fix event handling in gst_check_element_push_buffer_list() 2013-05-15 10:51:01 +0200 Sebastian Dröge * common: Automatic update of common submodule From 5edcd85 to 098c0d7 2013-05-10 16:03:34 +0200 Sebastian Dröge * gst/gstpad.c: pad: Only check if we get buffers before stream-start/segment if compiling without G_DISABLE_ASSERT In releases this is set usually. 2013-05-09 17:17:14 -0400 Nicolas Dufresne * docs/libs/gstreamer-libs-sections.txt: * libs/gst/check/Makefile.am: * libs/gst/check/gstcheck.c: * libs/gst/check/gstcheck.h: check: Add helper that sends initial events https://bugzilla.gnome.org/show_bug.cgi?id=700033 2013-05-09 17:22:16 +0200 Sebastian Dröge * gst/gstpad.c: pad: Fix uninitialized variable compiler warning 2013-05-09 17:21:13 +0200 Sebastian Dröge * gst/gstpad.c: pad: Make sure pending, older sticky events are sent downstream in dynamic linking scenarios If a pad block was triggered from sending a sticky event downstream, it could happen that the pad block is relinking pads, which then requires to resend previous sticky events. 2013-05-09 13:32:07 +0200 Sebastian Dröge * tests/check/elements/fakesink.c: * tests/check/elements/filesink.c: * tests/check/elements/funnel.c: * tests/check/elements/identity.c: * tests/check/elements/multiqueue.c: * tests/check/elements/queue.c: * tests/check/elements/queue2.c: * tests/check/elements/selector.c: * tests/check/elements/tee.c: * tests/check/generic/sinks.c: * tests/check/gst/gstghostpad.c: * tests/check/gst/gstpad.c: * tests/check/libs/collectpads.c: tests: Fix event order warnings and dataflow before stream-start/segment event 2013-05-09 13:31:38 +0200 Sebastian Dröge * tests/check/libs/test_transform.c: * tests/check/libs/transform1.c: basetransform: Properly port unit test to actually use caps and check results 2013-05-09 12:50:20 +0200 Sebastian Dröge * plugins/elements/gstqueue.c: queue: Store sticky events on the srcpad if we're dropping them because of leaking 2013-05-09 12:27:12 +0200 Sebastian Dröge * plugins/elements/gstoutputselector.c: outputselector: Always forward sticky events to all pads 2013-05-09 12:15:48 +0200 Sebastian Dröge * plugins/elements/gstinputselector.c: inputselector: Forward all sticky events, including stream-start 2013-05-09 11:05:50 +0200 Sebastian Dröge * gst/gstpad.c: pad: Warn if data flow happens before stream-start or segment event 2013-05-09 10:59:41 +0200 Sebastian Dröge * gst/gstpad.c: pad: Only let gst_pad_sticky_events_foreach() iterate over existing events 2013-05-09 10:29:11 +0200 Sebastian Dröge * gst/gstpad.c: pad: If we push sticky events because of another sticky event, only push those that come before the new event https://bugzilla.gnome.org/show_bug.cgi?id=699937 2013-05-09 09:50:41 +0200 Sebastian Dröge * plugins/elements/gstcapsfilter.c: capsfilter: Add more debug output and forward caps events immediately too 2013-05-09 09:42:33 +0200 Sebastian Dröge * gst/gstpad.c: pad: No sticky events must arrive after EOS 2013-05-09 09:38:35 +0200 Sebastian Dröge * plugins/elements/gstcapsfilter.c: capsfilter: Fix typo in last commit 2013-05-08 19:44:09 -0400 Nicolas Dufresne * gst/gstpad.c: pad: Improve warning message naming events type name With this patch, message should look like ¨Sticky event misordering, got 'caps' before 'stream-start'¨ making it faster to debug. https://bugzilla.gnome.org/show_bug.cgi?id=688188 2013-05-08 18:19:48 -0400 Nicolas Dufresne * gst/gstpad.c: pad: Only inforce STREAM_START, CAPS and SEGMENT ordering Previous patch was inforcing a complete ordering of the sticky events, while in fact, only STREAM_START, CAPS and SEGMENT events need proper ordering. See: https://bugzilla.gnome.org/show_bug.cgi?id=688188 2013-05-09 09:32:49 +0200 Sebastian Dröge * plugins/elements/gstcapsfilter.c: * plugins/elements/gstcapsfilter.h: capsfilter: Send all events that should happen after CAPS after the CAPS event 2013-05-08 21:45:08 -0400 Nicolas Dufresne * plugins/elements/gstcapsfilter.c: * plugins/elements/gstcapsfilter.h: capsfilter: Send caps before segment In the case the source has no caps, caps must be sent before segment. This fixes few unit tests that where failing due to the new misordering warning. https://bugzilla.gnome.org/show_bug.cgi?id=699968 2013-05-07 21:53:37 -0400 Nicolas Dufresne * gst/gstpad.c: pad: Detect, fix and warn when sticky events are in wrong order We can prevent buggy element from causing other elements to fail or crash by sorting sticky event at insertion. In this case, we also warn as this is not supposed to happen. See: https://bugzilla.gnome.org/show_bug.cgi?id=688188 2013-05-08 10:26:15 +0100 Tim-Philipp Müller * tests/check/gst/gstbuffer.c: tests: add some basic checks for gst_buffer_fill() 2013-05-08 10:25:36 +0100 Tim-Philipp Müller * gst/gstbuffer.c: buffer: allow calling _fill() with a NULL data pointer if size is 0 bytes 2013-05-07 16:46:32 +0200 Sebastian Dröge * libs/gst/base/gstbasesrc.c: basesrc: Add FIXME comment for unused assignment results 2013-05-07 15:18:06 +0100 Tim-Philipp Müller * docs/manual/advanced-metadata.xml: docs: fix typo in metadata section in app dev manual There's no g_tag_list_get_xyz(). 2013-05-07 14:47:09 +0300 Sreerenj Balachandran * libs/gst/controller/gsttimedvaluecontrolsource.c: controller: Fix the function signature and a minor typo fix https://bugzilla.gnome.org/show_bug.cgi?id=699827 2013-05-06 18:47:44 -0400 Nicolas Dufresne * plugins/elements/gsttypefindelement.c: typefind: Send stream-start before anything else To do so, send stream-start when the streaming thread goes up for the first time. https://bugzilla.gnome.org/show_bug.cgi?id=699767 2012-12-26 11:54:51 +0000 David Rothlisberger * tools/gstreamer-completion: tools/gstreamer-completion: Allow 1.0 and 0.10 scripts installed simultaneously As long as the scripts' filenames are different, and the _gst_inspect and _gst_launch functions are named differently, the completion scripts for GStreamer 1.0 and 0.10 can be installed side-by-side in /etc/bash_completion.d. On my 0.10 branch† the completion script is renamed to "gstreamer-completion-0.10" and the functions are renamed to "_gst_inspect_0_10" and "_gst_launch_0_10". The remaining helper functions should remain identical (the command-line interface to gst-inspect hasn't changed, nor has the format of the gst-launch pipeline), so it doesn't matter if the 1.0 script overrides the 0.10 script's definitions. Note that I don't expect there to be another GStreamer 0.10 release, so the 0.10 completion script will probably never be officially released; but it is still worthwhile allowing both scripts to be installed alongside each other, for those who install the 0.10 completion script manually. Fixes: #690515 † https://github.com/drothlis/gstreamer/blob/bash-completion-0.10/tools/gstreamer-completion-0.10 2012-12-21 18:13:53 +0000 David Rothlisberger * tests/misc/test-gstreamer-completion.sh: * tools/gstreamer-completion: tools/gstreamer-completion: Complete option & property values on bash 3.2 Bash 3's completion doesn't split words by characters in COMP_WORDBREAKS. In particular it doesn't split at "=" signs. Now _gst_launch_parse handles both bash 3 and 4 format of COMP_WORDS. Note that "${cur%%=*}" means cur's value with the longest possible match of "=*" deleted from the end; "${cur#*=}" means cur's value with the shortest possible match of "*=" deleted from the beginning. See http://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html Regardless of the version of bash running the unit tests, I can test for both behaviours because the unit test populates COMP_WORDS manually. So this tests the bash 3 behaviour: test_gst_inspect_completion --gst-debug-level=4 and this tests the bash 4 behaviour: test_gst_inspect_completion --gst-debug-level = 4 2012-12-21 08:56:26 +0000 David Rothlisberger * tests/misc/test-gstreamer-completion.sh: * tools/gstreamer-completion: tools/gstreamer-completion: Bash 3.2 compatibility fixes Compatible with bash 3.2; doesn't require the bash-completion package at all (though the easiest way to install this script is still to install bash-completion, and then drop this script into /etc/bash_completion.d). Note that bash 3 doesn't break COMP_WORDS according to characters in COMP_WORDBREAKS, so "property=val" looks like a single word, so this won't complete property values (on bash 3). Similarly, "--gst-debug-level=" won't complete properly (on bash 3), but "--gst-debug-level " will. For that reason, I now offer "--gst-debug-level" etc as completions instead of "--gst-debug-level=". Functions "_init_completion" and "_parse_help" were provided by the bash-completion package >= 2.0; now I roll my own equivalent of "_parse_help", and instead of "_init_completion" I use "_get_comp_words_by_ref" which is available from bash-completion 1.2 onwards. If the bash-completion package isn't available at all I use bash's raw facilities, at the expense of not completing properly when the cursor is in the middle of a word. The builtin "compopt" doesn't exist in bash 3; those users will just have to live with the inconvenience of "property=" completing to "property= " with a trailing space. Property values aren't completed properly anyway on bash 3 (see above). "[[ -v var ]]" to test whether a variable is set, also doesn't exist in bash 3. Neither does ";;&" to fall through in a "case" statement. In the unit tests: * On my system (OS X), "#!/bin/bash" is bash 3.2, whereas "#!/usr/bin/env bash" is the 4.2 version I built myself. * I have to initialise array variables like "expected=()", or bash 3 treats "+=" as appending to an array already populated with one empty string. 2012-12-19 10:46:50 +0000 David Rothlisberger tools/gstreamer-completion: Support gst-inspect, and gst-launch element properties Completes options like "--gst-debug-level" and the values of some of those options; completes gst-launch pipeline element names, property names, and even property values (for enum or boolean properties only). Doesn't complete all caps specifications, nor element names specified earlier in the pipeline with "name=...". The GStreamer version number is hard-coded into the completion script: This patch is off the master branch and has the version hard-coded as "1.0"; it needs to be updated if backported to the 0.10 branch. You could always create a "gstreamer-completion.in" that has the appropriate version inserted by "configure", but I'd rather not do that. The hard-coded version is consistent with the previous implementation of gstreamer-completion, which had the registry path hard-coded as ~/.gstreamer-1.0/registry.xml. Note that GStreamer 0.10 installs "gst-inspect" and "gst-inspect-0.10". "gst-inspect --help" only prints 4 flags (--help, --print, --gst-mm, gst-list-mm) whereas "gst-inspect-0.10 --help-all" prints the full list of flags. The same applies to "gst-launch" and "gst-launch-0.10". GStreamer 1.0 only installs "gst-inspect-1.0", not "gst-inspect". Requires bash 4; only tested with bash 4.2. Requires "bash-completion" (which you install with your system's package manager). Put this in /etc/bash_completion.d/ or in `pkg-config --variable=compatdir bash-completion`, where it will be loaded at the beginning of every new terminal session; or in `pgk-config --variable=completionsdir bash-completion`, renamed to match the name of the command it completes (e.g. "gst-launch-1.0", with an additional symlink named "gst-inspect-1.0"), where it will be autoloaded when needed. test-gstreamer-completion.sh is (for now) in tests/misc -- it might be worth creating "tests/check/tools", with all the necessary automake boilerplate, and moving test-gstreamer-completion.sh there, and have it run automatically with "make check". IF YOU'RE NEW TO BASH COMPLETION SCRIPTS ---------------------------------------- "complete -F _gst_launch gst-launch-1.0" means that bash will run the function "_gst_launch" to generate possible completions for the command "gst-launch-1.0". "_gst_launch" must return the possible completions in the array variable COMPREPLY. (Note on bash syntax: "V=(a b c)" assigns three elements to the array "V"). "compgen" prints a list of possible completions to standard output. Try it: compgen -W "abc1 abc2 def" -- "a" compgen -f -- "/" The last argument is the word currently being completed; compgen uses it to filter out the non-matching completions. We put "--" first, in case the word currently being completed starts with "-" or "--", so that it isn't treated as a flag to compgen. For the documentation of COMP_WORDS, COMP_CWORD, etc see http://www.gnu.org/software/bash/manual/html_node/Bash-Variables.html#index-COMP_005fCWORD-180 See also: * http://www.gnu.org/software/bash/manual/html_node/Programmable-Completion.html * http://www.gnu.org/software/bash/manual/html_node/Programmable-Completion-Builtins.html The bash-completion package provides the helper function "_init_completion" which populates variables "cur", "prev", and "words". See http://anonscm.debian.org/gitweb/?p=bash-completion/bash-completion.git;a=blob;f=bash_completion;h=870811b4;hb=HEAD#l634 Note that by default, bash appends a space to the completed word. When the completion is "property=" we don't want a trailing space; calling "compopt -o nospace" modifies the currently-executing completion accordingly. See http://www.gnu.org/software/bash/manual/html_node/Programmable-Completion-Builtins.html#index-compopt 2012-11-13 16:36:46 +0000 David Rothlisberger * tools/gstreamer-completion: tools/gstreamer-completion: Updated to work with the binary registry The original registry was in xml format (~/.gstreamer-*/registry.xml). A binary registry format was added in 2007 (commit ebf0c9d3) and made the default in 2008 (commit 3f39fd7e). In 0.10 you could still choose at "configure" time to use the xml registry instead; in 1.0 the binary registry is your only choice. This change to gstreamer-completion should work with either format because it parses the output of "gst-inspect" instead of reading the registry file directly. Note that _gst_launch no longer needs an explicit "return 0" because, unlike the previous grep command, compgen always returns 0 (unless a genuine error occurs). Just like the previous implementation by David Schleef, this "only completes names of features, but that's 90% of what I want it for." 2013-04-29 21:11:36 +0200 Stefan Sauer * docs/random/porting-to-1.0.txt: porting-to-1.0.txt: nit clarification It is the process context that matters. 2013-04-29 13:20:11 +0200 Sebastian Dröge * plugins/elements/gsttypefindelement.c: typefind: Always leave TYPEFIND mode when we're stopping typefinding 2013-04-29 13:03:24 +0200 Sebastian Dröge * plugins/elements/gsttypefindelement.c: typefind: Simplify code This is only called when in TYPEFIND mode. 2013-04-29 12:58:07 +0200 Sebastian Dröge * plugins/elements/gsttypefindelement.c: typefind: Push pending events independent of the existence of a downstream chain function and peer Downstream might create a peer only as result of the events in theory. 2013-04-29 12:56:54 +0200 Sebastian Dröge * plugins/elements/gsttypefindelement.c: typefind: Only push CAPS event once if we get one from upstream https://bugzilla.gnome.org/show_bug.cgi?id=692784 2013-04-29 12:54:27 +0200 Sebastian Dröge * plugins/elements/gsttypefindelement.c: typefind: Stop typefinding if we get a CAPS event from upstream 2013-04-29 12:52:46 +0200 Sebastian Dröge * plugins/elements/gsttypefindelement.c: typefind: Improve handling of GAP events There's still room for improvement though. 2013-04-29 12:48:29 +0200 Sebastian Dröge * plugins/elements/gsttypefindelement.c: typefind: Forward events that should happen before the caps event directly There's no point in storing them and sending them later, and doing so would later require to distinguish between events that should come before caps and after. https://bugzilla.gnome.org/show_bug.cgi?id=692784 2013-04-29 12:48:13 +0200 Sebastian Dröge * plugins/elements/gsttypefindelement.c: typefind: Only push pending buffers and events if we have caps 2013-04-29 12:39:20 +0200 Sebastian Dröge * plugins/elements/gsttypefindelement.c: typefind: Remove code that would cause caps to be sent twice Whenever we set typefind->caps we will also send a caps event downstream. 2013-04-27 20:33:06 +0200 Wim Taymans * docs/pwg/advanced-allocation.xml: pwg: improve allocation docs 2013-04-27 11:46:13 +0100 Tim-Philipp Müller * libs/gst/check/gstcheck.c: check: set CK_TIMEOUT_MULTIPLIER on ARM https://bugzilla.gnome.org/show_bug.cgi?id=695599 2013-04-27 00:05:45 +0100 Tim-Philipp Müller * plugins/elements/gsttypefindelement.c: * tests/check/pipelines/simple-launch-lines.c: typefind: fix caps leak when used in connection with uridecodebin and playbin Don't leak forced sink caps. 2013-04-22 18:08:43 -0300 Thibault Saunier * libs/gst/controller/gsttimedvaluecontrolsource.c: controller: Fix element-type annotations 2013-04-25 16:38:49 +0200 Sebastian Dröge * plugins/elements/gstinputselector.c: 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-25 07:15:39 +0200 Alessandro Decina * tests/check/gst/gstpad.c: tests: add check for FLUSH pad probes 2013-04-24 08:40:32 +0200 Alessandro Decina * gst/gstpad.c: gstpad: run probes for FLUSH events sent with gst_pad_send_event Move probe handling in gst_pad_send_event_unchecked so that probes are run for FLUSH events too. 2013-04-24 15:58:49 +0200 Sebastian Dröge * libs/gst/net/gstnetclientclock.c: * libs/gst/net/gstnettimeprovider.c: netclock: Add support for IPv6 2013-04-24 12:30:07 +0100 Tim-Philipp Müller * docs/random/porting-to-1.0.txt: porting-to-1.0.txt: add troubleshooting section Add note about "cannot register existing type `GstObject'" warning. 2013-04-23 11:47:54 +0200 Sebastian Dröge * libs/gst/base/gstbaseparse.c: baseparse: Only infer TS if PTS interpolation is enabled Otherwise this is breaking timestamps of formats that need reordering. https://bugzilla.gnome.org/show_bug.cgi?id=597662 2013-04-23 11:17:05 +0200 Wim Taymans * gst/gstpad.c: pad: notify caps property on NULL as well Also notify the caps property when it changes to NULL 2013-04-23 11:16:16 +0200 Wim Taymans * gst/gstpad.c: pad: clarify locking 2013-04-22 23:50:17 +0100 Tim-Philipp Müller * MAINTAINERS: * README: * README.static-linking: * common: Automatic update of common submodule From 3cb3d3c to 5edcd85 2013-04-19 15:01:20 +0200 Sebastian Dröge * docs/design/Makefile.am: * docs/design/part-context.txt: * gst/gstcontext.c: part-context: Write some design documentation about GstContext 2013-04-19 13:21:34 +0200 Sebastian Dröge * docs/design/part-caps.txt: part-caps: Add more information about caps features, caps semantics and how to use them 2013-04-19 11:23:31 +0200 Sebastian Dröge * docs/design/part-caps.txt: * gst/gstcapsfeatures.c: capsfeatures: Add documentation about ANY GstCapsFeatures 2013-04-19 10:24:06 +0200 Sebastian Dröge * libs/gst/base/gstbasesink.c: basesink: Don't set last_render_time if we're checking for a late buffer before ::prepare() This makes sure that at least one buffer per second is rendered if buffers are dropped before ::prepare. Without this change, at least one buffer per second wouldn't be too late before ::prepare anymore but would be dropped before ::render because of last_render_time being set before ::prepare already. 2013-02-08 03:57:44 -0200 Andre Moreira Magalhaes (andrunko) * gst/gstvalue.c: gstvalue: Add compare function for caps 2013-01-15 16:57:20 -0300 Thiago Santos * libs/gst/base/gstdataqueue.c: * libs/gst/base/gstdataqueue.h: * win32/common/libgstbase.def: dataqueue: add gst_data_queue_peek This function works just like gst_data_queue_pop, but it doesn't remove the object from the queue. Useful when inspecting multiple GstDataQueues to decide from which to pop the element from. Add: gst_data_queue_peek 2013-04-18 10:14:09 +0100 Tim-Philipp Müller * tests/check/gst/.gitignore: tests: ignore new test binary 2013-04-18 10:13:30 +0100 Tim-Philipp Müller * tools/gst-launch.c: tools: update for latest context API changes 2013-04-18 10:17:44 +0200 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gstcontext.c: * gst/gstcontext.h: * tests/check/gst/gstcontext.c: * win32/common/libgstreamer.def: context: Add gst_context_writable_structure() and let get_structure() return const again 2013-04-18 00:44:32 +0100 Tim-Philipp Müller * gst/printf/printf-parse.c: * tests/check/gst/gstinfo.c: printf: fix handling of old printf extension specifiers for ABI compatibility Fixes abort when the old specifiers are used. Fix up the conversion specifier, it would get overwritten with 'c' below to the extension format char, which then later is unhandled, leading to the abort. Also fix up and enable unit test for this. https://bugzilla.gnome.org/process_bug.cgi 2013-04-18 00:28:00 +0100 Tim-Philipp Müller * tests/check/gst/gstinfo.c: tests: add unit test for old printf extension specifiers To make sure we maintain binary compatibility with the old specifiers. https://bugzilla.gnome.org/show_bug.cgi?id=698242 2013-04-18 00:19:23 +0100 Tim-Philipp Müller * libs/gst/check/gstcheck.h: check: run skipped tests if explicitly requested via GST_CHECKS If a test that's disabled with tcase_skip_broken_test() is listed in the GST_CHECKS environment variable, run it anyway. 2013-04-17 13:47:35 +0200 Sebastian Dröge * tools/gst-launch.c: gst-launch: Add GstContext support gst-launch will collect all the contexts from the pipeline elements and update the overall pipeline context with it. 2013-04-17 12:44:29 +0200 Sebastian Dröge * tests/check/Makefile.am: * tests/check/gst/gstcontext.c: context: Add unit test for GstContext 2013-04-17 12:17:49 +0200 Sebastian Dröge * gst/gstcontext.c: * gst/gstcontext.h: context: Return a non-const GstStructure to make code simpler and update docs 2013-03-29 14:56:57 +0100 Philippe Normand * docs/design/part-scheduling.txt: * gst/gstquery.h: * win32/common/gstenumtypes.c: query: new _BANDWIDTH_LIMITED flag Source elements with limited bandwidth capabilities and supporting buffering for downstream elements should set this flag when answering a scheduling query. This is useful for the on-disk buffering scenario of uridecodebin to avoid checking the URI protocol against a list of hardcoded protocols. Bug 693484 2013-04-16 09:55:00 +0100 Tim-Philipp Müller * docs/random/porting-to-1.0.txt: docs: fix missing flacdec in porting-to-1.0 pipeline example 2013-04-16 09:03:52 +0100 Tim-Philipp Müller * docs/random/porting-to-1.0.txt: docs: add note about decoders and parsers to porting-to-1.0 doc 2012-10-24 11:58:35 +0200 Sebastian Dröge * configure.ac: * gst/gstplugin.h: * plugins/elements/Makefile.am: 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 . 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-12 13:50:39 +1200 Douglas Bagnall * docs/manual/appendix-porting.xml: manual: Patch manual to refer to porting guide https://bugzilla.gnome.org/show_bug.cgi?id=697845 2013-04-13 19:43:10 +0300 Sreerenj Balachandran * gst/gstpluginfeature.c: pluginfeature: Fix the GstPluginFeature name comparison. The gst_plugin_feature_rank_compare_func() should return negative value, if the rank of both PluginFeatures are equal and the name of first PluginFeature comes before the second one. https://bugzilla.gnome.org/show_bug.cgi?id=697990 2013-04-14 17:54:22 +0100 Tim-Philipp Müller * common: Automatic update of common submodule From 2736592 to 3cb3d3c 2013-04-14 17:25:35 +0100 Tim-Philipp Müller * autogen.sh: * common: Automatic update of common submodule From aed87ae to 2736592 2013-04-14 11:33:41 +0100 Tim-Philipp Müller * gst/printf/printf.c: * gst/printf/printf.h: printf: disable some unused printf variants 2013-04-14 11:23:10 +0100 Tim-Philipp Müller * gst/printf/gst-printf.h: printf: use sprintf() to work around glibc complaining about %n in a writable format string Don't use snprintf(), but use sprintf instead and do our own length calculations, because glibc may complain about us passing %n in a format string if the string is in writable memory, and here the format string is always in writable memory since we construct it on the fly. This happens if glibc has been compiled with _FORTIFY_SOURCE=2, which seems to be the case on some distros/systems). On the upside, we now use the sprintf code path on all systems which should be better from a maintenance point of view. https://bugzilla.gnome.org/show_bug.cgi?id=697970 2013-04-13 12:18:28 +0100 Tim-Philipp Müller * tests/check/gst/gstpoll.c: tests: skip all GstPoll tests on Windows As they don't work there, and it's non-trivial to fix. https://bugzilla.gnome.org/show_bug.cgi?id=697609 2013-04-13 12:00:12 +0100 Tim-Philipp Müller * tools/gst-inspect.c: 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-12 14:48:29 +0200 Gwenole Beauchesne * gst/gstplugin.h: plugin: fix name expansion for GST_PLUGIN_DEFINE macro Make GST_PLUGIN_DEFINE use G_STRINGIFY() to convert the name argument into a meaningful string. The advantage of this is that `name' can be expanded from other macros defined in the plug-in element. Signed-off-by: Gwenole Beauchesne https://bugzilla.gnome.org/show_bug.cgi?id=697872 2013-04-13 11:35:49 +0100 Tim-Philipp Müller * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: po: add new translatable strings 2013-04-12 23:58:52 +0100 Tim-Philipp Müller * gst/Makefile.am: * gst/gst_private.h: * gst/gstelement.c: * gst/gstinfo.c: printf: don't build if debugging subsystem was disabled 2013-04-10 11:51:37 +0100 Tim-Philipp Müller * configure.ac: * gst/printf/Makefile.am: * gst/printf/gst-printf.h: printf: deal with some of the HAVE_FOO used in the printf code Probably needs some more work for MSVC. 2013-04-08 19:42:27 +0100 Tim-Philipp Müller * gst/printf/README: * gst/printf/vasnprintf.c: printf: fix alloca use for windows with mingw32 Don't use just GLIB_HAVE_ALLOCA_H to check if alloca is available, that's just for the header. GLib may define alloca for us otherwise too irrespective of GLIB_HAVE_ALLOCA_H. Fixes compiler warning with mingw32: gst/printf/vasnprintf.c:73:0: warning: "alloca" redefined 2013-04-07 20:11:21 +0100 Tim-Philipp Müller * configure.ac: * gst/printf/Makefile.am: * gst/printf/vasnprintf.c: printf: enable and fix compiler warnings But suppress -Wformat-nonliteral warnings since sprintf is used with a runtime-generated format string in our vasnprintf implementation. 2013-04-07 18:21:00 +0100 Tim-Philipp Müller * gst/printf/printf-parse.c: * gst/printf/vasnprintf.c: * gst/printf/vasnprintf.h: printf: fix up dodgy use of #if HAVE_FOO and #if !HAVE_FOO Should use #ifdef and #ifndef. 2013-04-07 17:36:29 +0100 Tim-Philipp Müller * gst/printf/Makefile.am: printf: mark internal functions as internal 2013-04-07 17:29:02 +0100 Tim-Philipp Müller * gst/printf/printf-parse.c: printf: skip pointer extension signifier chars after %p So they don't get printed after the serialised pointer string. 2013-04-07 17:21:10 +0100 Tim-Philipp Müller * gst/printf/vasnprintf.c: printf: don't leak serialised pointer extension strings 2013-04-07 17:02:55 +0100 Tim-Philipp Müller * gst/printf/printf-parse.c: printf: handle old GST_PTR_FORMAT %P and GST_SEGMENT_FORMAT %Q defines too For binary backwards compatibility. 2013-04-07 16:41:40 +0100 Tim-Philipp Müller * gst/printf/printf-args.c: * gst/printf/printf-args.h: * gst/printf/printf-parse.c: * gst/printf/printf-parse.h: * gst/printf/vasnprintf.c: printf: make printf parser recognise our pointer extension format and call the hook to get a string for the pointer instead. https://bugzilla.gnome.org/show_bug.cgi?id=613081 2013-03-30 18:28:38 +0000 Tim-Philipp Müller * gst/gstinfo.c: * gst/gstinfo.h: * gst/printf/Makefile.am: * gst/printf/README: * gst/printf/printf-extension.c: * gst/printf/printf-extension.h: printf: add infrastructure for pointer extensions hook Does not do anything yet. On a sidenote, we can't just use %p\001 or so to signal the extension because g-i complains about an invalid ascii character then, so have to resort to something more elaborate, such as %p\aA etc. https://bugzilla.gnome.org/show_bug.cgi?id=613081 2013-03-30 17:20:13 +0000 Tim-Philipp Müller * configure.ac: * docs/gst/gstreamer-sections.txt: * gst/gstconfig.h.in: * gst/gstelement.c: * gst/gstelement.h: * gst/gstinfo.c: * gst/gstinfo.h: info: use new internal printf for debug message printing and remove all the printf extension/specifier stuff for the system printf. Next we need to add back the custom specifiers to our own printf implementation. https://bugzilla.gnome.org/show_bug.cgi?id=613081 2013-03-30 15:13:32 +0000 Tim-Philipp Müller * configure.ac: * gst/Makefile.am: * gst/printf/Makefile.am: * gst/printf/README: * gst/printf/asnprintf.c: * gst/printf/gst-printf.h: * gst/printf/printf-args.c: * gst/printf/printf-args.h: * gst/printf/printf-parse.c: * gst/printf/printf-parse.h: * gst/printf/printf.c: * gst/printf/printf.h: * gst/printf/vasnprintf.c: * gst/printf/vasnprintf.h: printf: add our own printf implementation for debug logging We will add support for our own printf modifiers, so we can get nice debug log output on all operating systems irrespective of the specific libc version used. https://bugzilla.gnome.org/show_bug.cgi?id=613081 2013-04-12 16:13:15 +0100 Wim Taymans * gst/gsttaglist.c: taglist: avoid triggering an assertion When deserialization of the structure fails, return a NULL taglist instead of asserting. 2013-04-11 14:54:32 +0200 Jose Antonio Santos Cadenas * tools/gst-inspect.c: 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-11 22:32:39 +0100 Tim-Philipp Müller * docs/random/porting-to-1.0.txt: docs: document type change of playbin's connection-speed property in porting docs 2013-04-11 14:31:01 +0100 Wim Taymans * gst/gstbuffer.c: * gst/gstbuffer.h: * win32/common/libgstreamer.def: buffer: add _gst_max_memory() function Add the a function to query the maximum amount of memory blocks that can be added to a buffer. Also improve the docs for _insert_memory(). 2013-04-11 14:04:45 +0100 Wim Taymans * libs/gst/net/gstnettimeprovider.c: nettimeprovider: notify of changed bound address Notify when the bound address is known, just like the port. 2013-04-11 13:55:47 +0100 Wim Taymans * tools/gst-launch.c: launch: handle PROGRESS messages Wait for all PROGRESS messages (if any) to complete before going to the PLAYING state. This is the only way we can wait for live elements to complete their operations. This is interesting for elements like rtspsrc that do some asynchronous network requests as part of going to the PAUSED state. It could be possible that it, for example, provides a clock and then we would like to wait until it completes so that we can use the provided clock when going to PLAYING. 2013-04-11 15:05:08 +1200 Douglas Bagnall * docs/pwg/advanced-negotiation.xml: Toggle upstream and downstream in RECONFIGURE paragraph. 2013-04-11 10:11:25 +1200 Douglas Bagnall * libs/gst/base/gstcollectpads.c: GstCollectPads documentation: gst_collect_pads_read is gone. 2013-04-10 21:24:38 +0200 Stefan Sauer * gst/gstbus.c: bus: fix the precondition for gst_bus_disable_sync_message_emission() Use the right variable and invert the test. The precondition should catch someone calling to once too often. 2013-04-09 19:37:06 -0400 Olivier Crête * gst/gstcapsfeatures.c: capsfeatures: Init debug category before ever using it 2013-04-09 20:59:36 +0200 Stefan Sauer * common: Automatic update of common submodule From 04c7a1e to aed87ae 2013-04-03 21:32:54 +0400 Руслан Ижбулатов * docs/manuals.mak: Use xlstproc instead of docbook2html 2013-04-09 10:17:45 +0100 Tim-Philipp Müller * libs/gst/net/gstnetclientclock.c: netclientclock: bind socket before querying local address Fails on windows otherwise. https://bugzilla.gnome.org/show_bug.cgi?id=697608 2013-04-08 13:14:35 +0400 Руслан Ижбулатов * configure.ac: configure: Also check for clock_gettime in libpthread libwinpthreads provides POSIX time API. It also provides libpthread alias for itself, for compatibility, so that is what we will link with. Fixes #697550 2013-04-08 15:30:07 +0400 Руслан Ижбулатов * gst/gstsystemclock.c: * gst/gstutils.c: clock: Do use HAVE_CLOCK_GETTIME Fixes #697549 2013-04-08 14:42:15 +0400 Руслан Ижбулатов * tests/check/gst/gstabi.c: * tests/check/gst/struct_i386w.h: libsabi: Special struct size values for W32 These account for both possible type size mismatch AND -mms-bitfields packing. Sizes are taken from an i686-w64-mingw32-built GStreamer, gcc 4.8.0, mingw-w64 svn-r5685. Fixes #697551 2013-04-09 09:22:39 +0400 Руслан Ижбулатов * tests/check/gst/gstpad.c: tests: fix GstPad test on windows and in CK_FORK=no mode Need to clear buffer lists at the end of each test. https://bugzilla.gnome.org/show_bug.cgi?id=697610 2013-04-06 16:09:54 -0700 David Schleef * tools/gst-launch.c: gst-launch: Fix space in fault message 2013-04-06 22:10:58 +0200 Sebastian Dröge * gst/gstcapsfeatures.c: capsfeatures: Copy ANY flag when copying caps features too 2013-04-06 21:49:25 +0200 Sebastian Dröge * gst/gstcaps.c: * tools/gst-inspect.c: caps: Handle ANY caps features properly in more places 2013-04-06 21:21:39 +0200 Sebastian Dröge * tests/check/gst/gstcaps.c: caps: Add test for operations on caps with ANY features 2013-04-06 21:09:49 +0200 Sebastian Dröge * gst/gstcaps.c: caps: Properly handle ANY caps features in caps operations 2013-04-05 21:10:48 +0200 Stefan Sauer * gst/gstbus.c: bus: update signal docs for gst_bus_enable_sync_message_emission() 2013-04-05 10:15:37 +0200 Wim Taymans * plugins/elements/gstmultiqueue.c: multiqueue: ignore empty not-linked queues We need to ignore the not-linked queues in the underrun and overrun callbacks because they are expected to be empty. 2013-04-04 23:12:52 +0100 Tim-Philipp Müller * gst/gstcaps.c: caps: fix caps feature leak Fixes leaks in 14 core unit tests including gst/gstcaps. 2013-04-04 19:16:23 +0200 Wim Taymans * plugins/elements/gstmultiqueue.c: multiqueue: start pushing again on RECONFIGURE When we got NOT_LINKED before and we receive a RECONFIGURE event, start pushing again on the source pad. See https://bugzilla.gnome.org/show_bug.cgi?id=676304 2013-04-04 19:07:29 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2: start pushing again on RECONFIGURE When we got NOT_LINKED before and we receive a RECONFIGURE event, start pushing again on the source pad. See https://bugzilla.gnome.org/show_bug.cgi?id=676304 2013-04-04 19:06:35 +0200 Wim Taymans * plugins/elements/gstqueue.c: queue: start pushing again on RECONFIGURE When we got NOT_LINKED before and we receive a RECONFIGURE event, start pushing again on the source pad. See https://bugzilla.gnome.org/show_bug.cgi?id=676304 2013-04-04 17:59:10 +0200 Wim Taymans * gst/gststructure.c: structure: simplify is_subset check Iterate over the fields of the superset instead of those of the subset. This way we can check the presence of the subset field and do the subset check in one iteration. 2013-04-04 17:46:09 +0200 Wim Taymans * gst/gstcaps.c: caps: update docs, is_subset() works now 2013-04-04 16:39:23 +0200 Wim Taymans * gst/gstbufferpool.c: bufferpool: fix docs 2013-04-04 16:20:24 +0200 Wim Taymans * gst/gstpad.c: * gst/gstpad.h: * win32/common/libgstreamer.def: pad: add gst_pad_store_sticky_event() Rewire some internal functions and expose a new gst_pad_store_sticky_event() function. API: gst_pad_store_sticky_event() 2013-04-04 15:45:23 +0200 Wim Taymans * gst/gstpad.h: pad: clarify docs 2013-04-04 15:45:15 +0200 Wim Taymans * gst/gstpad.c: pad: improve debug 2013-04-04 10:17:30 +0200 Wim Taymans * gst/gstsegment.c: segment: don't WARN, just DEBUG Fixes https://bugzilla.gnome.org/show_bug.cgi?id=696911 2013-03-30 11:06:59 +0000 Nicolas Dufresne * gst/gstsegment.c: 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-03 17:29:51 +0200 Wim Taymans * win32/common/libgstreamer.def: defs: update 2013-04-03 16:02:34 +0200 Wim Taymans * gst/gst.c: gst: add stream flags 2013-04-02 18:17:00 -0600 Brendan Long * docs/random/porting-to-1.0.txt: porting-to-1.0.txt: subtitle text media types changed as well https://bugzilla.gnome.org/show_bug.cgi?id=697153 2013-04-02 23:51:06 +0100 Tim-Philipp Müller * gst/gstcontext.c: * gst/gstevent.c: * gst/gstevent.h: * tests/check/gst/.gitignore: docs: more since markers and other docs fixes 2013-04-02 23:21:39 +0100 Tim-Philipp Müller * gst/gstcapsfeatures.c: docs: add since markers to capsfeatures docs 2013-04-02 23:18:42 +0100 Tim-Philipp Müller * scripts/git-update.sh: scripts: add some more modules to git-update.sh https://bugzilla.gnome.org/show_bug.cgi?id=697058 2013-04-02 23:04:51 +0100 Tim-Philipp Müller * scripts/gst-uninstalled: gst-uninstalled: add uninstalled orc/orc-test/.libs to library paths This is needed by the unit tests in gst-plugins-base, -good etc. Spotted by Alex Kaye. https://bugzilla.gnome.org/show_bug.cgi?id=697093 2013-04-02 22:13:22 +0200 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gstcaps.c: * gst/gstcapsfeatures.c: * gst/gstcapsfeatures.h: * tests/check/gst/gstcapsfeatures.c: capsfeatures: Add GST_CAPS_FEATURES_ANY This is equal to any other caps features but results in unfixed caps. It would be used by elements that only look at the buffer metadata or are currently working in passthrough mode, and as such don't care about any specific features. 2013-04-01 22:13:10 +0100 Tim-Philipp Müller * gst/gstinfo.c: info: minor cosmetic changes Let's not use ugly leading underscores for static functions. 2013-04-01 21:23:21 +0100 Tim-Philipp Müller * gst/gstinfo.c: info: fix object printing of caps features in debug log 2013-04-01 16:38:43 +0200 Stefan Sauer * docs/design/draft-tracing.txt: draft-tracing: update draft design with timer ideas 2013-03-30 17:03:44 +0100 Stefan Sauer * gst/gstinfo.c: info: refactor pretty printing objects Extract formatters into local functions. Change the structure filtering so that it works for taglists too. 2013-03-30 16:39:38 +0100 Stefan Sauer * gst/gstelement.c: element: make post_message and query more alike 2013-04-01 10:20:01 +0200 Sebastian Dröge * tools/gst-inspect.c: gst-inspect: Print caps features too 2013-04-01 10:19:25 +0200 Sebastian Dröge * gst/gstcapsfeatures.c: capsfeatures: For copying features it's not required to have no parent refcount 2013-04-01 10:19:01 +0200 Sebastian Dröge * gst/gstcaps.c: caps: Set features' parent refcount in gst_caps_set_features() too 2013-04-01 10:18:39 +0200 Sebastian Dröge * gst/gstcaps.c: caps: Set sysmem features if explicitely requested 2013-03-31 19:09:46 +0200 Sebastian Dröge * docs/design/part-caps.txt: design: Add the caps features and describe how the caps operations actually work 2013-03-30 15:35:19 +0100 Sebastian Dröge * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * gst/Makefile.am: * gst/gst.c: * gst/gst.h: * gst/gst_private.h: * gst/gstcaps.c: * gst/gstcaps.h: * gst/gstcapsfeatures.c: * gst/gstcapsfeatures.h: * gst/gstinfo.c: * gst/gststructure.c: * gst/gstvalue.c: * gst/gstvalue.h: * tests/check/Makefile.am: * tests/check/gst/gstcaps.c: * tests/check/gst/gstcapsfeatures.c: * win32/common/libgstreamer.def: caps: Add new data type for handling caps features to the caps These are meant to specify features in caps that are required for a specific structure, for example a specific memory type or meta. Semantically they could be though of as an extension of the media type name of the structures and are handled exactly like that. 2013-03-31 15:30:19 +0100 Tim-Philipp Müller * gst/gstevent.h: event: add SELECT and UNSELECT stream flags for stream-start event So demuxers can signal which audio/video/subtitle streams should be selected by default and which should not be selected automatically. API: GST_STREAM_FLAG_SELECT API: GST_STREAM_FLAG_UNSELECT https://bugzilla.gnome.org/show_bug.cgi?id=695968 https://bugzilla.gnome.org/show_bug.cgi?id=690911 2013-01-06 20:27:54 +0000 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gstevent.c: * gst/gstevent.h: * tests/check/gst/gstevent.c: * win32/common/libgstreamer.def: event: add stream flags to stream-start event API: gst_event_set_stream_flags() API: gst_event_parse_stream_flags() API: GST_STREAM_FLAG_NONE API: GST_STREAM_FLAG_SPARSE https://bugzilla.gnome.org/show_bug.cgi?id=600648 2013-03-31 11:26:32 +0200 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gstbin.c: * gst/gstelement.c: * gst/gstelement.h: * win32/common/libgstreamer.def: element: Add API to get the last set context from an element Elements should override GstElement::set_context() and also call gst_element_set_context() to keep this context up-to-date with the very latest context they internally use. 2013-03-30 14:04:28 +0100 Stefan Sauer * docs/design/draft-tracing.txt: design: add initial tracing design doc 2013-03-30 11:47:29 +0100 Sebastian Dröge * gst/gstpad.c: pad: Let gst_pad_get_allowed_caps() pass the caps own caps as filter This will reduce the number of caps created downstream and we don't need to intersect in the very end with the pad's own caps. 2013-03-30 10:24:27 +0100 Josep Torra * libs/gst/base/gstbasesink.c: basesink: fixes compiler warning gstbasesink.c: In function 'gst_base_sink_chain_unlocked': gstbasesink.c:3204: warning: 'ret' may be used uninitialized in this function 2013-03-29 19:01:59 +0100 Stefan Sauer * gst/gstchildproxy.c: childproxy: fix gir warning 2013-03-29 18:49:14 +0100 Edward Hervey * docs/pwg/building-boiler.xml: Revert "pwg: Fix example" This reverts commit 5d64f27d881274a40f0441bb8c5b3816fdfc5b9e. *sigh* 2012-11-06 09:41:58 +0100 Edward Hervey * docs/pwg/building-boiler.xml: pwg: Fix example 2012-11-11 13:52:25 +0100 Edward Hervey * gst/gstpad.c: pad: Remove SEGMENT sticky events when flushing When flushing, it is expected that upstream will send a SEGMENT event afterwards. This also avoids stray SEGMENT events from coming through after a flush. 2013-03-28 15:35:13 +0100 Sebastian Dröge * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * gst/Makefile.am: * gst/gst.c: * gst/gst_private.h: * gst/gstbin.c: * gst/gstcontext.c: * gst/gstcontext.h: * gst/gstelement.c: * gst/gstelement.h: * gst/gstevent.c: * gst/gstevent.h: * gst/gstinfo.c: * gst/gstmessage.c: * gst/gstmessage.h: * gst/gstquark.c: * gst/gstquark.h: * gst/gstquery.c: * gst/gstquery.h: * win32/common/libgstbase.def: * win32/common/libgstreamer.def: gst: Add new GstContext miniobject for sharing contexts in a pipeline 2013-03-28 16:42:50 +0100 Stefan Sauer * libs/gst/controller/gstargbcontrolbinding.c: argb-controlbinding: fix messed up property setter This was misassigning the control sources. It was also leaking the old values if a control source would be replaced. 2013-03-27 18:25:08 +0100 Mark Nauwelaerts * libs/gst/base/gstbaseparse.c: baseparse: reset next_pts upon SEGMENT event Fixes https://bugzilla.gnome.org/show_bug.cgi?id=691481 2013-02-26 19:58:49 +0100 Mark Nauwelaerts * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbaseparse.h: baseparse: more inter-timestamp tracking Fixes https://bugzilla.gnome.org/show_bug.cgi?id=691481 2013-03-26 19:22:18 -0400 Olivier Crête * docs/gst/gstreamer-sections.txt: * gst/gstallocator.c: * gst/gstbuffer.c: * gst/gstbuffer.h: * win32/common/libgstreamer.def: buffer: Add annotations and pygi friendly extraction function API: gst_buffer_extract_dup 2013-03-27 17:08:51 +0100 Wim Taymans * docs/random/porting-to-1.0.txt: porting: hopefully clarify a little 2013-03-25 18:11:54 -0700 David Schleef * gst/gstutils.c: Update docs for gst_pad_create_stream_id_printf() To indicate that format strings should be alpha sortable. 2013-03-25 09:16:05 +0100 Sebastian Dröge * tests/check/gst/gstcaps.c: 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-03-25 09:19:24 +0100 Sebastian Dröge * gst/gstcaps.c: caps: Fix gst_static_caps_get(GST_STATIC_CAPS_NONE) https://bugzilla.gnome.org/show_bug.cgi?id=696435 2013-03-21 21:00:54 -0400 Nicolas Dufresne * libs/gst/base/gstbasesrc.c: 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-03-24 17:53:35 +0000 Tim-Philipp Müller * docs/design/part-toc.txt: * gst/gsttoc.c: toc: some documentation updates 2013-03-22 20:02:57 +0000 Tim-Philipp Müller * docs/pwg/building-queryfn.xml: docs: fix typo in query function example in Plugin Writer's Guide https://bugzilla.gnome.org/show_bug.cgi?id=696142 2013-03-07 12:11:30 +0100 Jonas Holmberg * tests/check/libs/collectpads.c: tests: fix spurious failure in test_collect collectpads test pop() in collected callback. There were three threads in the test cases that hanged: the test thread and two threads that push buffers. Each thread push one buffer on one pad. There are two pads in the collectpads so the second buffer will trigger the collect-callback. This is what happens when the hang occurs: The first thread pushes a buffer and initializes a cookie to the value of a counter in the collectpads object and waits on a cond for the counter to change and for someone to consume the buffer (i.e. _pop() it). The second thread pushes a buffer and calls the collected callback, which signals the cond that the test thread is waiting for. The test thread pops both buffers (without holding any lock). Each call to _pop() increases the counter broadcasts the condition that the first thread is now waiting for. It then joins both threads (hangs). The first thread wakes up and returns, since its buffer has been consumed. The second thread starts executing again. When the callback, called by the second thread, has returned it initializes a cookie to the value of a counter, which has already prematurely been increased by the test thread when it popped the buffers, and wait's on a cond for the counter to change and for someone to consume the buffer (i.e. _pop() it). Since the buffer has already been poped and the counter has already been increased it will be stuck forever. https://bugzilla.gnome.org/show_bug.cgi?id=685555 2013-03-16 12:05:39 +0000 Tim-Philipp Müller * scripts/gst-uninstalled: gst-uninstalled: remove ffmpeg libs from dynamic linker paths We link those libs into the plugin statically, or use external system libs, but never the internal snapshot dynamically. 2013-03-16 12:00:55 +0000 Tim-Philipp Müller * scripts/gst-uninstalled: gst-uninstalled: add gst-editing-serves to GI_TYPELIB_PATH So pygi can find it. https://bugzilla.gnome.org/show_bug.cgi?id=695937 2013-03-12 13:53:57 +0000 Tim-Philipp Müller * gst/gstutils.h: utils: make sure slow GST_READ_UINT* variants don't have unexpected side effects Fixes unit test on systems where unaligned memory access is not possible. https://bugzilla.gnome.org/show_bug.cgi?id=695599 2013-03-05 11:14:41 +0100 Wim Taymans * tools/gst-launch.c: launch: don't exit the loop on buffering in paused When we receive a buffering message of 100% in the paused state, we exit the event_loop and move to the PLAYING state. What should happen is that we wait for both ASYNC-DONE and 100% buffering before continueing. 2013-03-08 13:15:32 +0100 Stefan Sauer * docs/design/part-controller.txt: design: update controller design and add some thoughs for future stuff 2013-03-08 08:13:06 +0100 Stefan Sauer * libs/gst/controller/gstdirectcontrolbinding.c: docs: mention clipping of values in control-binding docs 2013-03-08 08:10:20 +0100 Stefan Sauer * tests/check/gst/gstcontroller.c: controller: code cleanups Use a property for accessing the control-source on the binding. Drop base_init on the test object. 2013-03-07 11:46:33 +0100 Sebastian Dröge * gst/gstquery.c: query: gst_query_get_n_allocation_params() returns a new ref to the allocator 2013-03-07 11:35:03 +0100 Stefan Sauer * tests/check/libs/controller.c: controller: remove a bogus test We previously forgot to initilize the amplitde property to the default and thus it was 0.0. Therefore a default lfo controlsource returned a series of 0.0 and the test was asserting on that. 2013-03-07 09:15:14 +0100 Stefan Sauer * gst/gstcontrolbinding.c: * libs/gst/controller/gstargbcontrolbinding.c: * libs/gst/controller/gstdirectcontrolbinding.c: controlbinding: relax the pspec for the control-source We can change control sources on controlbindings. 2013-03-07 09:12:59 +0100 Stefan Sauer * libs/gst/controller/gstlfocontrolsource.c: lfo: set a sensible lower boundary for the frequency Use DBL_MIN, which is a the smalles double greater than zero that is not in denormal format. This exposes the limit better than the runtime check. 2013-03-06 23:59:28 +0000 Tim-Philipp Müller * common: Automatic update of common submodule From 2de221c to 04c7a1e 2013-03-06 16:40:27 +0100 Stefan Sauer * libs/gst/controller/gstlfocontrolsource.c: lfocontrolsource: init the amplitude to the default and update the docs 2013-03-05 11:30:22 +0100 Sebastian Dröge * scripts/gst-uninstalled: gst-uninstalled: Add all the base/bad libraries and remove obsolete ones 2013-03-03 16:00:11 +0000 Tim-Philipp Müller * libs/gst/base/gstbasesink.c: basesink: fix use of uninitialized variable Running suite(s): GstBaseSink ==22023== Conditional jump or move depends on uninitialised value(s) ==22023== at 0x505FFCE: gst_base_sink_get_sync_times (gstbasesink.c:1936) ==22023== by 0x5068C80: gst_base_sink_do_sync (gstbasesink.c:2379) ==22023== by 0x506BCD2: gst_base_sink_default_wait_event (gstbasesink.c:2903) ==22023== by 0x50633A4: gst_base_sink_default_event (gstbasesink.c:2918) ==22023== by 0x6F5C216: gst_fake_sink_event (gstfakesink.c:383) ==22023== by 0x505F164: gst_base_sink_event (gstbasesink.c:3108) ==22023== by 0x52FA090: gst_pad_send_event_unchecked (gstpad.c:4822) ==22023== by 0x5303756: gst_pad_send_event (gstpad.c:4984) ==22023== by 0x40165B: basesink_test_gap (basesink.c:148) 2013-03-03 12:06:36 +0100 Sebastian Dröge * gst/gstbuffer.c: buffer: Fix memory copying logic in copy_into() https://bugzilla.gnome.org/show_bug.cgi?id=695035 2013-03-03 11:28:32 +0100 Sebastian Dröge * gst/gstregistrychunks.c: registrychunks: Use correct print format specifiers to fix compiler warnings 2013-02-22 14:22:01 -0800 David Schleef * gst/gstobject.c: Fix misspellings of 'continuous' 2013-02-22 14:56:49 -0800 David Schleef * libs/gst/base/gstcollectpads.c: collectpads: take DTS into account Importantly, this patch converts DTS to running time. Less importantly, and possibly a problem for some muxers, is that it orders buffers by DTS (if it is valid, otherwise PTS). This is generally correct, but might be somewhat surprising to muxers. Also note that once converted to running time, DTS can end up negative. 2013-02-28 22:59:43 +0100 Stefan Sauer * docs/manual/advanced-dparams.xml: manual: improve the controller docs a little more Reword some sections. Explain value mappings better. 2013-02-28 19:40:32 +0000 Tim-Philipp Müller * scripts/gst-uninstalled: gst-uninstalled: add gst-libav to pkg-config path 2013-02-27 22:15:48 +0100 Stefan Sauer * gst/gstsegment.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: seeking: add more logging for seeking Especially add logging to error code paths. 2013-02-27 10:09:56 +0100 Sebastian Dröge * gst/gstbuffer.c: * gst/gstbuffer.h: buffer: Gracefully handle gst_memory_copy() returning NULL without crashing gst_buffer_copy_into() and gst_buffer_resize_range() can now fail. 2013-02-26 17:33:30 +0100 Wim Taymans * gst/gstallocator.c: * win32/common/libgstreamer.def: allocator: small internal cleanups Rename System memory allocator to GstAllocatorSysmem and the memory to GstMemorySystem. 2013-02-26 15:37:24 +0100 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gstmemory.c: * gst/gstmemory.h: memory: add method to check memory type Add a method to check if a memory was allocated from an allocator of a given type. API: gst_memory_is_type() 2013-02-26 15:36:10 +0100 Wim Taymans * docs/gst/gstreamer-sections.txt: docs: improve docs a little 2013-02-26 15:32:25 +0100 Wim Taymans * docs/design/part-gstbin.txt: * docs/design/part-messages.txt: * gst/gstbin.c: use GST_MESSAGE_DURATION_CHANGED in docs and code 2013-02-26 14:40:38 +0100 Wim Taymans * gst/gstmemory.c: memory: don't unref allocator too soon Unref the allocator *after* we have freed the memory. We also need to keep a ref to the allocator around because following the now freed memory would lead to crashes. 2013-02-26 09:08:49 +0100 Sebastian Dröge * gst/gstbuffer.c: buffer: Fix inverted logic for deciding if memory should be shared or copied https://bugzilla.gnome.org/show_bug.cgi?id=694717 2013-02-26 07:50:13 +0100 Stefan Sauer * docs/random/porting-to-1.0.txt: porting: mention segment accumulation in the porting guide This needs more detail, but at least gives people a hint on the issue. 2013-02-26 07:48:35 +0100 Stefan Sauer * gst/gstmessage.c: docs: s/start/done/ copy'n'paste mistake 2013-02-25 13:57:43 +0100 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gstquery.c: * gst/gstquery.h: * win32/common/libgstreamer.def: query: Add new API to remove allocation params and pools from the allocation query 2013-02-25 13:24:33 +0100 Sebastian Dröge * gst/gstquery.c: query: Document that the first allocator in the allocation query should allow mapping to system memory 2013-02-24 09:24:26 +0100 Sebastian Dröge * gst/gstmemory.c: memory: Keep a reference to the allocator Otherwise the allocator might get freed while it's still used by the memory 2013-02-24 09:33:03 +0100 Sebastian Dröge * gst/gstbuffer.c: buffer: If sharing a GstMemory fails, fall back to copying it 2013-02-23 18:36:15 +0000 Tim-Philipp Müller * docs/random/porting-to-1.0.txt: docs: porting-to-1.0.txt: some element names have changed 2013-02-23 08:19:48 +0100 Sebastian Dröge * gst/gstmemory.h: memory: It's contiguous, not continous 2013-02-22 12:41:09 +0100 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gstmemory.h: memory: Add new memory flag to specify that memory can't be mapped 2013-02-22 09:02:22 +0100 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gstmemory.h: memory: Add memory flag to mark physically continous memory 2013-02-16 23:02:21 +0000 Tim-Philipp Müller * libs/gst/base/gstbasetransform.c: 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 10:18:14 +0100 Sebastian Dröge * scripts/gst-uninstalled: gst-uninstalled: Add ORC 2013-02-19 18:00:48 +0000 Tim-Philipp Müller * gst/gstutils.h: * tests/check/gst/gstutils.c: utils: avoid unexpected side-effects of GST_WRITE_* macros Make sure the data argument is only evaluated once. 2013-02-19 17:36:50 +0000 Tim-Philipp Müller * docs/libs/gstreamer-libs-sections.txt: * libs/gst/check/gstcheck.h: * tests/check/gst/gstutils.c: check: add some more fail_unless_*() macros for convenience API: fail_unless_equals_int_hex API: assert_equals_int_hex API: fail_unless_equals_int64_hex API: assert_equals_int64_hex API: fail_unless_equals_uint64_hex API: assert_equals_uint64_hex API: fail_unless_equals_pointer API: assert_equals_pointer 2013-02-19 12:42:32 +0000 Tim-Philipp Müller * scripts/gst-uninstalled: scripts: add new -base allocators library to gst-uninstalled search paths 2013-02-18 20:47:04 +0100 Stefan Sauer * tests/check/libs/collectpads.c: collectpads: add two more tests using collectpads within an element Add a static plugin with a rudimentary element using collectpads and do some pipeline based tests. 2013-02-17 12:50:03 -0800 David Schleef * docs/manual/appendix-porting.xml: docs: Fix some ambiguous wording 2013-02-17 19:53:55 +0100 Stefan Sauer * libs/gst/controller/gsttriggercontrolsource.c: triggercontrolsource: add missing end_iter check for sequence Avoid accessing the end-iter, this is a marker without a data field. 2013-02-17 13:20:20 +0100 Stefan Sauer * gst/gstelement.c: docs: link to the appropriate messages from gst_elements_set_state() docs For an async state change return one would wait for ASYNC_DONE or STATE_CHANGED. 2013-02-16 14:20:06 +0000 Tim-Philipp Müller * gst/gstbuffer.h: buffer: add since marker for new COPY_DEEP buffer flag 2013-02-16 14:59:02 +0100 Wim Taymans * gst/gstbuffer.c: * gst/gstbuffer.h: buffer: add option to deep copy a buffer Add a buffer copy flag to force a memory copy in all cases. 2013-02-14 14:09:13 +0000 Tim-Philipp Müller * gst/gstutils.c: Revert "utils: Use gst_pad_get_pad_template() in gst_element_get_compatible_pad_template()" This reverts commit 1a1a9e143fb0e155d7627aa8e489cd5d04bc093c. This breaks the pipelines/tagschecking unit test for some reason (fakesrc ! capsfilter ! qtmux linking fails now). It might be a bug in the unit test of course, but someone will need to investigate this. Reverting for now. https://bugzilla.gnome.org/show_bug.cgi?id=692508 2013-02-15 13:08:18 +0100 Wim Taymans * gst/gstallocator.c: allocator: improve fallback copy function Only use the allocator of the copied memory when we can use the default _alloc function on it. Otherwise we will have to use the default allocator for the copy. 2013-02-14 13:55:10 +0000 Tim-Philipp Müller * docs/gst/running.xml: docs: fix location in user's home directory where GStreamer looks for plugins It's based on the xdg user data dir now in 1.0. 2013-01-25 06:50:27 -0300 Niv Sardi * gst/gstutils.c: utils: Use gst_pad_get_pad_template() in gst_element_get_compatible_pad_template() motivation comes from: /* FIXME: why not gst_pad_get_pad_template (pad); */ this code path is quite nicer, we now only revert to creating the template if gst_pad_get_pad_template fails. with this fork, we gain a non-allocation of GstCaps *templcaps https://bugzilla.gnome.org/show_bug.cgi?id=692508 2013-02-13 00:27:28 +0000 Krzysztof Konopko * tools/gst-launch.c: gst-launch: Use g_unix_signal_add() to handle keyboard interruption Current implementation uses a traditional signal handler and a 250ms timeout callback in the event loop. Adding a GSource with g_unix_signal_add() to the GMainLoop is a much more elegant solution. The signal handler with this approach can send a message to the bus directly rather than set a flag as all dispatching intricacies are handled by GLib. https://bugzilla.gnome.org/show_bug.cgi?id=693481 2013-02-14 00:07:22 +0000 Tim-Philipp Müller * docs/gst/running.xml: docs: flesh our 'Running GStreamer' bits a bit https://bugzilla.gnome.org/show_bug.cgi?id=693607 2013-02-13 23:27:16 +0000 Tim-Philipp Müller * tools/gst-launch.1.in: docs: flesh out gst-launch-1.0 man page a little Fix up default location of the registry. Mention more options for GST_DEBUG (wildcards and named debug levels). Explain what to do with the dot files that can be produced by setting GST_DEBUG_DUMP_DOT_DIR. https://bugzilla.gnome.org/show_bug.cgi?id=693607 2012-12-27 00:03:06 +0100 Gert Michael Kulyk * docs/manual/advanced-metadata.xml: docs: fix advanced-metadata code example in manual https://bugzilla.gnome.org/show_bug.cgi?id=690751 2013-02-13 16:52:13 +0000 Tim-Philipp Müller * gst/gstmessage.c: * tests/check/gst/gstmessage.c: 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 17:00:23 +0100 Sebastian Dröge * gst/gstvalue.c: * tests/check/gst/gstvalue.c: value: Remove set-style bitmask intersection/union/subtraction functions Set operations on the bitmasks don't make much sense and result in invalid caps when used as a channel-mask. They are now handled exactly like integers. This functionality was not used anywhere except for tests. https://bugzilla.gnome.org/show_bug.cgi?id=691370 2013-02-13 11:19:06 +0100 Sebastian Dröge * gst/gstbin.c: bin: The latency query should return TRUE by default, different to other queries Fixes unit test failures caused by f3d268de7f7fb1161778a9a95e0d54d8c89ef626 2013-02-13 10:46:37 +0100 Sebastian Dröge * gst/gststructure.c: * tests/check/gst/gstcaps.c: 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-02-12 12:32:23 -0800 David Schleef * win32/common/libgstbase.def: update exports for baseparse API changes 2013-02-12 12:31:42 -0800 David Schleef * libs/gst/base/gstbaseparse.c: baseparse: Fix doc typo 2013-02-11 16:51:48 -0800 David Schleef * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbaseparse.h: baseparse: add gst_base_parse_set_ts_at_offset() Sets the buffer timestamps based on last seen timestamps at a particular offset into the frame. API: gst_base_parse_set_ts_at_offset() 2013-02-11 16:42:41 -0800 David Schleef * libs/gst/base/gstadapter.c: * libs/gst/base/gstadapter.h: adapter: Add gst_adapter_prev_[pd]ts_at_offset() Original patch written by Michael Smith . API: gst_adapter_prev_pts_at_offset() API: gst_adapter_prev_dts_at_offset() 2013-02-09 18:14:09 +0100 Philippe Normand * gst/gstbin.c: bin: query sink elements and source pads of the bin gst_bin_query() now forwards the query to the source pads as well if none of the sinks of the bin satisfied the query. This helps in the case of DURATION queries done a bin containing a source element. Fixes bug 638749 2013-02-07 12:47:02 +0100 Alexander Schrab * gst/gstbin.c: bin: Let gst_bin_send_event() send events to ghost pads as well 2013-02-11 22:52:25 +0100 Stefan Sauer * gst/gstutils.c: * libs/gst/base/gstbasesrc.c: compat: kill more uses of gst_pad_set_caps() 2013-02-12 00:08:51 +1100 Tim 'mithro' Ansell * gst/gstvalue.c: gstvalue: Adding offset to GstSegment serialize/deserialize. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=693587 2013-02-09 12:32:02 +0100 Mark Nauwelaerts * libs/gst/base/gstbaseparse.c: baseparse: improve PTS interpolating ... and tracking of DTS. Fixes cases where PTS is locked on to the DTS of an incoming buffer with no PTS with invalid data, leading to no outgoing PTS (since it is not allowed smaller than DTS). Fixes https://bugzilla.gnome.org/show_bug.cgi?id=691481 2013-02-08 21:28:18 +0100 Stefan Sauer * docs/random/porting-to-1.0.txt: docs: add more porting details 2013-02-08 21:21:48 +0100 Stefan Sauer * gst/gstcontrolbinding.c: * gst/gstobject.c: * libs/gst/controller/gstdirectcontrolbinding.c: controlbinding: error handling for binding controlsources to wrong properties Add warning if property is not suitable for controlling. When adding a control- binding check that pspec!=NULL. 2013-02-07 13:08:49 +0100 Wim Taymans * gst/gstelement.c: element: remove old docs about iterators 2013-02-07 12:52:26 +0100 Wim Taymans * gst/gstbin.c: bin: remove old comment The iterators now return a GValue and not the object directly anymore. 2013-02-07 12:50:08 +0100 Wim Taymans * gst/gstbin.c: bin: reset GValue from iterator after usage 2013-02-05 17:15:37 +0100 Wim Taymans * tests/check/libs/basesink.c: tests: add basesink test 2013-02-05 17:19:50 +0100 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: handle sync of EOS after item without duration After a buffer or GAP without duration, an EOS event should be rendered immediately instead of waiting for the end of the segment. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=692868 2013-02-02 11:55:52 -0800 Nate Bogdanowicz * gst/gstpipeline.c: gstpipeline: fix failed assertion caused by seeking pipeline with NULL clock Under certain GST_STATE_CHANGED_PAUSED_TO_PLAYING transitions, a pipeline with a NULL clock will fail an assertion due to an unchecked call to gst_object_ref(). This is fixed by simply adding a check and only ref-ing if the clock is not NULL. https://bugzilla.gnome.org/show_bug.cgi?id=693065 2013-02-05 13:44:06 +0100 Wim Taymans * gst/gststructure.h: structure: change argument name for docs 2013-02-04 10:30:32 +0100 Stefan Sauer * gst/gstdebugutils.c: debugutils: fix order of caps on an unnegotiated link headlabel is the sink_pad (where the link points to) and not the other way around. 2013-02-01 21:59:41 +0100 Stefan Sauer * docs/libs/gstreamer-libs-docs.sgml: * docs/libs/gstreamer-libs-sections.txt: * docs/libs/gstreamer-libs.types: * gst/gstcontrolbinding.c: * libs/gst/controller/gstargbcontrolbinding.c: * libs/gst/controller/gstdirectcontrolbinding.c: docs: update the controller docs Add the control bindings to the docs. Add a little more detail. 2013-02-01 21:57:45 +0100 Stefan Sauer * docs/random/porting-to-1.0.txt: porting: a few updates for the porting guide 2013-01-30 13:06:44 +0000 Tim-Philipp Müller * libs/gst/base/gstdataqueue.c: dataqueue: can't pass a GType through GINT_TO_POINTER Use GSIZE_TO_POINTER instead. sizeof(GType) may be larger than sizeof(gulong) and sizeof(int), so the casts may chop off some bits from the GType value on some architectures. 2013-01-29 12:40:52 +0100 Alexander Schrab * tests/check/elements/queue.c: tests: unit test to trigger the queue/flushing race condition bug for allocation queries https://bugzilla.gnome.org/show_bug.cgi?id=692691 2013-01-28 11:05:28 +0100 Alexander Schrab * plugins/elements/gstqueue.c: queue: remove query from queue if queue is flushing When querying a queue that is flushing we end up adding a query to the queuearray without taking a reference to that query (because the normal functionality is to block until that query is done and discarded from the queue). This later causes problem if the query is unreffed outside of the queue before we discard the queue. There is a check to avoid unreffing any lingering query-objects, but since the query has been deleted that check fails. This commit depends on other fixes done to gst_queue_array_find() and gst_queue_array_drop_element(). https://bugzilla.gnome.org/show_bug.cgi?id=692691 2013-01-30 11:55:18 +0000 Tim-Philipp Müller * libs/gst/base/gstqueuearray.c: queuearray: make _find() find the value if no compare function is provided Allow NULL as compare function for direct value lookup. https://bugzilla.gnome.org/show_bug.cgi?id=692691 2013-01-30 11:34:15 +0000 Tim-Philipp Müller * tests/check/libs/queuearray.c: tests: check return value of gst_queue_array_drop_element() too Was added when the API was made public in git master. https://bugzilla.gnome.org/show_bug.cgi?id=692691 2013-01-29 22:54:21 +0000 Tim-Philipp Müller * tests/check/libs/queuearray.c: tests: one more test for gst_queue_array_drop_element() https://bugzilla.gnome.org/show_bug.cgi?id=692691 Conflicts: tests/check/libs/queuearray.c 2013-01-28 11:05:28 +0100 Alexander Schrab * libs/gst/base/gstqueuearray.c: queuearray: fix gst_queue_array_find() https://bugzilla.gnome.org/show_bug.cgi?id=692691 2013-01-28 11:05:28 +0100 Alexander Schrab * libs/gst/base/gstqueuearray.c: queuearray: fix gst_queue_array_drop_element() https://bugzilla.gnome.org/show_bug.cgi?id=692691 Conflicts: libs/gst/base/gstqueuearray.c 2013-01-29 16:55:23 +0200 Sreerenj Balachandran * libs/gst/base/gstbitreader-docs.h: docs: align the comments correctly with the declaration in bitreader docs https://bugzilla.gnome.org/show_bug.cgi?id=692809 2013-01-29 09:45:23 +0100 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: handle renegotiation correctly Don't retry to negotiate when we fail to negotiate but instead produce a NOT_NEGOTIATED error. We only want to retry negotiation if the result from gst_pad_push() returned NOT_NEGOTIATED. 2013-01-28 20:41:20 +0100 Stefan Sauer * common: Automatic update of common submodule From a942293 to 2de221c 2013-01-28 13:05:44 +0100 Wim Taymans * tests/examples/streams/stream-status.c: example: fix FIXME in example Use setpriority to raise priority 2013-01-27 06:20:51 -0800 Simon Feltman * gst/Makefile.am: g-i: add built enumtypes headers and sources to gir creation Add gstenumtypes.h/c for inclusion with g-ir-scanner. This fixes problems where introspection based bindings think GstState is typeless due to the GType not being included as an annotation. https://bugzilla.gnome.org/show_bug.cgi?id=691185 2013-01-27 09:18:00 +0530 B.Prathibha * tests/check/pipelines/stress.c: tests: use g_timeout_add_seconds in pipeline stress test https://bugzilla.gnome.org/show_bug.cgi?id=692612 2013-01-24 17:50:31 -0500 Olivier Crête * docs/libs/gstreamer-libs-sections.txt: docs: Put the right path for the gstttestclock include file 2013-01-24 15:50:17 +0100 Wim Taymans * docs/pwg/advanced-negotiation.xml: pwg: rename variable The filter variable was used twice for different things. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=692432 2013-01-17 21:35:48 -0300 Niv Sardi * gst/gstpad.c: gst_pad_check_reconfigure: only remove flag if set. the code ifed a debug statement, that can't be right. anyway, the way it is, we don't really need that branch, as we set the flag to unset only if set (and that can't fail) hence the end result is always to unset the flag. Signed-off-by: Niv Sardi Fixes https://bugzilla.gnome.org/show_bug.cgi?id=691985 2013-01-17 21:43:25 -0300 Niv Sardi * libs/gst/base/gstbasesrc.c: basesrc: set NEED_RECONFIGURE flag if negotiate fails When negotiation fails, mark the pad as needing a reconfigure again so that it gets picked up again next time. Signed-off-by: Niv Sardi Fixes https://bugzilla.gnome.org/show_bug.cgi?id=691986 2013-01-19 12:51:56 +0000 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gstutils.c: * gst/gstutils.h: * tests/check/gst/gstpad.c: * win32/common/libgstreamer.def: pad: add gst_pad_get_stream_id() utility function API: gst_pad_get_stream_id() 2013-01-18 16:05:09 +0000 Tim-Philipp Müller * tools/gst-launch.1.in: tools: minor addition to gst-launch-1.0 man page https://bugzilla.gnome.org/show_bug.cgi?id=692015 2013-01-18 16:01:11 +0000 Tim-Philipp Müller * tools/gst-launch.1.in: tools: update gst-launch-1.0 man page for new debug levels There are more debug levels these days, not only 0-5. https://bugzilla.gnome.org/show_bug.cgi?id=692015 2013-01-17 00:38:14 -0600 Daniel Díaz * tests/check/gst/gstabi.c: * tests/check/gst/struct_arm.h: * tests/check/libs/libsabi.c: * tests/check/libs/struct_arm.h: tests: fix ABI check struct sizes for ARM and re-enable ABI check for ARM. https://bugzilla.gnome.org/show_bug.cgi?id=691828 2013-01-16 17:24:42 +0000 Tim-Philipp Müller * libs/gst/base/gstadapter.c: docs: add a note to the gst_adapter_take_buffer() docs about buffer flags https://bugzilla.gnome.org/show_bug.cgi?id=682110 2013-01-16 11:29:47 +0000 Tim-Philipp Müller * tests/check/gst/gstabi.c: * tests/check/libs/libsabi.c: tests: disable ABI checks for architectures where the struct sizes are not up-to-date https://bugzilla.gnome.org/show_bug.cgi?id=691828 2013-01-15 15:03:43 +0000 Tim-Philipp Müller * common: Automatic update of common submodule From 2a068ce to a942293 2013-01-15 13:47:32 +0000 Tim-Philipp Müller * docs/gst/Makefile.am: * docs/libs/Makefile.am: * docs/plugins/Makefile.am: * gst/Makefile.am: * libs/gst/base/Makefile.am: * libs/gst/check/Makefile.am: * libs/gst/controller/Makefile.am: * libs/gst/net/Makefile.am: * tests/check/Makefile.am: Use GST_*_1_0 environment variables everywhere The _1_0 suffixed environment variables override the non-suffixed ones, so if we're in an environment that sets the _1_0 suffixed ones, such as jhbuild, we need to set those to make sure ours actually always get used. 2013-01-15 13:47:13 +0000 Tim-Philipp Müller * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: po: update for new translated string 2013-01-15 09:42:20 +0000 Tim-Philipp Müller * gst/gstpipeline.c: pipeline: add allow-none annotation for gst_pipeline_new()'s name property 2013-01-14 20:02:42 +0000 Tim-Philipp Müller * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstbaseparse.c: docs: minor GstBaseParse docs fixes Expose docs for gst_base_parse_finish_frame(). 2013-01-14 17:01:22 +0100 Wim Taymans * libs/gst/base/gsttypefindhelper.c: typefind: handle map failure 2013-01-14 17:00:46 +0100 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: handle map failure 2013-01-14 17:00:23 +0100 Wim Taymans * libs/gst/base/gstadapter.c: adapter: handle map failure 2013-01-13 14:45:31 +0000 Tim-Philipp Müller * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbaseparse.h: baseparse: add vfuncs to intercept queries Useful for video parses that want to attach matter or find out if downstream supports certain metas. API: GstBaseParseClass::src_query() API: GstBaseParseClass::sink_query() https://bugzilla.gnome.org/show_bug.cgi?id=691475 2013-01-12 20:54:26 +0000 Tim-Philipp Müller * libs/gst/base/gstbaseparse.c: baseparse: fix up name of default event vfuncs 2013-01-10 11:34:14 +0100 Stefan Sauer * docs/gst/gstreamer-sections.txt: * gst/gstcontrolbinding.h: controlbinding: hide one unused typedef This is not used internally. 2013-01-10 11:33:42 +0100 Stefan Sauer * gst/gstcontrolbinding.c: * gst/gstcontrolsource.c: docs: improve api docs for controlsource and -binding 2013-01-05 16:30:04 +0000 Tim-Philipp Müller * tests/check/gst/gstghostpad.c: tests: fix leak in ghostpad unit test The created pad is never used and overwritten with another newly-created pad a few lines below. 2013-01-04 12:27:38 +0000 Tim-Philipp Müller * gst/gstsystemclock.h: docs: minor systemsclock doc fix 2013-01-03 10:16:18 +0100 Sebastian Dröge * libs/gst/base/gstbasesink.c: basesink: Initialize uninitialized variable 2012-12-30 23:35:48 +0100 Thijs Vermeir * libs/gst/base/gstadapter.c: * libs/gst/base/gstadapter.h: adapter: return gssize from gst_adapter_masked_scan_* functions As the return value of this function is -1 when the match is not found 2013-01-01 10:23:59 +0100 Sebastian Dröge * libs/gst/base/gstbasesink.c: basesink: Check if buffers are too late before calling prepare/prepare_list https://bugzilla.gnome.org/show_bug.cgi?id=690936 2012-12-30 23:48:47 +0000 Tim-Philipp Müller * configure.ac: configure: replace deprecated AM_CONFIG_HEADER with AC_CONFIG_HEADERS AM_CONFIG_HEADER has been removed in the just-released automake 1.13: https://lists.gnu.org/archive/html/automake/2012-12/msg00038.html https://bugzilla.gnome.org/show_bug.cgi?id=690881 2012-12-22 16:50:49 +0000 Tim-Philipp Müller * gst/gstcaps.c: * gst/gststructure.c: * gst/gsttaglist.c: caps, structure, taglist: micro-optimisations Avoid some unnecessary GValue copying by making use of gst_structure_id_take_value() where possible. 2012-12-22 16:29:03 +0000 Tim-Philipp Müller * gst/gstvalue.c: gstvalue: some micro-optimisations Avoid unnecessary value copying, and unnecessary init/unset cycles which all go through the value table. There's a bunch of places where we copy a value and then unset it in the next line, instead of just taking over the source value. 2012-12-22 16:53:47 +0100 Thijs Vermeir * scripts/create-uninstalled-setup.sh: scripts: fix location of repository with ssh 2012-12-21 16:36:37 +0100 Wim Taymans * gst/gstbin.c: * gst/gstbin.h: bin: add flag to disable resync state change Add a GST_BIN_FLAG_NO_RESYNC that disables a resync when an element is added, removed or linked in the bin. This is interesting for complex bins that dynamically add elements to themselves and want to manage the state of those elements without interference from resyncs. See https://bugzilla.gnome.org/show_bug.cgi?id=690420 2012-12-21 10:09:30 +0100 Wim Taymans * docs/design/part-synchronisation.txt: docs: update synchronization document a little 2012-12-20 16:40:04 +0100 Wim Taymans * gst/gstsystemclock.h: systemclock: add OTHER clock type Add an OTHER clock type so that subclasses are able to mark themselves as using some other clock source than the realtime or monotonic clock. 2012-12-20 13:31:02 +0100 Branko Subasic * plugins/elements/gstmultiqueue.c: multiqueue: correct overrun handling The control of wheteher a SingleQueue is full is not correct. Rewrote single_queue_overrun_cb() so it checks the correct variables when checking if the queue has reached the hard limits, and to increase the max buffer limit once for each call. https://bugzilla.gnome.org/show_bug.cgi?id=690557 2012-12-20 11:59:54 +0100 Wim Taymans * plugins/elements/gstqueue2.c: queue2: implement buffering query for all modes Also implement the buffering query for STREAM mode. 2012-12-20 11:30:25 +0100 Wim Taymans * plugins/elements/gstqueue2.c: queue2: refactor buffering percent and stats Make methods to get the current buffering percent and the stats. We will use this in the query later. 2012-12-13 13:47:29 +0100 Arnaud Vrac * libs/gst/base/gstbaseparse.c: baseparse: fix invalid output timestamps in some cases 2012-12-14 15:22:27 +0100 Wim Taymans * docs/design/part-element-sink.txt: * docs/design/part-events.txt: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * plugins/elements/gstidentity.c: * plugins/elements/gstoutputselector.c: NEWSEGMENT -> SEGMENT 2012-12-14 14:03:43 +0000 Tim-Philipp Müller * docs/plugins/gstreamer-plugins.args: * docs/plugins/gstreamer-plugins.prerequisites: * docs/plugins/gstreamer-plugins.signals: * docs/plugins/inspect/plugin-coreelements.xml: * docs/random/porting-to-1.0.txt: docs: update plugin docs Update args/signals etc. 2012-12-14 11:09:30 +0100 Wim Taymans * gst/gstsample.c: * gst/gststructure.c: add debug category Adding a debug category is nicer than logging to the default category 2012-12-14 11:08:57 +0100 Wim Taymans * gst/gstelement.c: element: improve debug 2012-12-13 14:48:35 +0100 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: call _stop when start failed When we failed to complete the start, call stop again. This makes sure that all successfull calls to _start are paired with a _stop. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=687845 2012-12-12 16:44:14 +0000 Sebastian Dröge * libs/gst/base/Makefile.am: * libs/gst/base/base.h: * libs/gst/check/Makefile.am: * libs/gst/check/check.h: * libs/gst/check/gstcheck.h: * libs/gst/controller/Makefile.am: * libs/gst/controller/controller.h: * libs/gst/net/Makefile.am: * libs/gst/net/net.h: libs: Use foo/foo.h as single-include header consistently everywhere https://bugzilla.gnome.org/show_bug.cgi?id=688785 2012-12-11 16:46:18 +0100 Wim Taymans * libs/gst/base/gstbaseparse.c: baseparse: pass DTS and PTS to handle_buffer This makes it handle the timestamps correctly and avoids using a wrong timestamp for the output. 2012-12-11 16:46:01 +0100 Wim Taymans * libs/gst/base/gstbaseparse.c: baseparse: improve debug Add pts and dts in debug log 2012-11-03 16:59:39 +0000 Andrzej Bieniek * tools/gst-launch.c: gst-launch: report execution time in GST_TIME_FORMAT https://bugzilla.gnome.org/show_bug.cgi?id=687523 2012-12-10 11:55:42 +0100 Wim Taymans * gst/gstplugin.c: plugin: protect against NULL filename in debug See https://bugzilla.gnome.org/show_bug.cgi?id=689948 2012-12-06 09:48:08 +0100 Wim Taymans * gst/gstbufferpool.h: bufferpool: clarify docs 2012-12-05 14:56:48 +0100 Wim Taymans * gst/gstcaps.c: caps: fix docs 2012-12-05 14:24:14 +0100 Wim Taymans * libs/gst/base/gstadapter.c: adapter: fix 0.10 docs to make more sense in 1.0 2012-12-05 14:03:27 +0100 Wim Taymans * libs/gst/base/gstadapter.c: adapter: fix docs for 1.0 Add parent to chain function signature and use it. 2012-11-30 10:41:51 +0100 Wim Taymans * gst/gstmessage.c: message: add reset-time type string 2012-11-30 10:41:36 +0100 Wim Taymans * gst/gstbin.c: bin: remove some casts 2012-11-28 18:08:52 +0000 Tim-Philipp Müller * docs/random/porting-to-1.0.txt: docs: add link to python porting doc and app dev manual to porting-to-1.0.txt 2012-11-28 17:36:55 +0100 Edward Hervey * configure.ac: configure.ac: Update libtool versioning In order for 1.x and 1.(x+1) versions to not invade on each other we need to have different lib versions. So we need a consistent and predictable scheme: library version number = MINOR * 100 + MICRO Ex: 1.0.0 => 0 (duh) 1.0.3 => 3 1.1.0 => 100 1.1.1 => 101 1.2.0 => 120 1.10.5 => 1005 .... 2012-11-26 18:16:52 -0500 Luis de Bethencourt * scripts/gst-uninstalled: add gst-editing-services to PKG_CONFIG_PATH 2012-11-26 00:51:38 +0000 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: docs: clean up sections file for pad probe defines that moved into enum 2012-11-26 00:20:26 +0000 Tim-Philipp Müller * common: * gst/Makefile.am: * pkgconfig/gstreamer-uninstalled.pc.in: * pkgconfig/gstreamer.pc.in: gst: don't require gthread-2.0 We don't need to link to gthread-2.0 any longer, since all the normal thread-related stuff is in GLib proper, and we don't use g_thread_init() any more. https://bugzilla.gnome.org/show_bug.cgi?id=689043 2012-11-25 23:42:57 +0000 Tim-Philipp Müller * configure.ac: * pkgconfig/gstreamer-uninstalled.pc.in: * pkgconfig/gstreamer.pc.in: gstreamer-1.0.pc: move gmodule-no-export-2.0 dependency to Requires.private Users of GStreamer are not generally expected to use the GModule API directly. so don't force them all to link against it. While we're at it, no need to define this via configure.ac really, just put the dependencies directly into the .pc.in file. 2012-11-25 23:26:47 +0000 Tim-Philipp Müller * docs/manual/appendix-integration.xml: * docs/manual/basics-init.xml: * gst/gst.c: docs: remove all mention of g_thread_init() It's been deprecated since GLib 2.32 and isn't needed any longer. 2012-11-25 18:11:38 +0000 Tim-Philipp Müller * libs/gst/base/gstdataqueue.c: dataqueue: reduce debug log spam a bit Log locking/unlocking with TRACE debug level. 2012-11-23 21:09:45 +0100 Alessandro Decina * gst/gstevent.c: event: fix annotation for gst_event_parse_stream_start 2012-11-23 13:36:09 +0000 Tim-Philipp Müller * gst/gstpad.h: pad: document more pad probe values 2012-11-23 13:34:24 +0000 Tim-Philipp Müller * libs/gst/check/gsttestclock.h: testclock: remove unnecessary include 2012-11-23 13:32:07 +0000 Tim-Philipp Müller * tests/check/gst/gstclock.c: tests: fix clock unit test build failure after header changes https://bugzilla.gnome.org/show_bug.cgi?id=688785 2012-11-23 12:47:25 +0000 Tim-Philipp Müller * gst/gstpad.h: pad: don't use parenthesis for ORed pad probe flag enums glib-mkenum doesn't like them for some reason. https://bugzilla.gnome.org/show_bug.cgi?id=688804 2012-11-23 10:58:25 +0100 Olivier Crête * gst/gstpad.h: pad: Put all of the probe types in the enum so they work with bindings https://bugzilla.gnome.org/show_bug.cgi?id=688804 2012-11-20 23:13:33 -0800 Evan Nemerson * libs/gst/base/Makefile.am: * libs/gst/base/gstbase.h: * libs/gst/check/Makefile.am: * libs/gst/check/gstcheck.h: * libs/gst/controller/Makefile.am: * libs/gst/controller/gstcontroller.h: * libs/gst/net/gstnet.h: libs: Add missing single include headers and use them in GIRs 2012-11-20 16:34:28 +0100 Wim Taymans * tests/check/libs/gsttestclock.c: tests: don't use deprecated thread API 2012-11-20 16:19:52 +0100 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: add some debug 2012-11-20 16:19:16 +0100 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: reset START_TIME when needed Fixes https://bugzilla.gnome.org/show_bug.cgi?id=685870 2012-11-20 15:37:11 +0100 Sebastian Dröge * gst/gstvalue.h: value: Make G-I happy by hiding gst_g_thread_get_type() 2012-11-20 15:07:37 +0100 Christian Fredrik Kalager Schaller * gstreamer.spec.in: Remove xfig from spec file 2012-11-20 15:06:14 +0100 Sebastian Dröge * gst/gstvalue.c: value: Use the GLib GType for GThread if compiling against GLib 2.35.3 or newer 2012-11-20 12:56:12 +0100 Sebastian Dröge * gst/gst.c: gst: Don't set the locale in gst_init() The function init_pre() in gstreamer/gst/gst.c calls setlocale(LC_ALL, ""), which sets the locale to the values specified in the environment. This is wrong for two reasons: 1. It is absolutely not the task of a library to decide on the correct locale for a program. Some programs change the locale for various (good or bad) reasons, and libraries should respect that. Programs where GStreamer's overwriting of the locale causes bugs include Emacs [1, 2], Sublime Text [3], and Lua [4]. [1] http://debbugs.gnu.org/cgi/bugreport.cgi?bug=12392 [2] http://bugzilla.novell.com/show_bug.cgi?id=779426 [3] http://www.sublimetext.com/forum/viewtopic.php?f=3&t=8543 [4] https://github.com/pavouk/lgi/issues/19 Note that setting the locale can cause problems for programs that are not even linked against GStreamer. In the case of Emacs, for example, GStreamer seems to be initialized through GTK via libcanberra. 2. Setting the locale is not thread-safe, and therefore should not be done in a library. https://bugzilla.gnome.org/show_bug.cgi?id=685650 2012-11-16 19:41:48 +0100 Arnaud Vrac * libs/gst/base/gstbaseparse.c: baseparse: forward stream-start event in push mode 2012-11-19 13:38:30 +0100 Christian Fredrik Kalager Schaller * docs/README: * docs/manual/state-diagram.fig: * docs/random/wtay/player.fig: Remove two last .fig files from build, they are now replaced with .svg files. That said I don't think either .fig file was still being used anywhere. With this change and the one in common GStreamer no longer depends on xfig. 2012-11-19 13:16:48 +0100 Christian Fredrik Kalager Schaller Merge branch 'master' of ssh://git.freedesktop.org/git/gstreamer/gstreamer 2012-11-19 11:23:32 +0000 Tim-Philipp Müller * common: Automatic update of common submodule From b497c4f to a72faea 2012-11-19 11:45:07 +0100 Christian Fredrik Kalager Schaller * docs/manual/state-diagram.svg: * docs/random/wtay/player.svg: Add SVG versions of .fig file 2012-11-17 10:27:11 +0000 Tim-Philipp Müller * tests/examples/manual/Makefile.am: examples: don't compile testrtpool example if pthreads are not available like on win32 Based on patch by: italarab@gmail.com https://bugzilla.gnome.org/show_bug.cgi?id=688511 2012-11-13 21:13:00 +0100 Arnaud Vrac * plugins/elements/gstinputselector.c: inputselector: fix clock leak in wait_running_time https://bugzilla.gnome.org/show_bug.cgi?id=688477 2012-11-17 00:13:14 +0000 Tim-Philipp Müller * gst/gstcompat.h: gstcompat.h: move more deprecated API into the deprecated section https://bugzilla.gnome.org/show_bug.cgi?id=675598 2012-11-14 12:20:54 +0100 Philippe Normand * gst/gsttask.c: task: documentation update GStaticRecMutex usage has been replaced by GRecMutex, reflect this change in the documentation. 2012-11-14 10:55:15 +0000 Tim-Philipp Müller * libs/gst/check/gsttestclock.c: testclock: port to new GLib threading API 2012-11-13 23:11:34 +0000 Tim-Philipp Müller * gst/gstcompat.h: * libs/gst/base/gstadapter.c: * tests/check/libs/adapter.c: tests: gst_adapter_prev_timestamp -> gst_adapter_prev_pts https://bugzilla.gnome.org/show_bug.cgi?id=675598 2012-11-13 22:42:05 +0000 Tim-Philipp Müller * libs/gst/check/gsttestclock.c: * libs/gst/check/gsttestclock.h: * tests/check/libs/.gitignore: testclock: minor cleanups, add since markers for gtk-doc https://bugzilla.gnome.org/show_bug.cgi?id=683012 2012-08-30 01:58:41 +0200 Sebastian Rasmussen * docs/libs/gstreamer-libs-sections.txt: * libs/gst/check/Makefile.am: * libs/gst/check/gsttestclock.c: * libs/gst/check/gsttestclock.h: * tests/check/libs/gsttestclock.c: check: allow GstTestClock to handle clock notifications API: gst_test_clock_peek_id_count() API: gst_test_clock_has_id() API: gst_test_clock_peek_next_pending_id() API: gst_test_clock_wait_for_next_pending_id() API: gst_test_clock_wait_for_pending_id_count() API: gst_test_clock_process_next_clock_id() API: gst_test_clock_get_next_entry_time() https://bugzilla.gnome.org/show_bug.cgi?id=683012 2012-11-13 21:29:01 +0000 Tim-Philipp Müller * libs/gst/check/Makefile.am: check: add dependency on gstcheck header files for exports.sym So exports.sym gets updated correctly, and our new symbols get exported correctly, which makes g-ir-scanner much happier in terms of linking. https://bugzilla.gnome.org/show_bug.cgi?id=683012 2012-08-29 16:11:10 +0200 Sebastian Rasmussen * docs/libs/Makefile.am: * docs/libs/gstreamer-libs-docs.sgml: * docs/libs/gstreamer-libs-sections.txt: * docs/libs/gstreamer-libs.types: * libs/gst/check/Makefile.am: * libs/gst/check/gsttestclock.c: * libs/gst/check/gsttestclock.h: * tests/check/Makefile.am: * tests/check/libs/gsttestclock.c: check: add GstTestClock as a deterministic clock for testing API: GstTestClock API: gst_test_clock_new() API: gst_test_clock_new_with_start_time() API: gst_test_clock_set_time() API: gst_test_clock_advance_time() https://bugzilla.gnome.org/show_bug.cgi?id=683012 2012-11-09 21:10:42 +0000 Tim-Philipp Müller * libs/gst/base/gstbasesrc.c: basesrc: fix debug message 2012-11-08 20:22:19 +0000 Tim-Philipp Müller * gst/gststructure.h: structure: re-indent header file Tabs to spaces. 2012-11-12 11:40:59 +0100 Sebastian Dröge * gst/gstvalue.c: * gst/gstvalue.h: * win32/common/libgstbase.def: * win32/common/libgstreamer.def: value: API: Add boxed type for GThread 2012-11-12 10:30:08 +0100 Sebastian Dröge * tools/gst-inspect.c: gst-inspect: Fix indention for printing typefinder features 2012-11-12 01:40:42 +0100 Sebastian Rasmussen * gst/gstinfo.c: info: fix compiler warning when debugging disabled Fixes https://bugzilla.gnome.org/show_bug.cgi?id=688130 2012-11-10 09:50:49 +0100 Alessandro Decina * plugins/elements/gstqueue.c: queue: remove unused label. Fixes compiler warning. 2012-10-29 12:08:31 +0000 Alessandro Decina * plugins/elements/gstqueue.c: * tests/check/elements/queue.c: queue: don't fail in _sink_event for sticky events Implement the same behaviour as gst_pad_push_event when pushing sticky events fails, that is don't fail immediately but fail when data flow resumes and upstream can aggregate properly. This fixes segment seeks with decodebin and unlinked audio or video branches. Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=687899 2012-11-09 16:50:50 +0100 Wim Taymans * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesink.h: basesink: add simple rate control Add a max-bitrate property that will slightly delay rendering of buffers if it would exceed the maximum defined bitrate. This can be used to do rate control on network sinks, for example. API: GstBaseSink::max-bitrate API: gst_base_sink_set_max_bitrate() API: gst_base_sink_get_max_bitrate() 2012-11-08 15:33:01 +1100 Matthew Waters * gst/gstbufferpool.c: bufferpool: lock before unlock in _get_config Fixes deadlock on Windows Fixes https://bugzilla.gnome.org/show_bug.cgi?id=687896 2012-11-07 18:15:11 +0000 Tim-Philipp Müller * configure.ac: configure: update courtesy of autoupdate 2012-11-07 17:59:49 +0000 Tim-Philipp Müller * common: common: update for AG_GST_PLUGIN_DOCS python checks 2012-11-06 18:29:28 +0100 Olivier Crête * docs/gst/running.xml: * tools/gst-launch.1.in: Document GST_DEBUG_FILE 2012-11-06 17:03:47 +0000 Tim-Philipp Müller * tools/gst-inspect.c: gst-inspect: fix alignment of rank, etc. 2012-11-06 16:58:04 +0000 Tim-Philipp Müller * plugins/elements/gstelements.c: elements: fix leading space in plugin description string 2012-11-03 20:38:00 +0000 Tim-Philipp Müller * plugins/elements/gstdataurisrc.c: * plugins/elements/gstdataurisrc.h: * tests/check/elements/dataurisrc.c: Fix FSF address https://bugzilla.gnome.org/show_bug.cgi?id=687520 2012-11-03 20:44:48 +0000 Tim-Philipp Müller * COPYING: * docs/random/LICENSE: * gst/gettext.h: * gst/glib-compat-private.h: * gst/glib-compat.c: * gst/glib-compat.h: * gst/gst-i18n-app.h: * gst/gst-i18n-lib.h: * gst/gst.c: * gst/gst.h: * gst/gst_private.h: * gst/gstallocator.c: * gst/gstallocator.h: * gst/gstatomicqueue.c: * gst/gstatomicqueue.h: * gst/gstbin.c: * gst/gstbin.h: * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstbufferlist.c: * gst/gstbufferlist.h: * gst/gstbufferpool.c: * gst/gstbufferpool.h: * gst/gstbus.c: * gst/gstbus.h: * gst/gstcaps.c: * gst/gstcaps.h: * gst/gstchildproxy.c: * gst/gstchildproxy.h: * gst/gstclock.c: * gst/gstclock.h: * gst/gstcompat.h: * gst/gstconfig.h.in: * gst/gstcontrolbinding.c: * gst/gstcontrolbinding.h: * gst/gstcontrolsource.c: * gst/gstcontrolsource.h: * gst/gstdatetime.c: * gst/gstdatetime.h: * gst/gstdebugutils.c: * gst/gstdebugutils.h: * gst/gstelement.c: * gst/gstelement.h: * gst/gstelementfactory.c: * gst/gstelementfactory.h: * gst/gstelementmetadata.h: * gst/gsterror.c: * gst/gsterror.h: * gst/gstevent.c: * gst/gstevent.h: * gst/gstformat.c: * gst/gstformat.h: * gst/gstghostpad.c: * gst/gstghostpad.h: * gst/gstinfo.c: * gst/gstinfo.h: * gst/gstiterator.c: * gst/gstiterator.h: * gst/gstmacros.h: * gst/gstmemory.c: * gst/gstmemory.h: * gst/gstmessage.c: * gst/gstmessage.h: * gst/gstmeta.c: * gst/gstmeta.h: * gst/gstminiobject.c: * gst/gstminiobject.h: * gst/gstobject.c: * gst/gstobject.h: * gst/gstpad.c: * gst/gstpad.h: * gst/gstpadtemplate.c: * gst/gstpadtemplate.h: * gst/gstparamspecs.c: * gst/gstparamspecs.h: * gst/gstparse.c: * gst/gstparse.h: * gst/gstpipeline.c: * gst/gstpipeline.h: * gst/gstplugin.c: * gst/gstplugin.h: * gst/gstpluginfeature.c: * gst/gstpluginfeature.h: * gst/gstpluginloader.c: * gst/gstpluginloader.h: * gst/gstpoll.c: * gst/gstpoll.h: * gst/gstpreset.c: * gst/gstpreset.h: * gst/gstquark.c: * gst/gstquark.h: * gst/gstquery.c: * gst/gstquery.h: * gst/gstregistry.c: * gst/gstregistry.h: * gst/gstregistrybinary.c: * gst/gstregistrybinary.h: * gst/gstregistrychunks.c: * gst/gstregistrychunks.h: * gst/gstsample.c: * gst/gstsample.h: * gst/gstsegment.c: * gst/gstsegment.h: * gst/gststructure.c: * gst/gststructure.h: * gst/gstsystemclock.c: * gst/gstsystemclock.h: * gst/gsttaglist.c: * gst/gsttaglist.h: * gst/gsttagsetter.c: * gst/gsttagsetter.h: * gst/gsttask.c: * gst/gsttask.h: * gst/gsttaskpool.c: * gst/gsttaskpool.h: * gst/gsttoc.c: * gst/gsttoc.h: * gst/gsttocsetter.c: * gst/gsttocsetter.h: * gst/gsttrace.c: * gst/gsttrace.h: * gst/gsttypefind.c: * gst/gsttypefind.h: * gst/gsttypefindfactory.c: * gst/gsttypefindfactory.h: * gst/gsturi.c: * gst/gsturi.h: * gst/gstutils.c: * gst/gstutils.h: * gst/gstvalue.c: * gst/gstvalue.h: * gst/gstversion.h.in: * gst/math-compat.h: * libs/gst/base/gstadapter.c: * libs/gst/base/gstadapter.h: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbaseparse.h: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesink.h: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasesrc.h: * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstbasetransform.h: * libs/gst/base/gstbitreader-docs.h: * libs/gst/base/gstbitreader.c: * libs/gst/base/gstbitreader.h: * libs/gst/base/gstbytereader-docs.h: * libs/gst/base/gstbytereader.c: * libs/gst/base/gstbytereader.h: * libs/gst/base/gstbytewriter-docs.h: * libs/gst/base/gstbytewriter.c: * libs/gst/base/gstbytewriter.h: * libs/gst/base/gstcollectpads.c: * libs/gst/base/gstcollectpads.h: * libs/gst/base/gstdataqueue.c: * libs/gst/base/gstdataqueue.h: * libs/gst/base/gstindex.c: * libs/gst/base/gstindex.h: * libs/gst/base/gstmemindex.c: * libs/gst/base/gstpushsrc.c: * libs/gst/base/gstpushsrc.h: * libs/gst/base/gstqueuearray.c: * libs/gst/base/gstqueuearray.h: * libs/gst/base/gsttypefindhelper.c: * libs/gst/base/gsttypefindhelper.h: * libs/gst/check/gstbufferstraw.c: * libs/gst/check/gstbufferstraw.h: * libs/gst/check/gstcheck.c: * libs/gst/check/gstcheck.h: * libs/gst/check/gstconsistencychecker.c: * libs/gst/check/gstconsistencychecker.h: * libs/gst/check/libcheck/check.c: * libs/gst/check/libcheck/check.h.in: * libs/gst/check/libcheck/check_error.c: * libs/gst/check/libcheck/check_error.h: * libs/gst/check/libcheck/check_impl.h: * libs/gst/check/libcheck/check_list.c: * libs/gst/check/libcheck/check_list.h: * libs/gst/check/libcheck/check_log.c: * libs/gst/check/libcheck/check_log.h: * libs/gst/check/libcheck/check_msg.c: * libs/gst/check/libcheck/check_msg.h: * libs/gst/check/libcheck/check_pack.c: * libs/gst/check/libcheck/check_pack.h: * libs/gst/check/libcheck/check_print.c: * libs/gst/check/libcheck/check_print.h: * libs/gst/check/libcheck/check_run.c: * libs/gst/check/libcheck/check_str.c: * libs/gst/check/libcheck/check_str.h: * libs/gst/controller/gstargbcontrolbinding.c: * libs/gst/controller/gstargbcontrolbinding.h: * libs/gst/controller/gstdirectcontrolbinding.c: * libs/gst/controller/gstdirectcontrolbinding.h: * libs/gst/controller/gstinterpolationcontrolsource.c: * libs/gst/controller/gstinterpolationcontrolsource.h: * libs/gst/controller/gstlfocontrolsource.c: * libs/gst/controller/gstlfocontrolsource.h: * libs/gst/controller/gsttimedvaluecontrolsource.c: * libs/gst/controller/gsttimedvaluecontrolsource.h: * libs/gst/controller/gsttriggercontrolsource.c: * libs/gst/controller/gsttriggercontrolsource.h: * libs/gst/helpers/gst-plugin-scanner.c: * libs/gst/net/gstnet.h: * libs/gst/net/gstnetaddressmeta.c: * libs/gst/net/gstnetaddressmeta.h: * libs/gst/net/gstnetclientclock.c: * libs/gst/net/gstnetclientclock.h: * libs/gst/net/gstnettimepacket.c: * libs/gst/net/gstnettimepacket.h: * libs/gst/net/gstnettimeprovider.c: * libs/gst/net/gstnettimeprovider.h: * plugins/elements/gstcapsfilter.c: * plugins/elements/gstcapsfilter.h: * plugins/elements/gstelements.c: * plugins/elements/gstfakesink.c: * plugins/elements/gstfakesink.h: * plugins/elements/gstfakesrc.c: * plugins/elements/gstfakesrc.h: * plugins/elements/gstfdsink.c: * plugins/elements/gstfdsink.h: * plugins/elements/gstfdsrc.c: * plugins/elements/gstfdsrc.h: * plugins/elements/gstfilesink.c: * plugins/elements/gstfilesink.h: * plugins/elements/gstfilesrc.c: * plugins/elements/gstfilesrc.h: * plugins/elements/gstidentity.c: * plugins/elements/gstidentity.h: * plugins/elements/gstinputselector.c: * plugins/elements/gstinputselector.h: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstmultiqueue.h: * plugins/elements/gstoutputselector.c: * plugins/elements/gstoutputselector.h: * plugins/elements/gstqueue.c: * plugins/elements/gstqueue.h: * plugins/elements/gstqueue2.c: * plugins/elements/gstqueue2.h: * plugins/elements/gsttee.c: * plugins/elements/gsttee.h: * plugins/elements/gsttypefindelement.c: * plugins/elements/gsttypefindelement.h: * plugins/elements/gstvalve.c: * plugins/elements/gstvalve.h: * scripts/create-uninstalled-setup.sh: * scripts/five-bugs-a-day.pl: * tests/benchmarks/caps.c: * tests/benchmarks/capsnego.c: * tests/benchmarks/complexity.c: * tests/benchmarks/controller.c: * tests/benchmarks/gstbufferstress.c: * tests/benchmarks/gstclockstress.c: * tests/benchmarks/gstpollstress.c: * tests/benchmarks/init.c: * tests/benchmarks/mass-elements.c: * tests/check/elements/capsfilter.c: * tests/check/elements/fakesink.c: * tests/check/elements/fakesrc.c: * tests/check/elements/fdsrc.c: * tests/check/elements/filesink.c: * tests/check/elements/filesrc.c: * tests/check/elements/identity.c: * tests/check/elements/multiqueue.c: * tests/check/elements/queue.c: * tests/check/elements/queue2.c: * tests/check/elements/selector.c: * tests/check/elements/tee.c: * tests/check/elements/valve.c: * tests/check/generic/sinks.c: * tests/check/generic/states.c: * tests/check/gst/gst.c: * tests/check/gst/gstabi.c: * tests/check/gst/gstatomicqueue.c: * tests/check/gst/gstbin.c: * tests/check/gst/gstbuffer.c: * tests/check/gst/gstbufferlist.c: * tests/check/gst/gstbus.c: * tests/check/gst/gstcaps.c: * tests/check/gst/gstchildproxy.c: * tests/check/gst/gstclock.c: * tests/check/gst/gstcontroller.c: * tests/check/gst/gstdatetime.c: * tests/check/gst/gstelement.c: * tests/check/gst/gstelementfactory.c: * tests/check/gst/gstevent.c: * tests/check/gst/gstghostpad.c: * tests/check/gst/gstindex.c: * tests/check/gst/gstinfo.c: * tests/check/gst/gstiterator.c: * tests/check/gst/gstmemory.c: * tests/check/gst/gstmessage.c: * tests/check/gst/gstmeta.c: * tests/check/gst/gstminiobject.c: * tests/check/gst/gstobject.c: * tests/check/gst/gstpad.c: * tests/check/gst/gstparamspecs.c: * tests/check/gst/gstpipeline.c: * tests/check/gst/gstplugin.c: * tests/check/gst/gstpoll.c: * tests/check/gst/gstpreset.c: * tests/check/gst/gstquery.c: * tests/check/gst/gstregistry.c: * tests/check/gst/gstsegment.c: * tests/check/gst/gststructure.c: * tests/check/gst/gstsystemclock.c: * tests/check/gst/gsttag.c: * tests/check/gst/gsttagsetter.c: * tests/check/gst/gsttask.c: * tests/check/gst/gsttoc.c: * tests/check/gst/gsttocsetter.c: * tests/check/gst/gsturi.c: * tests/check/gst/gstutils.c: * tests/check/gst/gstvalue.c: * tests/check/libs/adapter.c: * tests/check/libs/basesink.c: * tests/check/libs/basesrc.c: * tests/check/libs/bitreader.c: * tests/check/libs/bytereader.c: * tests/check/libs/bytewriter.c: * tests/check/libs/collectpads.c: * tests/check/libs/controller.c: * tests/check/libs/gstlibscpp.cc: * tests/check/libs/gstnetclientclock.c: * tests/check/libs/gstnettimeprovider.c: * tests/check/libs/libsabi.c: * tests/check/libs/queuearray.c: * tests/check/libs/transform1.c: * tests/check/libs/typefindhelper.c: * tests/check/pipelines/cleanup.c: * tests/check/pipelines/parse-disabled.c: * tests/check/pipelines/parse-launch.c: * tests/check/pipelines/queue-error.c: * tests/check/pipelines/seek.c: * tests/check/pipelines/simple-launch-lines.c: * tests/check/pipelines/stress.c: * tests/check/tools/gstinspect.c: * tests/examples/memory/my-memory.c: * tests/examples/memory/my-memory.h: * tests/examples/memory/my-vidmem.c: * tests/examples/memory/my-vidmem.h: * tests/examples/metadata/read-metadata.c: * tests/examples/streams/testrtpool.c: * tests/examples/streams/testrtpool.h: * tests/examples/typefind/typefind.c: * tests/misc/network-clock-utils.scm: * tests/misc/network-clock.scm: * tools/gst-inspect.c: * tools/gst-launch.c: * tools/gst-typefind.c: * tools/tools.h: * win32/common/gstconfig.h: * win32/common/gstversion.h: Fix FSF address https://bugzilla.gnome.org/show_bug.cgi?id=687520 2012-10-31 19:33:30 +0000 Tim-Philipp Müller * docs/plugins/gstreamer-plugins.args: * plugins/elements/gstqueue.c: * plugins/elements/gstqueue.h: queue: add "flush-on-eos" property In flush-on-eos=true mode any data remaining in the queue is discarded when an EOS event is received, and the EOS passed downstream as soon as possible (instead of waiting for all buffers in the queue to get processed by downstream first). May or may not be useful in capture/encoding scenarios. 2012-10-31 18:32:38 +0000 Tim-Philipp Müller * common: common: update for python detection Fixes docs build. 2012-10-31 17:37:37 +0000 Tim-Philipp Müller * common: * configure.ac: configure: let AG_GST_PLUGIN_DOCS check for python And update common for move from AS_PATH_PYTHON to AM_PATH_PYTHON, which as a side-effect should pick up newer python versions as well. https://bugzilla.gnome.org/show_bug.cgi?id=563903 2012-10-30 10:04:44 +1100 Jan Schmidt * libs/gst/base/gstcollectpads.c: collectpads: Clarify docs about the buffer handler callback. Clarify that the callback owns a ref on a passed buffer. 2012-10-30 10:04:14 +1100 Jan Schmidt * plugins/elements/gstmultiqueue.c: multiqueue: Add EOS status to debug output about filled/unfilled 2012-10-22 00:31:09 +1100 Jan Schmidt * tests/check/libs/collectpads.c: check: Add a simple test for the CollectPads buffer collect callback 2012-10-29 13:26:10 +0000 Tim-Philipp Müller * libs/gst/base/Makefile.am: * libs/gst/check/Makefile.am: * libs/gst/controller/Makefile.am: * libs/gst/net/Makefile.am: g-i: fix "can't resolve libraries to shared libraries: gstcheck-1.0" build error Revert --library=libfoo-1.0.la -> --library=foo-1.0 change made in previous commit. Turns out that was wrong, despite what the man page says. https://bugzilla.gnome.org/show_bug.cgi?id=603710 2012-10-29 11:30:30 +0000 Tim-Philipp Müller * gst/gstutils.c: pad: downgrade 'creating random stream-id' debug log message No need for it to be a warning. 2012-06-13 13:02:48 +0100 Vincent Penquerc'h * libs/gst/base/gstbaseparse.c: baseparse: prevent excessively high memory usage with long streams Large streams would index one frame every second, which can get quite large with multi-hour streams, so add an additional byte-based minimum distance as well, which will kick in for long streams and make sure we never have more than a couple of thousand index entries. https://bugzilla.gnome.org/show_bug.cgi?id=666053 2012-10-28 17:17:49 +0000 Tim-Philipp Müller * libs/gst/base/Makefile.am: * libs/gst/check/Makefile.am: * libs/gst/controller/Makefile.am: * libs/gst/net/Makefile.am: libs: g-i: avoid multiple libraries in the shared-library tag Using multiple libraries causes problems for the C# bindings and will for similiar languages such as Java when there are bindings for them. Also change --library=libgstfoo-X.la to --library=gstfoo-X as the man page suggests it should be done. https://bugzilla.gnome.org/show_bug.cgi?id=679315 2012-10-28 15:53:19 +0000 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gstpluginfeature.c: * gst/gstpluginfeature.h: * win32/common/libgstreamer.def: pluginfeature: add gst_plugin_feature_get_plugin_name() API: gst_plugin_feature_get_plugin_name() https://bugzilla.gnome.org/show_bug.cgi?id=571832 2012-10-27 14:40:14 +0100 Tim-Philipp Müller * gst/gstinfo.c: info: allow setting of GST_DEBUG levels by name e.g. GST_DEBUG=*:INFO,*src:LOG 2012-06-29 12:38:52 -0400 Thibault Saunier * gst/gst.c: gst: make us of the new gst_debug_set_threshold_from_string function https://bugzilla.gnome.org/show_bug.cgi?id=679152 2012-06-29 12:05:36 -0400 Thibault Saunier * docs/gst/gstreamer-sections.txt: * gst/gstinfo.c: * gst/gstinfo.h: * win32/common/libgstreamer.def: info: add a function to set debug threshold from a GST_DEBUG-style string Use the same format as with the GST_DEBUG environment variable. API: gst_debug_set_threshold_from_string() https://bugzilla.gnome.org/show_bug.cgi?id=679152 2012-10-25 15:27:23 +0200 Sebastian Dröge * tests/check/libs/queuearray.c: queuearray: Fix unit test 2012-10-22 10:13:20 +0200 Sebastian Dröge * docs/libs/gstreamer-libs-docs.sgml: * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/Makefile.am: * libs/gst/base/gstdataqueue.c: * libs/gst/base/gstdataqueue.h: * libs/gst/base/gstqueuearray.c: * libs/gst/base/gstqueuearray.h: * plugins/elements/Makefile.am: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstmultiqueue.h: * plugins/elements/gstqueue.c: * plugins/elements/gstqueue.h: * plugins/elements/gstqueuearray.h: * win32/common/libgstbase.def: dataqueue/queuearray: Make public API again These are actually used outside of coreelements nowadays. Also hide lots of internals and add padding and documentation. 2012-10-25 12:10:27 +0100 Tim-Philipp Müller * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * win32/common/config.h: * win32/common/gstversion.h: Back to feature development === release 1.0.2 === 2012-10-25 00:04:49 +0100 Tim-Philipp Müller * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * gstreamer.doap: * win32/common/config.h: * win32/common/gstversion.h: Release 1.0.2 2012-10-24 16:13:34 +0400 Руслан Ижбулатов * tests/examples/manual/Makefile.am: examples: link testrtpool to pthreads Fixes #686787 2012-10-24 11:46:01 +0200 Sebastian Dröge * gst/gstevent.c: event: Allow GST_CLOCK_TIME_NONE as duration for GAP events 2012-10-24 11:16:12 +0200 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: use new GCond for async state change Use a new GCond, protected with the object lock, to signal completion of the async state change. We can't reuse the live lock because that one can be locked when the create function blocks. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=686723 2012-10-22 20:25:43 +0200 Miguel Angel Cabrera Moya * gst/gstallocator.c: allocator: fix memory leak in _fallback_mem_copy https://bugzilla.gnome.org/show_bug.cgi?id=686658 2012-10-22 20:33:06 +0200 Miguel Angel Cabrera Moya * gst/gstpreset.c: preset: remove variable not read https://bugzilla.gnome.org/show_bug.cgi?id=686659 2012-10-22 15:04:26 +0200 Sebastian Dröge * configure.ac: * libs/gst/check/libcheck/Makefile.am: * m4/ax_pthread.m4: * tests/examples/streams/Makefile.am: configure: Properly check for pthread The old check failed on Android for example. 2012-10-22 10:25:40 +0200 Sebastian Dröge * gst/gstinfo.c: info: Don't use GST_DEBUG() in gst_debug_add_log_function() and related functions unconditionally If GStreamer was not initialized yet this will cause g_warnings(). 2012-10-20 19:44:43 +0100 Tim-Philipp Müller * libs/gst/base/gstcollectpads.h: collectpads: fix g-i annotation for GstCollectPadsBufferFunction We pass ownership of the buffer to the function. 2012-10-20 12:54:06 +0100 Tim-Philipp Müller * docs/libs/Makefile.am: * gst/gst.c: g_type_init() is no longer required and deprecated in glib >= 2.35.0 https://bugzilla.gnome.org/show_bug.cgi?id=686456 2012-10-19 13:36:33 -0700 Michael Smith * gst/gstsample.c: GstSample: fix typo in G-I annotations, allows creating GstSamples from bindings. 2012-10-18 15:31:17 +0200 Sebastian Dröge * gst/gstpoll.c: poll: Fix compiler warning about constness passing argument 1 of 'g_mutex_lock' discards 'const' qualifier from pointer target type passing argument 1 of 'g_mutex_unlock' discards 'const' qualifier from pointer target type 2012-10-17 17:34:26 +0100 Tim-Philipp Müller * plugins/elements/gstdataurisrc.c: Use gst_element_class_set_static_metadata() where possible. Avoids some string copies. Also re-indent some stuff. Also some indent fixes here and there. 2012-10-17 16:49:19 +0100 Tim-Philipp Müller * gst/gstbin.c: * gst/gstpipeline.c: bin, pipeline: use gst_element_class_set_static_metadata() So the strings aren't copied. 2012-10-16 12:31:50 +0200 Sebastian Dröge * gst/gstelement.c: * gst/gstelement.h: element: API: Add GstElement::post_message() vfunc Conflicts: gst/gstelement.h 2012-10-16 11:54:54 +0200 Wim Taymans * docs/pwg/advanced-events.xml: pwg: link to caps and qos chapters 2012-10-16 11:20:59 +0200 Wim Taymans * docs/pwg/building-boiler.xml: * docs/pwg/building-queryfn.xml: * docs/pwg/pwg.xml: pwg: add section about query function 2012-10-16 11:12:38 +0200 Wim Taymans * docs/pwg/building-eventfn.xml: pwg: fix event function 2012-10-15 19:56:36 +0100 Tim-Philipp Müller * libs/gst/base/gstcollectpads.c: * libs/gst/base/gstcollectpads.h: collectpads: minor docs fixes 2012-10-15 19:55:42 +0100 Tim-Philipp Müller * libs/gst/base/gstcollectpads.c: collectpads: fix buffer leak in clip_time 2012-10-15 18:44:52 +0200 Mark Nauwelaerts * libs/gst/base/gstcollectpads.c: collectpads: call clip function with user data 2012-10-15 14:06:45 +0200 Wim Taymans * docs/pwg/pwg.xml: pwg: reorder some chapters Reorder some chapter so that they match the steps done in the element. 2012-10-15 13:59:50 +0200 Wim Taymans * docs/pwg/advanced-negotiation.xml: pwg: small tweaks to negotiation 2012-10-15 13:44:51 +0200 Wim Taymans * docs/pwg/advanced-negotiation.xml: pwg: improve negotiation documentation some more 2012-10-15 12:10:46 +0200 Wim Taymans * docs/design/part-negotiation.txt: * docs/pwg/advanced-negotiation.xml: pwg: update negotiation part 2012-10-15 12:10:11 +0200 Wim Taymans * docs/design/part-synchronisation.txt: docs: update synchronization docs 2012-10-12 16:58:03 +0200 Wim Taymans * docs/pwg/advanced-negotiation.xml: pwg: work on rewriting caps negotiation docs 2012-10-12 16:09:26 +0200 Wim Taymans * docs/design/part-negotiation.txt: design: rename passthrough negotiation Rename passthrough negotiation to transform negotiation to avoid confusion with passthrough operation. 2012-10-12 13:15:48 +0200 Wim Taymans * docs/manual/basics-elements.xml: * docs/manual/basics-pads.xml: manual: no more new-decoded-pad 2012-10-12 13:13:32 +0200 Wim Taymans * docs/manual/advanced-dataaccess.xml: * docs/manual/appendix-compiling.xml: * docs/manual/manual.xml: manual: move embedding elements to separate chapter 2012-10-12 13:01:28 +0200 Wim Taymans * docs/pwg/advanced-qos.xml: pwg: small example for throttle 2012-10-12 12:55:57 +0200 Wim Taymans * docs/pwg/advanced-qos.xml: * docs/pwg/pwg.xml: pwg: add info about QoS 2012-10-12 12:55:25 +0200 Wim Taymans * docs/pwg/intro-basics.xml: pwg: adds some more links 2012-10-12 12:55:03 +0200 Wim Taymans * docs/design/part-qos.txt: qos: messages are posted, not dropped 2012-10-12 10:35:43 +0200 Wim Taymans * docs/manual/communication.png: * docs/manual/diagrams-general.svg: * docs/manual/diagrams-pipelines.svg: * docs/manual/gstreamer-overview.png: * docs/manual/mime-world.png: * docs/manual/thread-buffering.png: manual: update graphics 2012-10-11 17:10:17 +0200 Wim Taymans * docs/manual/advanced-buffering.xml: * tests/examples/manual/.gitignore: * tests/examples/manual/Makefile.am: manual: add example of no-rebuffer buffering strategy 2012-10-11 17:10:04 +0200 Wim Taymans * docs/manual/basics-bus.xml: * docs/manual/intro-gstreamer.xml: manual: small tweaks 2012-10-11 17:09:29 +0200 Wim Taymans * gst/gstquery.c: query: buffering time left is in milliseconds 2012-10-11 17:07:39 +0200 Wim Taymans * docs/manual/basics-bins.xml: manual: add some text about bin state change order 2012-10-10 16:43:58 +0200 Wim Taymans * docs/manual/highlevel-playback.xml: * tests/examples/manual/Makefile.am: manual: talk about playsink Talk about playsink and give an example of its usage. 2012-10-10 14:11:43 +0200 Wim Taymans * tests/check/elements/dataurisrc.c: replace some playbin2 -> playbin 2012-10-10 13:08:31 +0200 Wim Taymans * docs/manual/advanced-autoplugging.xml: * docs/manual/highlevel-playback.xml: * docs/manual/manual.xml: * tests/examples/manual/Makefile.am: manual: add something about uridecodebin 2012-10-10 11:35:01 +0200 Mark Nauwelaerts * libs/gst/base/gstcollectpads.c: collectpads: ensure all timestamps are in same time domain ... by not only processing incoming buffers through a clip function, but also other timestamps such as those coming from GAP event. 2012-10-10 10:36:32 +0200 Mark Nauwelaerts * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasesrc.h: docs: adjust some parameter mismatches 2012-10-10 11:34:27 +0200 Sebastian Dröge * gst/gstpad.c: pad: Downgrade GST_WARNING to GST_INFO It's usually not a problem if a query fails if there's no peer, especially as it will happen during pad linking (caps query) quite often and spams the logs. 2012-10-09 17:06:04 +0200 Wim Taymans * docs/manual/advanced-autoplugging.xml: * tests/examples/manual/.gitignore: * tests/examples/manual/Makefile.am: manual: remove outdated autoplugging section Remove autoplugging chapter and point to decodebin/playbin examples. 2012-10-09 16:12:01 +0200 Wim Taymans * docs/manual/advanced-threads.xml: * tests/examples/manual/.gitignore: * tests/examples/manual/Makefile.am: manual: Talk about threading Rework the threading chapter. Talk about stream-status and give some examples on how to change the thread priorities. 2012-10-09 15:57:29 +0200 Wim Taymans * docs/design/part-stream-status.txt: design: improve stream-status document 2012-10-09 15:31:19 +0200 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: retrieve the result from start_complete gst_base_src_start_complete() can fail when the thread could not be started, for example. Make sure it causes the state change to fail by retrieving the result from _start_complete(). 2012-10-09 15:31:04 +0200 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: improve debug 2012-10-09 10:24:34 +0200 Wim Taymans * gst/gstpad.h: pad: small docs fixes and remove a 0.11 fixme 2012-10-08 16:42:11 +0200 Wim Taymans * docs/design/part-buffering.txt: * docs/manual/advanced-buffering.xml: * docs/manual/manual.xml: manual: talk a bit about buffering 2012-10-08 13:22:30 +0200 Wim Taymans * docs/manual/advanced-clocks.xml: * docs/pwg/advanced-clock.xml: docs: improve clock chapter 2012-10-08 10:39:30 +0200 Wim Taymans * docs/manual/advanced-dataaccess.xml: * tests/examples/manual/Makefile.am: manual: add example for effect switching 2012-10-08 09:11:53 +0200 Wim Taymans * docs/design/part-preroll.txt: * docs/design/part-sparsestreams.txt: docs: small updates 2012-10-07 16:48:25 +0100 Tim-Philipp Müller * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * win32/common/config.h: * win32/common/gstversion.h: Back to development (bug-fixing) === release 1.0.1 === 2012-10-07 13:10:33 +0100 Tim-Philipp Müller * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * gstreamer.doap: * win32/common/config.h: * win32/common/gstenumtypes.c: * win32/common/gstversion.h: Release 1.0.1 2012-10-07 00:15:49 +0100 Tim-Philipp Müller * tests/check/gst/struct_i386.h: * tests/check/libs/struct_i386.h: tests: update struct_i386.h for ABI checks Fixes make check on 32-bit x86. 2012-10-06 17:26:21 +0100 Tim-Philipp Müller * tests/check/gst/struct_ppc32.h: * tests/check/libs/struct_ppc32.h: tests: update struct_ppc32.h for ABI checks Fixes make check on 32-bit PowerPC. 2012-10-06 14:55:35 +0100 Tim-Philipp Müller * common: Automatic update of common submodule From 6c0b52c to 6bb6951 2012-10-06 12:08:34 +0100 Tim-Philipp Müller * tests/examples/manual/.gitignore: examples: .gitignore more binaries from the manual 2012-10-05 16:04:52 +0200 Wim Taymans * docs/design/Makefile.am: * docs/design/part-block.txt: * docs/design/part-probes.txt: docs: remove obsolete part-block document Merge the part-block document into part-probes 2012-10-05 09:42:59 +0200 Wim Taymans * gst/gstpad.c: pad: resend dropped events If we try to push sticky events but a probe dropped them, we don't mark the event as received and mark the pad as PENDING_EVENTS. This ensures that we resend the event the next time. For this we need to let the custom flow return from the probe trickle up to gst_pad_push_event_unchecked() so that we can differentiate between OK and DROPPED probe returns. 2012-10-05 07:14:17 +0200 Wim Taymans * gst/gstpad.c: pad: don't store sticky events on flushing/EOS pads Don't store sticky events on flushing or EOS pads. This was done correctly for source pads but not for sink pads. 2012-10-04 11:24:09 +0100 Tim-Philipp Müller * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstbasetransform.c: * win32/common/libgstbase.def: docs: add Since markers for new API and add it to docs and .def file 2012-10-04 11:50:58 +0200 Wim Taymans * docs/manual/advanced-dataaccess.xml: * tests/examples/manual/Makefile.am: manual: add dynamic capsfilter example 2012-10-04 11:18:19 +0200 Wim Taymans * plugins/elements/gstcapsfilter.c: capsfilter: don't prefer passthrough Basetransform should not try to negotiate in passthrough mode but respect the order of what we return in the transform_caps method. A typical case is that you specify some specific new caps in the caps property but also allow the current caps to pass. 2012-10-04 11:15:36 +0200 Wim Taymans * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstbasetransform.h: basetrans: add an option to prefer passthrough Basetransform attempts to do passthrough mode regardless of the order of the transform_caps method. Add a method to disable this. This is needed for elements like capsfilter that want to transform caps based on the order of the caps property. 2012-10-04 10:01:19 +0200 Wim Taymans * libs/gst/base/gstbasetransform.c: basetrans: improve some comments 2012-10-03 17:17:02 +0200 Wim Taymans * docs/manual/advanced-autoplugging.xml: * docs/manual/advanced-dataaccess.xml: manual: talk some more about dynamic pipelines 2012-10-03 13:49:34 +0200 Wim Taymans * gst/gstmeta.c: meta: don't put essential logic in g_return_val_* 2012-10-03 13:45:22 +0200 Wim Taymans * docs/pwg/advanced-allocation.xml: * libs/gst/net/gstnetaddressmeta.c: * tests/check/gst/gstmeta.c: meta: do metadata registration threadsafe We need to use g_once to register the metadata implementations only once. See https://bugzilla.gnome.org/show_bug.cgi?id=685332 2012-10-03 13:35:20 +0200 Wim Taymans * gst/gstmeta.c: meta: handle multiple implementation registration First check that we can actually register the implementation before making a GstMetaInfo. If we can't register we would otherwise end up with an undefined type and an invalid GstMetaInfo. It's possible that type registration fails because another metadata with the same implementation name was already registered. 2012-10-03 13:12:44 +0200 Wim Taymans * docs/manual/advanced-dataaccess.xml: manual: use CDATA for code blocks then we don't have to escape special token anymore. 2012-10-03 13:09:00 +0200 Wim Taymans * docs/manual/advanced-dataaccess.xml: * tests/examples/manual/Makefile.am: manual: add partial preroll example with probes 2012-10-03 10:53:20 +0200 Wim Taymans * docs/manual/advanced-dataaccess.xml: manual: add more stuff about probes 2012-10-02 17:23:28 +0200 Wim Taymans * docs/manual/advanced-dataaccess.xml: manual: start talking about dynamic pipeline changes 2012-10-02 16:47:05 +0200 Wim Taymans * docs/manual/advanced-dataaccess.xml: manual: move section around 2012-10-02 16:44:28 +0200 Wim Taymans * docs/manual/advanced-dataaccess.xml: * tests/examples/manual/Makefile.am: pwg: add appsink docs 2012-10-02 16:15:19 +0200 Wim Taymans * docs/manual/advanced-dataaccess.xml: * tests/examples/manual/Makefile.am: pwg: rewite data-access chapter Rewrite the data-access chapter so that we talk about appsrc instead of the fakesrc hacks. 2012-10-02 13:22:35 +0200 Wim Taymans * docs/design/draft-klass.txt: * docs/manual/advanced-dataaccess.xml: * docs/manual/advanced-metadata.xml: * docs/manual/appendix-integration.xml: * gst/gstpreset.c: * po/README: * tools/gst-plot-timeline.py: docs: some 0.10 -> 1.0 changes 2012-10-02 13:12:39 +0200 Wim Taymans * docs/pwg/advanced-allocation.xml: pwg: add allocation query example 2012-10-02 12:49:17 +0200 Wim Taymans * docs/pwg/advanced-allocation.xml: pwg: add bufferpool docs 2012-10-02 11:34:47 +0200 Wim Taymans * docs/manual/appendix-programs.xml: * docs/manual/manual.xml: * docs/pwg/advanced-allocation.xml: pwg: flesh out allocation docs Add more examples. Add example for implementing new metadata. Add programs to the docs (again?), it seems to contain useful info. 2012-10-01 16:59:41 +0200 Wim Taymans * docs/pwg/titlepage.xml: pwg: add new author 2012-10-01 16:55:55 +0200 Wim Taymans * docs/pwg/advanced-allocation.xml: pwg: add allocation docs 2012-10-01 16:46:03 +0200 Wim Taymans * docs/design/part-buffer.txt: * docs/design/part-bufferpool.txt: * docs/design/part-meta.txt: docs: update design docs 2012-10-01 13:28:54 +0200 Wim Taymans * docs/design/part-bufferpool.txt: * docs/design/part-memory.txt: * docs/pwg/advanced-allocation.xml: * docs/pwg/pwg.xml: docs: more docs fixes Fix allocator design doc Add beginning of allocation chapter in the pwg 2012-10-01 11:47:46 +0200 Wim Taymans * docs/pwg/appendix-checklist.xml: * docs/pwg/appendix-porting.xml: * docs/pwg/other-manager.xml: * docs/pwg/other-ntoone.xml: pwg: final cleanups for 1.0 2012-10-01 11:24:52 +0200 Wim Taymans * docs/pwg/advanced-events.xml: * docs/pwg/other-base.xml: pwg: fix events and base classes 2012-10-01 10:40:54 +0200 Wim Taymans * docs/pwg/advanced-tagging.xml: pwg: fixup tag docs 2012-10-01 09:48:48 +0200 Wim Taymans * docs/pwg/advanced-interfaces.xml: pwg: patch up the section about interfaces 2012-09-30 04:05:36 +1000 Jan Schmidt * libs/gst/base/gstbasesrc.c: basesrc: Fix seamless segment function The 3rd parameter of gst_base_src_new_seamless_segment in 0.10 is the time associated with the start of the new segment, not the position in the new segment. Fix the name of the parameter, the docs, and the implementation to match the needs of the only extant consumer: DVD playback. 2012-09-29 14:35:58 +0100 Tim-Philipp Müller * gst/gstvalue.c: * tests/check/gst/gstcaps.c: value: avoid duplicates when intersecting lists Fixes negotiation taking a ridiculous amount of time (multiple 10s of seconds on a core2) when there are duplicate entries in lists. Could have a negative performance impact on other scenarios because we now have to iterate the dest list to avoid duplicates, but we don't have a lot of lists any more these days, and they tend to be small anyway. The negatives are hopefully countered by the positive effects of reducing the list length early on in the process. And in any case, it's the right thing to do. Based on patch by Andre Moreira Magalhaes. https://bugzilla.gnome.org/show_bug.cgi?id=684981 2012-09-29 00:27:03 +0100 Tim-Philipp Müller * docs/pwg/building-boiler.xml: pwg: minor update https://bugzilla.gnome.org/show_bug.cgi?id=621121 2012-09-28 23:53:53 +0200 Wim Taymans * docs/faq/dependencies.xml: faq: add missing tag 2012-09-28 15:17:27 -0400 Olivier Crête * gst/gstminiobject.c: * tests/check/gst/gstmemory.c: miniobject: Always reject WRITE locks on READONLY miniobjects Verify that mapping a read-only memory as read doesnt make it writable 2012-09-28 20:38:20 +0100 Tim-Philipp Müller * docs/faq/dependencies.xml: * docs/random/autotools: * docs/random/moving-plugins: docs: purge all mention of liboil, update FAQ https://bugzilla.gnome.org/show_bug.cgi?id=673285 2012-09-28 16:03:15 +0200 Wim Taymans * docs/pwg/advanced-clock.xml: * docs/pwg/advanced-dparams.xml: * docs/pwg/advanced-interfaces.xml: pwg: update for 1.0 Rewrite clock part. start on interfaces 2012-09-28 13:25:49 +0200 Wim Taymans * docs/pwg/advanced-request.xml: pwg: rework dynamic pads docs 2012-09-28 13:25:30 +0200 Wim Taymans * docs/pwg/advanced-scheduling.xml: pwg: rework scheduling docs 2012-09-28 13:24:52 +0200 Wim Taymans * docs/pwg/building-props.xml: * docs/pwg/other-base.xml: pwg: remove some GST_BOILERPLATE 2012-09-28 11:18:11 +0200 Wim Taymans * docs/design/part-activation.txt: docs: update activation design docs 2012-09-28 10:41:54 +0200 Wim Taymans * gst/gstpad.c: * gst/gstpad.h: pad: fix activate docs 2012-09-28 10:04:51 +0200 Wim Taymans * docs/pwg/advanced-negotiation.xml: pwg: fix more negotiation for 1.0 2012-09-27 16:59:04 +0200 Olivier Blin * gst/gstinfo.c: info: do not register printf extension for %p This happened when glib was not using system printf, and caused the internal gstreamer printf extensions to be used for all %p printfs, causing crashes. https://bugzilla.gnome.org/show_bug.cgi?id=684970 2012-09-27 17:21:53 +0200 Wim Taymans * docs/pwg/advanced-negotiation.xml: pwg: fix some negotiation to 1.0 2012-09-27 14:42:07 +0200 Wim Taymans * docs/pwg/building-props.xml: * docs/pwg/building-state.xml: * docs/pwg/building-testapp.xml: pwg: more updates for 1.0 2012-09-27 13:57:46 +0200 Wim Taymans * docs/pwg/building-chainfn.xml: * docs/pwg/building-eventfn.xml: * docs/pwg/building-pads.xml: * docs/pwg/pwg.xml: pwg: more updates for 1.0 2012-09-27 11:53:36 +0200 Wim Taymans * docs/pwg/building-boiler.xml: pwg: update boiler to 1.0 2012-09-27 11:06:06 +0200 Wim Taymans * gst/gstghostpad.c: ghostpad: also ref the internal pad for activate functions Also take a ref to the internal pad in the activate functions 2012-09-24 18:26:16 -0400 Olivier Crête * gst/gstghostpad.c: proxypad: Hold a reference to the internal pad while pushing through it https://bugzilla.gnome.org/show_bug.cgi?id=684809 2012-09-25 14:44:54 -0400 Olivier Crête * tests/check/gst/gstghostpad.c: tests: Test the case where ghost pads are removed while streaming https://bugzilla.gnome.org/show_bug.cgi?id=684809 2012-09-27 09:44:07 +0200 Wim Taymans * tests/check/Makefile.am: * tests/check/libs/libsabi.c: * tests/check/libs/struct_arm.h: * tests/check/libs/struct_hppa.h: * tests/check/libs/struct_i386.h: * tests/check/libs/struct_ppc32.h: * tests/check/libs/struct_ppc64.h: * tests/check/libs/struct_sparc.h: * tests/check/libs/struct_x86_64.h: tests: enable library abi checks 2012-09-26 23:32:35 +0100 Tim-Philipp Müller * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: docs: fix up basesrc/basesink docs formatting 2012-09-26 17:08:30 +0200 Wim Taymans * tests/check/Makefile.am: * tests/check/gst/struct_arm.h: * tests/check/gst/struct_hppa.h: * tests/check/gst/struct_i386.h: * tests/check/gst/struct_ppc32.h: * tests/check/gst/struct_ppc64.h: * tests/check/gst/struct_sparc.h: * tests/check/gst/struct_x86_64.h: tests: add abi checks Enable abi checks again. Fix abi sizes for x86_64, copy the file to other archs. 2012-09-26 16:26:48 +0200 Wim Taymans * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: update docs for 1.0 API 2012-09-26 14:15:01 +0200 Mark Nauwelaerts * gst/gsturi.c: uri: use proper 'transfer floating' annotation https://bugzilla.gnome.org/show_bug.cgi?id=664099 2012-09-26 13:19:13 +0200 Wim Taymans * plugins/elements/gsttypefindelement.c: * plugins/elements/gsttypefindelement.h: typefind: send STREAM-START event Send a STREAM_START event when we are operating in pull mode. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=684424 2012-09-26 10:55:28 +0200 Mark Nauwelaerts * gst/gstsegment.h: segment: mark GstSegmentFlags as flags rather than enum ... which really makes a difference when trying to serialize a flags value which is a combination of flags, which is hard to do as an enum type. 2012-09-26 10:54:06 +0200 Mark Nauwelaerts * plugins/elements/gstidentity.c: identity: retimestamp both pts and dts when doing so 2012-09-26 15:01:42 +1000 Jan Schmidt * libs/gst/base/gstbaseparse.c: baseparse: Move some run of the mill debug statements to LOG level 2012-09-26 14:23:52 +1000 Jan Schmidt * libs/gst/base/gstbaseparse.c: baseparse: Output timestamps after a seek. Reinitialise the DTS after a seek so as to continue generating timestamps when baseparse is not downstream of a demuxer. Fixes: #684538 2012-09-25 17:06:45 +0200 Wim Taymans * docs/manual/appendix-programs.xml: * docs/manual/basics-pads.xml: * docs/pwg/advanced-types.xml: * docs/pwg/building-boiler.xml: * docs/pwg/building-pads.xml: * docs/pwg/other-ntoone.xml: * tools/gst-launch.1.in: * tools/gst-typefind.1.in: docs: updates MIME-type -> Media type Fix some old gst-inspect output 2012-09-25 16:53:08 +0200 Wim Taymans * docs/pwg/intro-basics.xml: * docs/pwg/intro-preface.xml: pwg: update for 1.0 API 2012-09-25 15:11:33 +0200 Wim Taymans * docs/gst/gstreamer-sections.txt: docs: add section for metadata 2012-09-25 13:09:38 +0200 Sebastian Dröge * gst/gstelement.c: * gst/gstelementfactory.c: elementfactory: Fail if no valid element factory metadata is set 2012-09-25 13:09:28 +0200 Sebastian Dröge * gst/gstplugin.c: plugin: Fail if no valid plugin metadata is set 2012-09-25 15:06:43 +0200 Mark Nauwelaerts * plugins/elements/gstidentity.c: identity: also track and store segment info in single segment mode 2012-09-25 14:40:20 +0200 Wim Taymans * docs/manual/advanced-autoplugging.xml: * docs/manual/advanced-dataaccess.xml: * docs/manual/advanced-interfaces.xml: * docs/manual/advanced-threads.xml: * docs/manual/appendix-checklist.xml: * docs/manual/appendix-integration.xml: * docs/manual/appendix-porting.xml: * docs/manual/basics-bins.xml: * docs/manual/basics-bus.xml: * docs/manual/basics-data.xml: * docs/manual/basics-elements.xml: * docs/manual/basics-helloworld.xml: * docs/manual/highlevel-components.xml: * docs/manual/intro-basics.xml: * docs/manual/manual.xml: * docs/random/porting-to-1.0.txt: * tests/examples/manual/Makefile.am: manual: fix up the manual MIME-type -> media types Fix up the manual in various places with the 1.0 way of doing things such as probes, static elements, scheduling, ... Add porting from 0.10 to 1.0 chapter. Add probe example to build. Remove some docs for remove components such as GstMixer and GstPropertyProbe, XML... 2012-09-24 16:50:50 +0200 Wim Taymans * docs/manual/intro-gstreamer.xml: docs: gst-python is no more gst-python is no more and gst-libav is one of the main modules that we release. 2012-09-24 16:31:34 +0200 Wim Taymans * libs/gst/base/gstbasesink.c: docs: fix basesink docs 2012-09-24 16:25:36 +0200 Wim Taymans * docs/faq/getting.xml: * docs/faq/troubleshooting.xml: * docs/faq/using.xml: docs: update FAQ Change versions. Use tools with version prefix. 2012-09-25 13:15:14 +0100 Tim-Philipp Müller * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: po: update translations for typo fix 2012-09-25 13:14:53 +0100 Tim-Philipp Müller * gst/gsttaglist.c: taglist: fix typo in translated string Spotted by Chris Leonard. https://bugzilla.gnome.org/show_bug.cgi?id=684755 2012-09-25 09:27:59 +0200 Sebastian Dröge * gst/gstpluginfeature.c: pluginfeature: Remove 0.11.9X->1.0.0 version mangling 2012-09-25 01:02:03 +0100 Josep Torra Valles * tests/benchmarks/complexity.c: * tests/benchmarks/gstpollstress.c: benchmarks: printf format fixes to make intel compiler happy https://bugzilla.gnome.org/show_bug.cgi?id=552657 2012-09-25 00:55:59 +0100 Josep Torra Valles * libs/gst/base/gsttypefindhelper.c: * plugins/elements/gstfakesink.c: * plugins/elements/gstfakesrc.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gsttee.c: * tools/gst-launch.c: * tools/tools.h: Make intel compiler happier https://bugzilla.gnome.org/show_bug.cgi?id=552657 2012-09-24 16:31:54 +0100 Tim-Philipp Müller * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * win32/common/config.h: * win32/common/gstversion.h: Back to development (bug fixing) === release 1.0.0 === 2012-09-24 12:19:16 +0100 Tim-Philipp Müller * NEWS: * RELEASE: * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * gstreamer.doap: * win32/common/config.h: Release 1.0.0 2012-09-24 00:39:26 +0100 Tim-Philipp Müller * docs/random/porting-to-1.0.txt: docs: update 0.11 references in porting guide 2012-09-24 00:37:27 +0100 Tim-Philipp Müller * docs/random/porting-to-0.11.txt: * docs/random/porting-to-1.0.txt: docs: rename porting-to-0.11.txt to porting-to-1.0.txt 2012-09-23 19:56:43 +0100 Tim-Philipp Müller * libs/gst/check/gstcheck.h: check: fix FIXME printing for tcase_skip_broken_test() 2012-09-23 17:30:50 +0100 Tim-Philipp Müller * docs/random/release: docs: update release doc Create tags for releases without the ugly RELEASE- prefix. 2012-09-23 12:42:01 +0100 Tim-Philipp Müller * libs/gst/base/gstcollectpads.c: collectpads: don't forward random stream-start event It's not right, and we don't know what extra properties that event might have set in future (e.g. sparseness). This change means collectpad users need to create their own stream-start event now. We could add a utility function that creates a stream-start event based on the input stream-start events. 2012-09-22 16:07:15 +0100 Tim-Philipp Müller * common: Automatic update of common submodule From 4f962f7 to 6c0b52c 2012-09-21 21:13:27 +0200 Mark Nauwelaerts * docs/manual/advanced-dparams.xml: manual: update controller documentation 2012-09-21 21:13:13 +0200 Mark Nauwelaerts * gst/gstobject.c: object: update controller documentation 2012-09-18 15:22:03 +0200 Bastian Winkler * tools/gst-launch.1.in: man: Fix syntax for value lists in caps strings Value lists use curly brackets instead of parentheses https://bugzilla.gnome.org/show_bug.cgi?id=684293 2012-09-20 14:48:17 -0400 Olivier Crête * gst/gstpad.c: * tests/check/gst/gstpad.c: pad: Remove pad probes only once Also add test to make sure that if a pad probe is removed while it's callback is running, the cleanup_hook isn't called again if it returns GST_PAD_PROBE_REMOVE 2012-09-19 15:01:46 -0400 Olivier Crête * docs/gst/gstreamer-sections.txt: * gst/gstpad.c: * gst/gstpad.h: * win32/common/libgstreamer.def: pad: Add functions to safely access GstProbeInfo data pointer This is so that introspection based bindings can access it. https://bugzilla.gnome.org/show_bug.cgi?id=684402 2012-09-19 23:25:54 +0100 Tim-Philipp Müller * docs/manual/basics-bins.xml: docs: remove reference to 0.8 GstBin API from manual https://bugzilla.gnome.org/show_bug.cgi?id=684048 2012-09-19 15:14:35 +0200 Mark Nauwelaerts * plugins/elements/gstidentity.c: identity: transform GAP event in single segment mode 2012-09-19 09:44:08 +0100 Tim-Philipp Müller * libs/gst/base/gstcollectpads.c: docs: collectpads doc fixes 2012-09-18 21:49:41 +0200 Wim Taymans * libs/gst/base/gstbasetransform.c: basetransform: check acquire result value Check the result value from _buffer_pool_acquire() and return the value when allocation failed. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=684285 2012-09-18 12:14:34 +0200 Sebastian Dröge * gst/gstpad.c: pad: Fix refcount bug by unreffing the correct variable === release 0.11.99 === 2012-09-17 17:56:44 +0100 Tim-Philipp Müller * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * gstreamer.doap: * win32/common/config.h: Release 0.11.99 2012-09-17 13:35:26 +0100 Tim-Philipp Müller * configure.ac: * gst/Makefile.am: * gst/gst.h: * libs/gst/base/Makefile.am: * libs/gst/check/Makefile.am: * libs/gst/controller/Makefile.am: * libs/gst/net/Makefile.am: * win32/vs10/Common.props: Remove GST_USE_UNSTABLE_API guard and defines 2012-09-17 13:09:58 +0200 Sebastian Dröge * gst/gstpad.c: * gst/gstpad.h: * tests/check/gst/gstghostpad.c: pad: Add parent parameter to the link and unlink functions Fixes part of bug #683995. 2012-09-16 23:20:46 +0100 Tim-Philipp Müller * gst/gststructure.c: * gst/gstvalue.c: * tests/check/gst/gsttag.c: sample: add serialisation/deserialisation functions for GstSample Since these things are inside taglists now, it would be good to be able to print them and deserialise them. https://bugzilla.gnome.org/show_bug.cgi?id=681322 2012-09-15 21:56:07 +0200 Christian Fredrik Kalager Schaller * gstreamer.spec.in: Switch to F18 naming of the package 2012-09-15 18:43:39 +0200 Mark Nauwelaerts * docs/manual/advanced-autoplugging.xml: * docs/manual/basics-elements.xml: * tools/gst-inspect.c: use gst_element_factory_get_metadata to replace obsolete API 2012-09-14 17:52:14 +0200 Mark Nauwelaerts * docs/manual/advanced-metadata.xml: * docs/manual/basics-bus.xml: replace gst_tag_list_free with gst_tag_list_unref 2012-09-14 17:08:49 +0200 Mark Nauwelaerts * plugins/elements/gstdataurisrc.c: replace gst_element_class_set_details_simple with gst_element_class_set_metadata 2012-09-14 17:00:23 +0200 Mark Nauwelaerts * tests/check/gst/gstcontroller.c: * tests/check/gst/gstpreset.c: * tests/check/libs/controller.c: * tests/check/libs/test_transform.c: * tests/check/pipelines/parse-launch.c: * tests/examples/controller/control-sources.c: replace gst_element_class_set_details_simple with gst_element_class_set_metadata 2012-09-06 16:32:35 +0200 Wim Taymans * libs/gst/base/gstbasetransform.c: basetrans: whitespace fix 2012-09-14 14:08:18 +0100 Tim-Philipp Müller * docs/plugins/gstreamer-plugins-docs.sgml: docs: indexers are no more https://bugzilla.gnome.org/show_bug.cgi?id=684018 2012-09-14 13:34:24 +0200 Wim Taymans * tests/examples/stepping/framestep1.c: tests: fix for appsink return value addition 2012-09-14 02:54:52 +0100 Tim-Philipp Müller * configure.ac: Back to development === release 0.11.94 === 2012-09-14 02:46:34 +0100 Tim-Philipp Müller * ChangeLog: * configure.ac: * docs/plugins/gstreamer-plugins.args: * docs/plugins/gstreamer-plugins.hierarchy: * docs/plugins/inspect/plugin-coreelements.xml: * gstreamer.doap: * win32/common/config.h: Release 0.11.94 2012-09-14 01:28:46 +0100 Olivier Crête * gst/gstpad.c: pad: don't try to pretty-print event after we've given away ownership Might cause crashes with debug logging enabled. https://bugzilla.gnome.org/show_bug.cgi?id=683996 2012-09-14 01:17:54 +0100 Tim-Philipp Müller * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: po: update translations 2012-09-14 00:30:37 +0100 Tim-Philipp Müller * gst/gstcompat.h: gstcompat: fix backwards compat macro for gst_message_new_duration Name it properly, so it, like, works. Clearly no one actually used that.. 2012-09-13 12:00:08 +0200 Wim Taymans * docs/pwg/advanced-types.xml: * docs/pwg/intro-basics.xml: docs: fix formats a little 2012-09-13 11:38:52 +0200 Wim Taymans * win32/common/libgstbase.def: defs: add new baseparse function 2012-09-13 11:38:33 +0200 Wim Taymans * tools/gst-launch.1.in: docs: fourcc is no more 2012-09-13 11:35:41 +0200 Wim Taymans * docs/design/draft-klass.txt: * docs/design/part-missing-plugins.txt: * docs/faq/using.xml: * docs/manual/advanced-dataaccess.xml: * docs/manual/appendix-checklist.xml: * docs/manual/appendix-programs.xml: * docs/manual/basics-pads.xml: * docs/pwg/advanced-negotiation.xml: * docs/pwg/building-boiler.xml: * docs/pwg/building-pads.xml: * docs/pwg/other-ntoone.xml: * libs/gst/base/gstbasetransform.c: * plugins/elements/gstcapsfilter.c: * plugins/elements/gsttee.c: * tests/benchmarks/caps.c: * tests/benchmarks/capsnego.c: * tests/check/gst/gststructure.c: * tools/gst-launch.1.in: docs: fix some docs from git grep for ffmpegcolorspace and x-raw- 2012-09-13 10:48:08 +0200 Wim Taymans * libs/gst/base/gstbaseparse.h: parse: add missing declaration 2012-09-13 10:24:16 +0200 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: indent fix 2012-09-12 22:44:37 -0700 Jan Schmidt * libs/gst/base/gstbaseparse.c: baseparse: Add a mode/flag for disabling PTS interpolation To be used by sub-classes implementing video formats with reordering such as MPEG. 2012-09-10 18:38:57 -0700 Jan Schmidt * libs/gst/base/gstbaseparse.c: baseparse: Handle GAP and still-frame events. Hacky, because the still-frame code all lives in -base, where we can't use it - so this is a hacky duplication of -base code. Not sure which way to fix this: Move baseparse to -base, or move still-frame events to core? 2012-09-04 19:38:26 -0700 Jan Schmidt * libs/gst/base/gstbaseparse.c: baseparse: Restructure event handling Make the event handling more like what videodecoder does, to ensure that all events are passed to child classes before being placed on the pending queue or pushed onward. 2012-09-03 10:30:08 -0700 Jan Schmidt * libs/gst/base/gstbaseparse.c: baseparse: Store incoming cached events in reverse order Reverse the list just before sending. Prepending is more efficient than appending, so this saves some cycles. 2012-09-02 23:32:50 -0700 Jan Schmidt * libs/gst/base/gstbaseparse.c: baseparse: First attempt at handling both DTS and PTS 2012-09-13 00:38:21 +0100 Tim-Philipp Müller * gst/gsttaglist.c: taglist: add warning when we get something else than a sample for a sample tag Facilitate GstBuffer -> GstSample transition for some tags, could be hard to catch otherwise when creating tags, since it'll only be apparent later when someone tries to read the tags. 2012-09-12 14:14:31 +0200 Andreas Frisch * gst/gstelementfactory.c: elementfactory: don't crash if no element klass has been set https://bugzilla.gnome.org/show_bug.cgi?id=683865 2012-09-12 23:12:14 +0200 Stefan Sauer * tests/check/libs/collectpads.c: collectpads: fix a misplaced ')' 2012-09-12 21:20:46 +0100 Tim-Philipp Müller * gst/gsterror.c: error: don't tell people to file a bug for negotiation errors 2012-09-12 20:54:50 +0200 Stefan Sauer * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstcollectpads.c: * libs/gst/base/gstcollectpads.h: * tests/check/libs/collectpads.c: * win32/common/libgstbase.def: collectpads: remove gst_collect_pads_add_pad_full Rename gst_collect_pads_add_pad_full() to gst_collect_pads_add_pad() and fix all invocations. 2012-09-12 17:16:41 +0200 Mark Nauwelaerts * plugins/elements/gstfilesink.c: filesink: fix build on Cygwin ... where __fbufsize is not available 2012-09-12 13:00:15 +0100 Tim-Philipp Müller * tests/check/elements/queue2.c: Revert "tests: fix buffer leak in queue2 unit test" This reverts commit 232fd2953eb00f694b667e7796704f5974cea452. This was already fixed. 2012-05-24 13:08:16 +0100 Tim-Philipp Müller * plugins/elements/gstqueue2.c: queue2: fix possible data corruption in ring buffer mode when seeking Fix race that could cause data corruption when seeking in ring buffer mode. In perform_seek_to_offset(), called from the demuxer's pull_range request, we drop the lock, tell upstream (usually a http source) to seek to a different offset, then re-acquire the lock before we do things to the ranges. However, between us sending the seek event and re-acquiring the lock, the source thread might already have pushed some data and moved along the range's writing_pos beyond the seek offset. In that case we don't want to set the writing position back to the requested seek position, as it would cause data to be written to the wrong offset in the file or ring buffer. Reproducible doing seek-emulated fast-forward/backward on 006653. Conflicts: plugins/elements/gstqueue2.c 2012-05-24 13:06:47 +0100 Tim-Philipp Müller * tests/check/elements/queue2.c: tests: fix buffer leak in queue2 unit test 2012-09-12 12:23:22 +0200 Mark Nauwelaerts * libs/gst/check/gstcheck.h: check: remove glib deprecation compatibility trickery 2012-09-12 12:22:53 +0200 Mark Nauwelaerts * libs/gst/check/gstbufferstraw.c: * libs/gst/check/gstcheck.c: * libs/gst/check/gstcheck.h: * tests/check/elements/queue.c: * tests/check/elements/tee.c: check: port to the new GLib thread API 2012-09-12 11:52:25 +0200 Mark Nauwelaerts * tests/check/elements/fakesink.c: * tests/check/elements/filesrc.c: * tests/check/elements/multiqueue.c: * tests/check/elements/queue.c: * tests/check/elements/queue2.c: * tests/check/elements/tee.c: * tests/check/generic/sinks.c: * tests/check/gst/gstbus.c: * tests/check/gst/gstevent.c: * tests/check/gst/gstghostpad.c: * tests/check/gst/gstiterator.c: * tests/check/gst/gstpad.c: * tests/check/gst/gstpipeline.c: * tests/check/gst/gstsystemclock.c: * tests/check/gst/gsttagsetter.c: * tests/check/gst/gsttocsetter.c: * tests/check/libs/collectpads.c: tests: port to new GLib thread API 2012-09-12 11:49:55 +0200 Mark Nauwelaerts * tests/benchmarks/gstbufferstress.c: * tests/benchmarks/gstclockstress.c: * tests/benchmarks/gstpollstress.c: tests: benchmarks: align error message with code 2012-09-11 19:49:58 +0100 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gstpad.c: * gst/gstpad.h: * libs/gst/base/gstbaseparse.c: * win32/common/libgstreamer.def: pad: expose gst_pad_mode_get_name() and use it in baseparse 2012-09-11 13:22:57 +0100 Tim-Philipp Müller * scripts/create-uninstalled-setup.sh: * scripts/gst-uninstalled: scripts: update for gst-ffmpeg -> gst-libav Now that we have a gst-libav git repository (symlinked to gst-ffmpeg). 2012-09-11 17:27:03 +0200 Mark Nauwelaerts * gst/gstquery.c: query: adjust test logic for scheduling mode with flagS 2012-09-11 16:39:34 +0200 Mark Nauwelaerts * docs/gst/gstreamer-sections.txt: * gst/gstquery.c: * gst/gstquery.h: * win32/common/libgstreamer.def: query: add convenience API to query for scheduling mode and flags 2012-09-11 16:29:12 +0200 Wim Taymans * docs/design/part-events.txt: * docs/gst/gstreamer-sections.txt: * gst/gst.c: * gst/gstbuffer.h: * gst/gstevent.c: * gst/gstevent.h: * libs/gst/base/gstcollectpads.c: * libs/gst/check/gstconsistencychecker.c: * tests/check/gst/gstevent.c: * win32/common/config.h: * win32/common/gstenumtypes.c: * win32/common/gstenumtypes.h: * win32/common/libgstreamer.def: events: remove STREAM_CONFIG We won't be able to implement this so it's better to move it out of the way. 2012-09-11 16:09:37 +0200 Wim Taymans * libs/gst/base/gstcollectpads.h: collectpads: clean up header indentation 2012-09-11 11:34:11 +0200 Wim Taymans * gst/gstutils.c: utils: allow NULL stream_id also when 0 srcpads We usually first create the stream_id for the stream_start event and then add the pad to the element. This means that this functions should work when there are no pads on the element yet. 2012-09-10 21:39:32 +0100 Tim-Philipp Müller * gst/gstquery.c: * libs/gst/base/gstbaseparse.c: * plugins/elements/gsttypefindelement.c: baseparse, typefind: only activate in pull mode if upstream is seekable Upstream might support pull mode, but only sequential pulls, which isn't gonna do much for us. https://bugzilla.gnome.org/show_bug.cgi?id=634927 2012-09-10 20:30:32 +0100 Tim-Philipp Müller * docs/random/porting-to-0.11.txt: porting-to-0.11.txt: some minor fixes 2012-09-10 16:52:46 +0100 Tim-Philipp Müller * gst/gstsample.c: sample: free info structure with sample if there is one and fix copy with NULL info structure 2012-09-10 12:20:15 +0200 Mark Nauwelaerts * gst/gstmemory.h: memory: add padding to GstMapInfo 2012-09-10 12:12:02 +0200 Mark Nauwelaerts * libs/gst/controller/gstdirectcontrolbinding.c: * libs/gst/controller/gsttimedvaluecontrolsource.h: libs: adjust comment style 2012-09-10 12:11:23 +0200 Mark Nauwelaerts * gst/gstcompat.h: * gst/gstobject.c: gst: remove some defunct commented code 2012-09-10 12:00:22 +0200 Wim Taymans * docs/random/porting-to-0.11.txt: docs: improve porting doc 2012-09-10 10:08:09 +0200 Wim Taymans * tests/check/tools/gstinspect.c: tests: disable deprecation warnings define GLIB_DISABLE_DEPRECATION_WARNINGS earlier so that it is defined before the glib headers are loaded or else we trip over the GValueArray deprecations in gst-inspect.c. 2012-09-07 01:02:10 +0100 Tim-Philipp Müller * libs/gst/controller/gstdirectcontrolbinding.c: controller: fix direct control binding double -> int conversion Round properly to nearest integer. Fixes controller unit test on PowerPC G4. 2012-09-06 15:06:08 +0100 Tim-Philipp Müller * tests/examples/helloworld/helloworld.c: examples: fix bus/fd leak in hello world example https://bugzilla.gnome.org/show_bug.cgi?id=683470 2012-09-05 19:55:10 +0100 Tim-Philipp Müller * gst-element-check.m4: gst-element-check.m4: fix action-if-found and not-found invocation Arguments got shifted back by one. 2012-09-05 15:37:13 +0200 Mark Nauwelaerts * libs/gst/base/gstcollectpads.c: collectpads: handle GAP event 2012-09-04 12:13:11 +0200 Wim Taymans * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesink.h: basesink: wait_eos -> wait_event Fix a FIXME. Now we can also pass the GAP event to the subclass. 2012-09-03 18:45:03 +0100 Tim-Philipp Müller * tests/examples/controller/Makefile.am: examples: update Makefile.am android bits in controller example Should fix build failure reported on IRC. 2012-08-30 19:15:42 +0200 Wim Taymans * gst/gstpad.c: pad: check sticky events also after pad block Recheck for sticky events after doing a pad block because the pad block could have caused a relink and then we need to resend the events to the newly linked pad. Fixes things like switching of visualisations. 2012-09-02 02:04:14 +0100 Tim-Philipp Müller * libs/gst/base/gstbaseparse.c: baseparse: update for gst_message_new_duration -> _duration_changed() 2012-09-02 01:17:44 +0100 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * docs/random/porting-to-0.11.txt: * gst/gstbin.c: * gst/gstcompat.h: * gst/gstmessage.c: * gst/gstmessage.h: * gst/gstquark.c: * gst/gstquark.h: * win32/common/libgstreamer.def: message: rename GST_MESSAGE_DURATION -> GST_MESSAGE_DURATION_CHANGED The duration should be re-queried via a query using the normal path, we don't want applications to use the value from the message itself, since it might no match what a duration query done from the sink upstream might yield. Also disables duration caching in GstBin. It should be added back again at some point. 2012-09-01 23:54:23 +0100 Tim-Philipp Müller * configure.ac: configure: add reminder to remove GST_UNSTABLE_API stuff before 1.0.0 2012-09-01 18:06:58 +0100 Tim-Philipp Müller * .gitignore: * Makefile.am: * configure.ac: * gst-element-check.m4: * gst-element-check.m4.in: gst-element-check.m4: rename AM_GST_ELEMENT_CHECK to GST_ELEMENT_CHECK And allow passing of a minimum version (if not needed, pass 1.0). https://bugzilla.gnome.org/show_bug.cgi?id=682968 2012-09-01 17:50:14 +0100 Tim-Philipp Müller * tests/check/.gitignore: * tests/check/Makefile.am: * tests/check/tools/gstinspect.c: tests: add check for gst-inspect --exists functionality 2012-09-01 17:47:58 +0100 Tim-Philipp Müller * tools/gst-inspect.c: tools: add --exists and --atleast-version option to gst-inspect For checking if an element exists with a given minimum version. Will use that in our new GST_ELEMENT_CHECK m4 macro. https://bugzilla.gnome.org/show_bug.cgi?id=682968 2012-09-01 17:32:04 +0100 Tim-Philipp Müller * gst/gstpluginfeature.c: pluginfeature: disable version mangling for post-1.0.0 release Just in case we don't grep for FIXME 1.0 before the release. 2012-08-31 11:31:45 -0700 Jan Schmidt * libs/gst/base/gstbasesink.c: basesink: Make GAP events actually trigger preroll Slightly hacky approach needing refinement 2012-08-31 06:25:22 -0700 Jan Schmidt * gst/gstpad.c: gstpad: make some debug statements more verbose 2012-08-31 06:23:53 -0700 Jan Schmidt * gst/gstghostpad.c: * plugins/elements/gstinputselector.c: ghostpad: Make some debugging more verbose Also, remove an unnecessary #include in input-selector 2012-08-28 15:44:48 -0700 Jan Schmidt * gst/gstsegment.c: GstSegment: Fix doc description string last_stop->position 2012-08-30 19:47:57 +0100 Arnaud Vrac * plugins/elements/gstinputselector.c: inputselector: fix clock leak https://bugzilla.gnome.org/show_bug.cgi?id=682997 2012-08-29 22:57:02 +0100 Tim-Philipp Müller * tools/gst-inspect.c: tools: output gst-inspect errors to stderr 2012-08-28 07:39:50 +0200 Alban Browaeys * gst/gstvalue.c: value: fix crash serialising a 0 flags value when there's no name for it Fixes segfault when doing gst-launch-1.0 -v -m camerabin (encodebin notifies a 0 value for its "flag" property). https://bugzilla.gnome.org/show_bug.cgi?id=682958 2012-08-24 23:14:57 +0100 Tim-Philipp Müller * gst/gst.c: gst: log performance warning debug message if glib emulates atomic ops 2012-08-23 13:51:27 +0100 Lionel Landwerlin * gst/Makefile.am: gst: use configure-detected or externally provided glib-mkenums To ease cross-compilation. https://bugzilla.gnome.org/show_bug.cgi?id=677620 2012-08-22 13:29:34 +0200 Stefan Sauer * common: Automatic update of common submodule From 668acee to 4f962f7 2012-08-22 13:14:56 +0200 Stefan Sauer * configure.ac: configure: bump gtk-doc req to 1.12 (mar-2009) This allows us to e.g. unconditionally use gtkdoc-rebase. 2012-08-21 13:30:52 +0200 Wim Taymans * gst/gstmemory.h: memory: add _make_writable 2012-08-21 00:03:37 +0100 Tim-Philipp Müller * docs/random/porting-to-0.11.txt: docs: mention some media type changes in porting-to-0.11.txt doc 2012-08-20 13:51:05 +0100 Tim-Philipp Müller * docs/random/porting-to-0.11.txt: docs: minor update to porting doc for child proxy lookup method And a typo fix. 2012-08-20 11:31:51 +0200 Wim Taymans * gst/gstallocator.c: allocator: make a copy with the same alignment When making a copy of the memory allocated from the default memory allocator, make sure the new copy has the same alignment as the original memory. See https://bugzilla.gnome.org/show_bug.cgi?id=680796 2012-08-19 17:51:00 +0100 Tim-Philipp Müller * libs/gst/base/gstbaseparse.c: baseparse: make seeking in DEFAULT format work if the subclass can convert for us We only deal in TIME format ourselves, but if the subclass can handle converting other formats into TIME format, we can support that too. Fixes seeking in DEFAULT (sample) format with flacparse, and the flacdec unit test. 2012-08-18 21:42:23 +0100 Tim-Philipp Müller * tools/gst-launch.1.in: tools: minor fixes to gst-launch man page 2012-08-17 12:23:50 +0200 Stefan Sauer * gst/gstpreset.c: preset: implement child_proxy support Elements such as the GstIirEqualizerNBands would so far not store the properties of their children. Now we also grab the properties of child elements and try to restore them. 2012-08-14 18:44:38 +0200 Edward Hervey * plugins/elements/gstinputselector.c: inputselector: Wait for other streams to advance on unselected pads Otherwise we end up dropping a lot of data in the case where data starts arriving on the non-selected pad, resulting in big gaps in stream switching 2012-08-14 18:43:54 +0200 Edward Hervey * plugins/elements/gstinputselector.c: inputselector: More debug statements 2012-08-14 18:42:31 +0200 Edward Hervey * plugins/elements/gstinputselector.c: inputselector: Don't forward stream-start sticky events Only one STREAM_START event should be let through, else it will confuse downstream elements that think a new stream is starting whereas in fact we are just switching to a different input. In the future we might want to let them through but with the same sequence number. 2012-08-14 15:46:35 +0200 Sebastian Dröge * docs/libs/gstreamer-libs-sections.txt: * win32/common/libgstbase.def: docs: Add new basesrc/basetransform API to the docs 2012-08-07 17:38:53 +0200 Víctor Manuel Jáquez Leal * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstbasetransform.h: basetransform: getters for pool and allocator Sometimes a transform filter would need the buffer pool or the memory allocator negotiated by the base class, for example, for querying different parameters, such as a bigger number of buffers to allocate by the buffer pool. This patch expose a two getters accessors: one for the buffer pool and the other for the memory allocator. 2012-08-07 17:35:48 +0200 Víctor Manuel Jáquez Leal * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasesrc.h: basesrc: getters for pool and allocator Sometimes the sources would use the buffer pool or the memory allocator for something else than just allocating output buffers; for example, querying for different parameters, such as a bigger number of buffers to allocate by the pool. This patch expose a two getters accessors: one for the buffer pool and the other for the memory allocator. 2012-08-14 00:39:18 +0100 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gstregistry.c: * gst/gstregistry.h: * win32/common/libgstreamer.def: registry: remove some unused and in their current form pointless API Not so useful: just adds/reads stuff from an internal GList without actually doing anything with those paths, so remove for now: gst_registry_add_path gst_registry_get_path_list https://bugzilla.gnome.org/show_bug.cgi?id=608841 2012-08-12 13:27:06 +0100 Tim-Philipp Müller * gst/parse/grammar.y: parse: fix up for gst_child_proxy_lookup() only working on child proxy interfaces https://bugzilla.gnome.org/show_bug.cgi?id=681681 2012-08-12 13:24:18 +0100 Tim-Philipp Müller * gst/gstchildproxy.c: * gst/gstchildproxy.h: childproxy: make gst_child_proxy_lookup() a proper GstChildProxy method No longer accept any old GObjects. This makes things nicer for bindings. If a utility function that handles both nicely is deemed worthwhile, we can still add one to gstutils. https://bugzilla.gnome.org/show_bug.cgi?id=681681 2012-08-13 00:01:16 +0100 Tim-Philipp Müller * gst/gstvalue.c: value: when serialising arrays or lists, handle types we can't serialise more gracefully https://bugzilla.gnome.org/show_bug.cgi?id=681322 2012-08-12 19:39:46 +0100 Tim-Philipp Müller * libs/gst/check/gstconsistencychecker.c: consistencychecker: add some more details to failure messages Mention pad where the problem occured, and the event name. 2012-08-12 18:36:09 +0100 Tim-Philipp Müller * tests/check/Makefile.am: * tests/check/libs/collectpads.c: tests: fix collectpads test After an EOS we must send a FLUSH_STOP event if we want to send data again. 2012-08-12 18:31:13 +0100 Tim-Philipp Müller * gst/gstevent.c: event: fix leak in gst_event_parse_stream_start() gst_structure_id_get() will make a copy of the string extracted, but we're assigning it to a const gchar *. 2012-08-12 16:40:03 +0100 Tim-Philipp Müller * tests/check/gst/gstpipeline.c: tests: make pipeline test valgrind clean 2012-08-12 16:37:02 +0100 Tim-Philipp Müller * tests/check/Makefile.am: * tests/check/gst/gstpipeline.c: tests: fix pipeline unit test Which was disabled because it failed. 2012-08-12 15:48:20 +0100 Tim-Philipp Müller * scripts/create-uninstalled-setup.sh: scripts: fix unterminated quoted string in create-uninstalled-setup.sh 2012-08-12 00:12:56 +0100 Tim-Philipp Müller * docs/random/porting-to-0.11.txt: docs: mention gst_video_format_parse_caps() in porting guide 2012-08-11 22:19:32 +0100 Tim-Philipp Müller * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * gst/gstbuffer.c: * gst/gstbufferpool.c: * gst/gstcontrolbinding.h: * gst/gstevent.c: * gst/gstmemory.h: * gst/gstmessage.h: * gst/gstminiobject.c: * gst/gstminiobject.h: * gst/gsttaglist.c: * gst/gsttaglist.h: * gst/gsttoc.c: * gst/gstutils.c: docs: fix up docs a bit 2012-08-11 22:18:13 +0100 Tim-Philipp Müller * gst/gstchildproxy.c: childproxy: fix up g-i annotation for _lookup() paramspec return value No ref is returned here. 2012-08-11 22:17:35 +0100 Tim-Philipp Müller * win32/common/libgstreamer.def: win32: update .def file for new buffer functions 2012-08-10 22:58:56 +0100 Tim-Philipp Müller * libs/gst/base/gstbaseparse.c: baseparse: fix reverse playback with upstream demuxers that support it Don't just return FALSE for seek events with negative rates when operating in push mode. An upstream demuxer may support this just fine, so if we're not operating in pull mode always check upstream first if it can handle the seek event. This fixes reverse playback where the upstream demuxer supports it (e.g. with qtdemux). The same code would work fine in 0.10, because baseparse will just call the default pad event handler if FALSE was returned from the baseparse event handler, and the pad event handler will just forward it upstream. In 0.11 the baseclass or subclass is responsible for chaining up to the parent class or forwarding the event upstream in any case. Disable reverse playback in pull mode for now, there seems to be something going wrong with the segment configuration in that case. 2012-08-04 11:48:52 -0300 Thiago Santos * libs/gst/base/gstbasetransform.c: basetransform: do not error on not-negotiated Don't error out too early and let upstream decide if it can workaround a not-negotiated problem https://bugzilla.gnome.org/show_bug.cgi?id=681198 2012-08-04 11:48:13 -0300 Thiago Santos * libs/gst/base/gstbasesrc.c: basesrc: retry on not-negotiate if a reconfigure is pending Before erroring out on not-negotiated returns, check if the pad has the reconfigure flag set and retry. https://bugzilla.gnome.org/show_bug.cgi?id=681198 2012-08-04 11:42:05 -0300 Thiago Santos * gst/gstpad.c: * gst/gstpad.h: * win32/common/libgstreamer.def: pad: add gst_pad_needs_reconfigure Add an alternative version of gst_pad_check_reconfigure that doesn't clear the reconfigure flag. Useful for increasing error resilience without duplicating the reconfigure code in pad task functions. API: gst_pad_needs_reconfigure https://bugzilla.gnome.org/show_bug.cgi?id=681198 2012-07-29 15:44:45 -0700 Evan Nemerson * gst/gstpad.h: pad: add GST_PAD_LINK_CHECK_DEFAULT to GstPadLinkCheck This allows introspection-based bindings to access Gst.PadLinkCheck.DEFAULT instead of Gst.PAD_LINK_CHECK_DEFAULT. https://bugzilla.gnome.org/show_bug.cgi?id=678301 2012-07-29 14:57:41 -0700 Evan Nemerson * gst/gstbuffer.c: buffer: mark gst_buffer_wrapped* data as array https://bugzilla.gnome.org/show_bug.cgi?id=678301 2012-07-24 13:26:00 -0700 Evan Nemerson * gst/gstobject.c: * gst/gsttoc.c: introspection: fix some warnings generated by g-ir-scanner. https://bugzilla.gnome.org/show_bug.cgi?id=678301 2012-07-30 21:46:18 -0700 Evan Nemerson * gst/gstbuffer.c: * gst/gstbuffer.h: buffer: convert gst_buffer_* macros to functions GObject Introspection does not support macros. This is needed for bindings. We can still add back macros or inline functions again later if we think it's worth it. https://bugzilla.gnome.org/show_bug.cgi?id=678301 2012-08-10 13:50:41 +0100 Tim-Philipp Müller * libs/gst/net/gstnetclientclock.c: netclientclock: fix printf format in debug message 2012-08-10 12:23:03 +0200 Wim Taymans * gst/gstbufferpool.c: bufferpool: fix max_buffers handling When max_buffers > 0 and the pool is empty, actually try to allocate more buffers up to the max_buffers limit. We need to add a counter for this to count how many buffers we allocated and check this against the max_buffers limit. Reorganise and clean up some code. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681153 2012-08-10 09:19:25 +0100 Tim-Philipp Müller * libs/gst/net/gstnetclientclock.c: netclientclock: simplify by using g_socket_condition_timed_wait() No need to use a custom main context and custom timeout sources, just use g_socket_condition_timed_wait() instead, which was added for exactly this case. Also seems to help with the unit test deadlocking with glib 2.33.x https://bugzilla.gnome.org/show_bug.cgi?id=681575 2012-08-09 19:15:29 +0100 Tim-Philipp Müller * gst/gstobject.c: gstobject: fix double string escaping in gst_object_default_deep_notify() Make output of gst-launch -v readable again. last-message = "event\ \ \ \*\*\*\*\*\*\*\ \(fakesink0:sink\)\ E\ \(type:\ tag\ \(20510\)\,\ GstTagList-stream\,\ taglist\=\(taglist\)\"taglist\\\,\\\ video-codec\\\=\\\(string\\\)H264\\\,\\\ minimum-bitrate\\\=\\\(uint\\\)636611\\\,\\\ bitrate\\\=\\\(uint\\\)980729\\\,\\\ maximum-bitrate\\\=\\\(uint\\\)1116707\\\;\"\;\)\ 0x15bc760" vs. last-message = event ******* (fakesink0:sink) E (type: tag (20510), GstTagList-stream, taglist=(taglist)"taglist\,\ video-codec\=\(string\)H264\,\ minimum-bitrate\=\(uint\)856039\,\ bitrate \=\(uint\)1019748\,\ maximum-bitrate\=\(uint\)1116707\;";) 0x11149e0 2012-08-09 16:18:59 +0200 Wim Taymans * gst/gstminiobject.c: miniobject: check writability fix the writability check for miniobjects. We should check the shared counter. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681450 2012-08-08 16:08:44 +0200 Sebastian Dröge * gst/gstallocator.c: allocator: Set the alignment at the correct place in GstAllocationParams 2012-08-08 16:18:15 +0100 Tim-Philipp Müller * configure.ac: * win32/common/config.h: Back to development === release 0.11.93 === 2012-08-08 15:05:08 +0100 Tim-Philipp Müller * configure.ac: * gstreamer.doap: * win32/common/config.h: Release 0.11.93 2012-08-08 14:49:23 +0100 Tim-Philipp Müller * tests/check/gst/gstobject.c: tests: remove silly test_fail_abstract_new check Our check would make sure that GLib segfaults when someone tries to instantiate an abstract type, which is an extremely useful thing to check for. In newer GLibs this is fixed and we get an abort with a g_error() now it seems, so let's just remove this check entirely. 2012-08-08 09:53:26 +0100 Tim-Philipp Müller * tests/examples/stepping/framestep1.c: examples: don't put things with side effects inside g_assert() They will be defined away to NOOPs otherwise in release builds. 2012-08-08 09:13:38 +0100 Tim-Philipp Müller * win32/common/libgstreamer.def: win32: update for stream-id API additions 2012-08-08 00:54:49 +0100 Tim-Philipp Müller * gst/parse/grammar.y: parse: fix for new GstChildProxy::child-added signal callback signature Fixes crash with gst-launch-1.0 uridecodebin uri=... suburi=... ! .. 2012-08-07 10:46:17 +0200 Sebastian Dröge * gst/gstbus.c: bus: Add allow-none to the function argument of gst_bus_set_sync_handler() https://bugzilla.gnome.org/show_bug.cgi?id=681139 2012-08-06 16:33:57 +0400 Руслан Ижбулатов * docs/gst/Makefile.am: docs: Make sure scanner gets required libraries 2012-08-06 20:08:07 +0100 Tim-Philipp Müller * libs/gst/check/gstconsistencychecker.c: consistencychecker: print which event we received before stream-start 2012-08-06 20:04:09 +0100 Tim-Philipp Müller * libs/gst/base/gstbasesrc.c: basesrc: don't try to answer URI queries with NULL URIs Should make unit tests in -base that use appsrc a bit happier. 2012-07-29 14:25:34 +0200 Sebastian Dröge * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasesrc.c: * tests/check/elements/queue.c: * tests/check/gst/gstbin.c: * tests/check/gst/gstpad.c: event: Update for stream-start event API changes 2012-07-28 08:37:00 +0200 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gstevent.c: * gst/gstevent.h: * gst/gstquark.c: * gst/gstquark.h: * gst/gstutils.c: * gst/gstutils.h: event: Add new stream-id field to the stream-start event This is supposed to allow uniquely identifying a single stream. 2012-07-27 17:41:43 +0200 Edward Hervey * plugins/elements/gstinputselector.c: inputselector: Use the first created pad by default This guarantees a bit more consistency in which input stream will be selected by default. It would previously be the first pad on which an event/buffer/query was received ... which was racy and non-predictable. 2012-07-27 17:38:34 +0200 Edward Hervey * gst/gstelement.c: element: Specify the order of pad iterators The order of returned pads wasn't specified before, so let's specify it and use an order which might prove the most useful : the order in which pads were added to the element. If someone changes the order, make sure users of those iterators from now on don't rely on that order ! 2012-08-05 17:16:27 +0100 Tim-Philipp Müller * libs/gst/check/gstcheck.h: check: add tcase_skip_broken_test() define Skips broken tests but logs an ERROR-level message to draw attention to that fact. 2012-08-05 17:12:35 +0100 Tim-Philipp Müller * tests/check/libs/.gitignore: tests: update .gitignore for queuearray test binary 2012-08-05 17:11:46 +0100 Tim-Philipp Müller * tests/check/libs/gstnetclientclock.c: tests: fix spurious netclientclock test failures Give clocks a bit more time to synchronise. 2012-08-05 16:59:35 +0100 Tim-Philipp Müller * win32/common/config.h: * win32/common/gstenumtypes.c: * win32/common/gstenumtypes.h: * win32/common/gstversion.h: win32: update generated files 2012-08-05 16:41:21 +0100 Tim-Philipp Müller * plugins/elements/gstinputselector.c: input-selector: use generic marshaller for "block" action signal 2012-08-05 16:37:24 +0100 Tim-Philipp Müller * common: Automatic update of common submodule From 94ccf4c to 668acee 2012-08-04 13:37:32 +0100 Tim-Philipp Müller * gst/gstallocator.c: * gst/gstbuffer.c: buffer, defaultmem: add option to poison memory before freeing it Might be useful to track down certain bugs. 2012-08-03 23:54:33 +0100 Tim-Philipp Müller * gst/gst.c: gst: ref/unref taglist scope enum in gst_init() Fixes make check and distcheck 2012-08-03 00:05:53 +0100 Tim-Philipp Müller * gst/gstplugin.c: plugin: warn if plugin name starts with a " This can easily happen as side-effect of the plugin name in GST_PLUGIN_DEFINE no longer being a string in 0.11, but a name to G_STRINGIFY. 2012-08-02 13:19:27 +0100 Tim-Philipp Müller * docs/random/porting-to-0.11.txt: docs: update porting-to-0.11 document with a "soft" API changes checklist Point out some API changes that the compiler won't be able to warn about. 2012-08-02 11:33:41 +0100 Tim-Philipp Müller * tools/gst-launch.c: tools: fix printing of partial dates in gst-launch 2012-08-02 11:15:16 +0100 Tim-Philipp Müller * tools/gst-launch.c: Revert "tools: print TOC scope" This reverts commit ee6ab7c93638a6519acb976699a6ad149d520a95. The application will probably only ever receive global TOCs, so don't really need this. 2012-08-01 17:49:27 +0100 Tim-Philipp Müller * win32/common/libgstreamer.def: win32: add new tag list scope symbols 2012-08-01 11:58:55 +0100 Tim-Philipp Müller * plugins/elements/gsttypefindelement.c: typefind: send segment_done event in addition to segment_done message 2012-07-31 17:25:50 +0200 Sebastian Dröge * libs/gst/base/gstbasesrc.c: * plugins/elements/gstfilesrc.c: basesrc: Add default handler for URI query in GstURIHandler subclasses 2012-07-28 17:33:52 +0200 Sjoerd Simons * libs/gst/check/libcheck/check.h.in: check: unbreak fail #define The fail() definition was changed to not fail with non-GCC compilers, unfortunately the change was incorrect and appended the first argument of fail to the expression string instead of making it the message. This change does mean that fail() now requires a message to be passed along. https://bugzilla.gnome.org/show_bug.cgi?id=680755 2012-07-29 23:37:19 +0200 Jens Georg * gst/gstbuffer.c: buffer: Update annotations https://bugzilla.gnome.org/show_bug.cgi?id=680805 2012-07-29 23:20:07 +0200 Jens Georg * gst/gstutils.c: utils: Update annotation for get_compatible_pad https://bugzilla.gnome.org/show_bug.cgi?id=680804 2012-07-28 21:23:24 -0400 Thibault Saunier * gst/gsturi.c: uri: Fix wrong 'array zero-terminated=1' annotation for strings 2012-07-28 11:02:30 +0100 Tim-Philipp Müller * docs/design/part-toc.txt: docs: update TOC design docs a little 2012-07-28 09:41:30 +0100 Tim-Philipp Müller * gst/gstevent.c: * gst/gstevent.h: * gst/gstquark.c: * gst/gstquark.h: event: make TOC event multi-sticky We need to send two kinds of TOCs downstream as events, and need both to stick to the pads. https://bugzilla.gnome.org/show_bug.cgi?id=678742 2012-07-28 08:30:36 +0100 Tim-Philipp Müller * tools/gst-launch.c: tools: print TOC scope 2012-07-27 23:56:54 +0100 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gst.c: * gst/gsttoc.c: * gst/gsttoc.h: * tests/check/gst/gsttoc.c: * tests/check/gst/gsttocsetter.c: * win32/common/libgstreamer.def: toc: add GstTocScope and require it in the constructor This is because we need to be able to signal different TOCs to downstream elements such as muxers and the application, and because we need to send both types as events (because the sink should post the TOC messages for the app in the end, just like tag messages are now posted by the sinks), and hence need to make TOC events multi-sticky. https://bugzilla.gnome.org/show_bug.cgi?id=678742 2012-07-27 23:54:00 +0100 Tim-Philipp Müller * scripts/create-uninstalled-setup.sh: scripts: create-uninstalled-setup.sh: check for basic build tools and deps .. before checking out stuff. 2012-07-27 23:52:12 +0200 Sebastian Dröge * gst/gstevent.c: * gst/gstevent.h: * gst/gsttaglist.c: * gst/gsttaglist.h: * libs/gst/base/gstbaseparse.c: * tests/check/gst/gstevent.c: * tests/check/gst/gstutils.c: tag: Add a scope to taglists This specifies if a given taglist applies to the complete medium or only this specific stream. By default a taglist has a stream scope. Fixes bug #677619. 2012-07-27 17:09:45 +0200 Wim Taymans * gst/gstsegment.c: * gst/gstsegment.h: * tests/check/gst/gstsegment.c: segment: add offset field Add an offset field that is used to track at what position the segment was updated. This is used to set the running time to 0 when we do a flushing seek that doesn't update the position. See https://bugzilla.gnome.org/show_bug.cgi?id=680306 2012-07-27 15:19:57 +0200 Wim Taymans * gst/gstelement.c: * gst/gstelement.h: * gst/gstsegment.c: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * plugins/elements/gsttypefindelement.c: * tests/check/gst/gstevent.c: * tests/check/gst/gststructure.c: Update for new seeking variable name When seeking, the start value and type are now called start and start_type. 2012-07-27 14:53:03 +0200 Wim Taymans * gst/gstsegment.c: segment: small cleanup Move the code to update the segment at the end of the function. 2012-07-27 12:05:25 +0100 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * win32/common/libgstreamer.def: Update docs and .def file for taglist API change 2012-07-27 13:02:52 +0200 Wim Taymans * gst/gstsegment.c: segment: remove redundant checks We don't need to check the segment format anymore because we asserted on them being equal before. 2012-07-27 12:24:03 +0200 Wim Taymans * tests/check/gst/gstsegment.c: tests: improve segment tests 2012-07-27 12:12:37 +0200 Wim Taymans * gst/gstallocator.c: * gst/gstallocator.h: * tests/examples/memory/my-memory.c: * tests/examples/memory/my-vidmem.c: allocator: remove user_data from alloc vmethod Remove the user_data from the alloc vmethod. Subclasses that implement a new alloc function can also implement their own vmethod to pass extra arguments. We can then also require that custom allocators implement an alloc function so that gst_allocator_alloc() always works. 2012-07-27 10:41:54 +0200 Wim Taymans * tests/check/gst/gstsegment.c: tests: remove segment accumulation checks Remove the checks because there is no more segment accumulation. 2012-07-26 16:44:15 +0100 Tim-Philipp Müller * gst/gsttaglist.c: * gst/gsttaglist.h: taglist: make GST_TAG_APPLICATION_DATA also a GstSample That way additional meta-data can be passed along with it. 2012-07-26 15:51:10 +0100 Tim-Philipp Müller * docs/random/porting-to-0.11.txt: * gst/gsttaglist.c: * gst/gsttaglist.h: * tests/check/gst/gsttag.c: taglist: gst_tag_list_get_buffer*() => gst_tag_list_get_sample*() Image tags and other tags are now of GstSample type. 2012-07-26 15:26:09 +0100 Tim-Philipp Müller * tools/gst-launch.c: gst-launch: print image tags and other GstSample tags properly These tags are now of type GstSample not GstBuffer. 2012-07-24 21:38:35 +0200 Stefan Sauer * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstcollectpads.c: * libs/gst/base/gstcollectpads.h: * win32/common/libgstbase.def: collectpads: remove unimplemented api We can always add this back if we need it. Fixes parts of #670852. 2012-07-24 13:49:36 +0200 Mark Nauwelaerts * libs/gst/base/gstbaseparse.c: baseparse: also account for frame size when merely scanning for frame Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680495 2012-07-24 13:48:39 +0200 Mark Nauwelaerts * libs/gst/base/gstbaseparse.c: baseparse: remove obsolete function parameter 2012-07-24 12:38:15 +0200 Wim Taymans * plugins/elements/gsttypefindelement.c: typefind: require bytes before typefinding Require that we have some bytes in the adapter before we attempt to typefind. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680479 2012-07-23 18:49:13 +0200 Christian Fredrik Kalager Schaller * gstreamer.spec.in: update spec file with latest changes 2012-07-23 16:27:34 +0200 Wim Taymans * gst/gstbufferlist.c: * gst/gstbufferlist.h: bufferlist: pass index as gint to _insert Make the idx argument of _insert() a gint because we allow -1 as a value. Improve annotation. 2012-07-23 13:40:38 +0200 Wim Taymans * plugins/elements/gstfakesink.c: * plugins/elements/gstfakesrc.c: * plugins/elements/gstidentity.c: plugins: print flags better print the buffer flags as a hex number so that it becomes easier to see what flags are set. 2012-07-18 17:03:45 +0200 Sebastian Rasmussen * gst/gstpoll.c: gstpoll: Improve warning message when re-adding fd to fdset Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680181 2012-07-23 08:44:04 +0200 Sebastian Dröge * common: Automatic update of common submodule From 98e386f to 94ccf4c 2012-07-20 00:49:28 +0100 Tim-Philipp Müller * gst/gststructure.c: * gst/gstvalue.c: value: add GstTagList serialisation/deserialisation So we can serialise/deserialise taglists inside structures, which used to work automagically before because GstTagList was just a typedef to GstStructure (same for the GType), but now that it's a separate GType we need to register explicit functions for this. Helps with GDP stuff in pipelines/streamheader tests. 2012-07-20 09:38:47 +0200 Philippe Normand * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: po: Update .po files 2012-07-19 13:51:23 +0200 Mark Nauwelaerts * tests/check/gst/gstbuffer.c: tests: gstbuffer: add tests for some mulitple map combinations 2012-07-19 13:35:34 +0200 Wim Taymans * gst/gstminiobject.c: miniobject: fix sharedness check 2012-07-19 13:20:27 +0200 Wim Taymans * gst/gstminiobject.c: miniobject: refuse write when object is shared In all cases, refuse to write an object when it is shared by more than one object (also when the object was locked before). See https://bugzilla.gnome.org/show_bug.cgi?id=679145 2012-07-18 15:21:33 +0200 Mark Nauwelaerts * tests/check/gst/gstbuffer.c: tests: gstbuffer: extend buffer copy test 2012-07-19 12:42:05 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2: set buffering-left to 0 on 100% buffering Set the buffering-left field in the query to 0 when we are completely buffered. Improve the debug. 2012-07-19 12:14:29 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2: fix buffering query Fix the buffering query, fill in the right buffering-left and estimated-total values. 2012-07-19 10:54:16 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2: fix the buffering-left in the buffering message The buffering-left field in the buffering message should contain a time estimate in milliseconds about for long the buffering is going to take. We can calculate this value when we do rate_estimates. 2012-07-19 10:14:18 +0200 Wim Taymans * gst/gstmessage.c: message: improve buffering message defaults Remove the estimated-total field, this should not be part of the buffering message. Set the default value of buffering-left to 0 when the percent is 100. 2012-07-18 17:44:54 +0200 Wim Taymans * gst/gstpad.c: pad: fix debug line Use QUERY_TYPE on query types. 2012-07-18 17:35:58 +0200 Wim Taymans * gst/gstghostpad.c: * gst/gstghostpad.h: * win32/common/libgstreamer.def: ghostpad: remove custom function Remove custom pad functions, the default ones are better. 2012-07-18 17:30:30 +0200 Wim Taymans * gst/gstpad.c: * gst/gstpad.h: pad: add PROXY_SCHEDULING flag Add a flag that makes the default query handler forward the scheduling query. 2012-07-18 17:30:04 +0200 Wim Taymans * gst/gstutils.c: utils: fix docs 2012-07-18 16:20:41 +0200 Wim Taymans * gst/gstpad.c: * gst/gstutils.c: pad: improve query caps function In the proxy_query_caps function, also filter against the filter in the query. We don't need to filter against the filter in the query anymore in the default caps query function because we already did this in the proxy_query_caps. 2012-07-18 11:17:23 +0200 Wim Taymans * docs/design/part-framestep.txt: * gst/gstsegment.c: * libs/gst/base/gstbasesink.c: basesink: handle -1 step amounts Define a 0 and -1 step amount. They used to almost do the same thing but now, 0 cancels/stops the current step and -1 keeps on stepping until the end of the segment. See https://bugzilla.gnome.org/show_bug.cgi?id=679378 2012-07-18 12:30:59 +0100 Tim-Philipp Müller * gst/gstquery.c: query: fix gst_query_parse_nth_allocation_pool() annotation It returns a ref to the pool. 2012-07-17 15:52:53 +0200 Edward Hervey * tests/check/gst/gstghostpad.c: check: Avoid deadlock Queries will be sent when pipeline goes down to NULL, which would result in the probe being called ... but can't take the lock. 2012-07-17 15:50:09 +0200 Edward Hervey * gst/gstghostpad.c: gstghostpad: Forward queries in both direction Use the peer of the internal pad to forward them, instead of the target which only exists for the ghostpad (and not the internal proxy pad). 2012-07-17 11:20:43 +0200 Edward Hervey * docs/gst/gstreamer-sections.txt: docs: More entries 2012-07-18 09:15:51 +0100 Tim-Philipp Müller * plugins/elements/gstqueue.c: queue: answer SCHEDULING query Instead of letting the default query handler fail. 2012-07-17 19:20:23 +0100 Tim-Philipp Müller * plugins/elements/gstqueue2.c: queue2: handle CAPS event and drop it if operating in ring buffer mode Fixes "Unexpected event of kind caps can't be added in temp file" warning when doing download buffering. 2012-07-17 12:57:59 +0200 Wim Taymans * gst/gstbuffer.c: * gst/gstbuffer.h: buffer: make _foreach_meta more powerful Make _foreach_meta return FALSE when the foreach function returned FALSE. 2012-07-17 12:52:59 +0200 Wim Taymans * gst/gstbufferlist.c: * gst/gstbufferlist.h: bufferlist: improve foreach function Make the foreach function return FALSE when one of the function calls returned FALSE. 2012-07-17 12:50:24 +0200 Wim Taymans * gst/gstbuffer.c: buffer: add more debug 2012-07-17 12:40:54 +0200 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: fix debug string 2012-07-17 09:57:47 +0200 Wim Taymans * gst/gstparse.c: * gst/parse/grammar.y: * gst/parse/types.h: parse: fix some debug 2012-07-17 09:48:00 +0200 Wim Taymans * gst/gstparse.c: parse: only escape spaces outside of quotes When we escape spaces to keep arguments together, only escape when the space is outside a "" string. See https://bugzilla.gnome.org/show_bug.cgi?id=673319 2012-07-17 09:44:10 +0200 Wim Taymans * gst/gstparse.c: Revert "parse: escape \ with a \ as well, so that we don't lose the \ when unescaping" This reverts commit dd9fedb41f1ada8e1f8bd5346fccd3d068d543cb. This is not the right place to escape the \, we should only escape the spaces to keep the arguments together that were provided as one group (with quotes on the shell). 2012-07-10 12:27:11 -0700 Evan Nemerson * gst/gstutils.c: utils: set return type of gst_parse_bin_* to GstBin for introspection 2012-06-30 12:33:43 -0700 Evan Nemerson * libs/gst/net/gstnettimepacket.c: nettimepacket: add missing array annotation to gst_net_time_packet_new 2012-06-29 17:33:49 -0700 Evan Nemerson * gst/gstformat.c: introspection: add missing array annotation to gst_formats_contains 2012-07-16 20:54:17 +0200 Stefan Sauer * gst/gstbin.c: * tests/check/gst/gstbin.c: bin: aggregate durations like in adder Stop querying the duration once an element return unknown and return unknown as a final result. This avoid eventually cutting off a stream too early. Add a tests to docuement the behavior. 2012-07-16 00:24:46 +0100 Tim-Philipp Müller * gst/gstdatetime.c: datetime: just return NULL on short input strings instead of a warning We want to be able to use this function on random non-NULL input, this should not result in a runtime-critical. 2012-07-15 12:59:44 +0100 Tim-Philipp Müller * libs/gst/base/gstbaseparse.c: baseparse: fix seekability querying with formats with headers like FLAC Move code that checks for upstream seekability and all that to the right place, otherwise it will never be done for formats that have headers such as FLAC, as handle_and_push frame will be called the first time only after headers have been processed (and framecount is > 0). This then makes us report that we can't seek, which disables the seek bar in totem. 2012-07-14 20:33:30 +0100 Tim-Philipp Müller * plugins/elements/gstdataqueue.c: * plugins/elements/gstdataqueue.h: plugins: embed GstAueueArray in dataqueue struct as well 2012-07-14 20:28:54 +0100 Tim-Philipp Müller * plugins/elements/gstelements.c: plugins: don't use one-time array in plugin_init 2012-07-14 20:26:04 +0100 Tim-Philipp Müller * plugins/elements/gstqueue.c: * plugins/elements/gstqueue.h: queue: embed GstQueueArray structure 2012-07-14 20:00:30 +0100 Tim-Philipp Müller * plugins/elements/gstcapsfilter.h: * plugins/elements/gstfakesink.h: * plugins/elements/gstfakesrc.h: * plugins/elements/gstfdsink.h: * plugins/elements/gstfdsrc.h: * plugins/elements/gstfilesink.h: * plugins/elements/gstfilesrc.h: * plugins/elements/gstfunnel.h: * plugins/elements/gstidentity.h: * plugins/elements/gstinputselector.h: * plugins/elements/gstmultiqueue.h: * plugins/elements/gstoutputselector.h: * plugins/elements/gstqueue.h: * plugins/elements/gstqueue2.h: * plugins/elements/gstqueuearray.h: * plugins/elements/gsttee.h: * plugins/elements/gsttypefindelement.h: * plugins/elements/gstvalve.h: plugins: sprinkle some more G_GNUC_INTERNAL 2012-07-14 19:38:39 +0100 Tim-Philipp Müller * plugins/elements/gstqueuearray.c: * plugins/elements/gstqueuearray.h: plugins: add init/clear functions to GstQueueArray 2012-07-14 19:24:57 +0100 Tim-Philipp Müller * libs/gst/base/Makefile.am: * plugins/elements/Makefile.am: * plugins/elements/gstdataqueue.h: * plugins/elements/gstqueue.h: * plugins/elements/gstqueuearray.c: * plugins/elements/gstqueuearray.h: * tests/check/libs/queuearray.c: * win32/common/libgstbase.def: base: make GstQueueArray private to coreelements for now Keep it private until we have a reason to make it public. 2012-07-14 19:08:24 +0100 Tim-Philipp Müller * gst/gsttaglist.c: taglist: check value type matches tag type when adding values to a taglist 2012-07-14 18:52:50 +0100 Tim-Philipp Müller * gst/gstinfo.c: info: make taglists and datetime loggable via GST_PTR_FORMAT 2012-07-13 12:05:15 +0200 Wim Taymans * libs/gst/base/gstbaseparse.c: baseparse: send seek event upstream first First try to let upstream handle the seek event, then fail if the event is something we don't understand. 2012-07-13 09:43:59 +0200 Wim Taymans * tests/check/gst/gstpad.c: pad: fix test raciness Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679506 2012-07-12 13:17:51 +0100 Tim-Philipp Müller * scripts/gst-uninstalled: gst-uninstalled: fix gst-ffmpeg plugin path again 2012-07-12 12:09:13 +0100 Tim-Philipp Müller * scripts/gst-uninstalled: gst-uninstalled: add clutter-gst and refine plugin search paths 2012-07-12 00:34:22 +1000 Jan Schmidt * gst/gstpad.c: gstpad: Move sticky flag clearing code to gst_pad_activate_mode The ghostpad code directly activates/deactivates the child code by calling gst_pad_activate_mode, rather than gst_pad_set_active, so make sure to clear the flags in gst_pad_activate_mode(), which should catch all cases. 2012-07-11 12:40:10 +0200 Wim Taymans * gst/gstevent.c: event: improve annotation 2012-07-11 12:37:05 +0200 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: handle step end correctly when we have a new step event with a -1 amount, make sure that we follow the regular code path so that the stop_end handler is called as usual. This takes care of flushing the buffer in case of a flushing step and also posts a step end message. See https://bugzilla.gnome.org/show_bug.cgi?id=679378 2012-07-11 13:14:57 +0200 Sebastian Dröge * win32/common/libgstbase.def: * win32/common/libgstnet.def: win32: Fix exported symbols list for real now 2012-07-11 11:21:18 +0200 Stefan Sauer * gst/gstsegment.c: segment: remove removed api from the docs. 2012-07-11 12:46:31 +0200 Sebastian Dröge * win32/common/libgstbase.def: * win32/common/libgstnet.def: * win32/common/libgstreamer.def: win32: Updated exported symbols list 2012-07-11 12:45:51 +0200 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gsttoc.c: * gst/gsttoc.h: toc: Add functions to retrieve the parent GstToc/GstTocEntry of a GstTocEntry 2012-07-10 18:15:20 +0300 Anton Belka * gst/gsttoc.c: toc: Fix gst_toc_find_entry() Recursive search for the required entry, instead of returning the top-level entry that contains an entry with the search UID. 2012-07-11 10:26:13 +0200 Edward Hervey * libs/gst/base/gstbaseparse.c: baseparse: Push STREAM_START in pull-mode 2012-07-11 10:24:51 +0200 Edward Hervey * gst/gststructure.c: structure: Demote WARNING to DEBUG It is not an issue to get fields that don't exist, calling code should handle that. 2012-07-10 11:46:41 +0200 Edward Hervey * gst/gst.c: * gst/gstatomicqueue.c: * gst/gstatomicqueue.h: * gst/gstbin.c: * gst/gstbin.h: * gst/gstbuffer.h: * gst/gstbufferlist.c: * gst/gstbufferlist.h: * gst/gstbus.c: * gst/gstcaps.c: * gst/gstcaps.h: * gst/gstclock.c: * gst/gstclock.h: * gst/gstconfig.h.in: * gst/gstdatetime.c: * gst/gstdebugutils.h: * gst/gstelement.c: * gst/gstelement.h: * gst/gstelementfactory.c: * gst/gstelementfactory.h: * gst/gsterror.h: * gst/gstevent.c: * gst/gstevent.h: * gst/gstghostpad.c: * gst/gstinfo.c: * gst/gstinfo.h: * gst/gstiterator.c: * gst/gstmessage.c: * gst/gstmessage.h: * gst/gstminiobject.c: * gst/gstpad.c: * gst/gstpad.h: * gst/gstpadtemplate.c: * gst/gstparamspecs.c: * gst/gstparamspecs.h: * gst/gstparse.c: * gst/gstparse.h: * gst/gstpipeline.c: * gst/gstplugin.c: * gst/gstplugin.h: * gst/gstpluginfeature.c: * gst/gstpluginfeature.h: * gst/gstpoll.c: * gst/gstpoll.h: * gst/gstpreset.c: * gst/gstquery.c: * gst/gstquery.h: * gst/gstregistry.c: * gst/gstsample.c: * gst/gstsegment.c: * gst/gstsegment.h: * gst/gststructure.c: * gst/gsttaglist.c: * gst/gsttaglist.h: * gst/gsttagsetter.c: * gst/gsttask.c: * gst/gsttaskpool.c: * gst/gsttaskpool.h: * gst/gsttoc.c: * gst/gsttocsetter.c: * gst/gsttrace.h: * gst/gsttypefind.c: * gst/gsttypefind.h: * gst/gsttypefindfactory.c: * gst/gsturi.c: * gst/gstutils.c: * gst/gstutils.h: * gst/gstvalue.c: * gst/gstvalue.h: * gst/gstversion.h.in: * libs/gst/base/gstadapter.c: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbaseparse.h: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesink.h: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasesrc.h: * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstbasetransform.h: * libs/gst/base/gstbitreader-docs.h: * libs/gst/base/gstbitreader.c: * libs/gst/base/gstbitreader.h: * libs/gst/base/gstbytereader-docs.h: * libs/gst/base/gstbytereader.c: * libs/gst/base/gstbytereader.h: * libs/gst/base/gstbytewriter-docs.h: * libs/gst/base/gstbytewriter.c: * libs/gst/base/gstbytewriter.h: * libs/gst/base/gstcollectpads.c: * libs/gst/base/gstcollectpads.h: * libs/gst/base/gstindex.c: * libs/gst/base/gsttypefindhelper.c: * libs/gst/check/gstcheck.c: * libs/gst/check/gstcheck.h: * libs/gst/check/gstconsistencychecker.c: * libs/gst/check/gstconsistencychecker.h: * plugins/elements/gstdataqueue.c: * plugins/elements/gstdataqueue.h: * plugins/elements/gstfakesink.c: * plugins/elements/gstfakesrc.c: * plugins/elements/gstfdsrc.c: * plugins/elements/gstfilesink.c: * plugins/elements/gstidentity.c: * plugins/elements/gstinputselector.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstoutputselector.c: * plugins/elements/gstqueue.c: * plugins/elements/gstqueue2.c: * plugins/elements/gstvalve.c: * plugins/elements/gstvalve.h: Remove 0.10-related documentation and "Since" markers 2012-07-10 00:39:37 +0100 Tim-Philipp Müller * libs/gst/base/gstbasesrc.c: basesrc: provide fallback in case a create function doesn't know about provided buffers In 0.11 the caller may provide a buffer to be filled by the source to pull_range/get_range/create, but it's easy to miss this new case when porting code from 0.10. Provide fallback that copies the created data into the provided buffer for now. This makes oggdemux in pull-mode work with dataurisrc. 2012-07-10 10:31:00 +0200 Wim Taymans * gst/gstquery.c: * gst/gstquery.h: * libs/gst/base/gstbasetransform.c: query: copy structure in _add_allocation_meta() Make gst_query_add_allocation_meta() take a copy of the passed caps instead of taking ownership. This makes it easier for the caller in most cases because it doesn't have to make a copy and deal with NULL values. 2012-07-10 10:11:57 +0200 Wim Taymans * gst/gst.c: gst: add new flags 2012-07-09 23:47:53 +0200 Matej Knopp * gst/gstminiobject.c: miniobject: fix exclusive lock/unlock race 2012-07-10 00:59:40 +0100 Tim-Philipp Müller * plugins/elements/gstdataurisrc.c: dataurisrc: copy into provided buffer if a buffer is provided 2012-07-09 21:51:07 +0100 Tim-Philipp Müller * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * plugins/elements/gsttypefindelement.c: basesrc, basesink, baseparse, typefind: use GST_SEGMENT_FLAG with segment flags 2012-07-09 22:11:31 +0200 Stefan Sauer * gst/gstsegment.c: * gst/gstsegment.h: segment: also copy the segment flag Fixes segmented seeks (as tested e.g. in the adder tests in base). 2012-07-09 20:55:00 +0100 Tim-Philipp Müller * plugins/elements/gstdataqueue.h: plugins: sprinkle G_GNUC_INTERNAL for dataqueue functions And remove padding, since this is not public API any more. 2012-07-09 20:48:56 +0100 Tim-Philipp Müller * gst/gst_private.h: * gst/parse/types.h: gst: sprinkle some G_GNUC_INTERNAL for internal functions 2012-07-09 20:09:55 +0100 Tim-Philipp Müller * tests/check/gst/gsttoc.c: * tests/check/gst/gsttocsetter.c: tests: fix toc unit tests Meant to check subsubentry, not subentry. 2012-07-09 18:58:24 +0100 Tim-Philipp Müller * tests/check/gst/gsttoc.c: tests: minor toc test clean-up 2012-07-09 18:51:37 +0100 Tim-Philipp Müller * tests/check/gst/gsttoc.c: * tests/check/gst/gsttocsetter.c: tests: turn toc check macros into proper functions So we can see the line number of the check that fails. 2012-07-09 20:31:00 +0200 Edward Hervey * win32/common/libgstbase.def: * win32/common/libgstnet.def: * win32/common/libgstreamer.def: win32: Update defs file for API changes/addition 2012-07-09 20:29:29 +0200 Edward Hervey * tests/check/gst/gstbin.c: * tests/check/gst/gstparamspecs.c: * tests/check/pipelines/cleanup.c: * tests/check/pipelines/simple-launch-lines.c: check: Update tests for new STREAM_START message 2012-07-09 20:28:54 +0200 Edward Hervey * tests/check/gst/gstbin.c: check: Ensure STREAM_START message is posted A STREAM_START message is posted if and only if all sinks in the bin/pipeline received the STREAM_START event 2012-07-09 20:28:20 +0200 Edward Hervey * libs/gst/base/gstbasesink.c: basesink: Post a STREAM_START message when we see the event 2012-07-09 20:27:44 +0200 Edward Hervey * gst/gstbin.c: gstbin: collect and aggregate STREAM_START messages when all sinks have posted a STREAM_START, the bin will forward a new STREAM_START message to the parent bin or application 2012-07-09 20:08:15 +0200 Edward Hervey * gst/gstmessage.c: * gst/gstmessage.h: * win32/common/libgstreamer.def: gstmessage: New GST_MESSAGE_STREAM_START message counterpart to the GST_EVENT_STREAM_START event 2012-07-09 19:59:33 +0200 Edward Hervey * tests/check/gst/gstbin.c: check: Unit test for EOS message Make sure we get the aggregated message if and only if all sinks received an EOS event 2012-07-09 19:56:15 +0200 Stefan Sauer * libs/gst/base/gstcollectpads.c: collectpads: add STREAM_START handling Use a flag to forward the first STREAM_START 2012-07-09 16:20:49 +0100 Tim-Philipp Müller * docs/design/part-caps.txt: * docs/design/part-streams.txt: docs: update stream docs for SEGMENT_START event 2012-07-09 16:48:56 +0200 Wim Taymans * docs/gst/gstreamer-sections.txt: docs: fix more docs 2012-07-09 16:22:04 +0200 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gstallocator.h: docs: fix docs a little more 2012-07-09 16:02:50 +0200 Wim Taymans * gst/Makefile.am: * gst/gstallocator.c: * gst/gstallocator.h: * gst/gstbuffer.h: * gst/gstbufferpool.c: * gst/gstmemory.c: * gst/gstmemory.h: * gst/gstquery.c: * gst/gstquery.h: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: * tests/examples/memory/memory_test.c: * tests/examples/memory/my-memory.c: * tests/examples/memory/my-memory.h: * tests/examples/memory/my-vidmem.c: memory: Make GstAllocator a GstObject Make GstAllocator a GstObject instead of a GstMiniObject, like bufferpool. Make a new gstallocator.c file. Make a GstAllocator subclass for the default allocator. 2012-07-09 13:20:30 +0200 Wim Taymans * gst/gstmemory.c: memory: remove unused macros 2012-07-09 13:20:05 +0200 Wim Taymans * gst/gstclock.c: * tests/check/gst/gstclock.c: clock: make abstract Make the GstClock type abstract. Fix a horrible hack in the clock unit test. 2012-07-09 15:37:28 +0200 Sebastian Dröge * plugins/elements/gstqueue.c: queue: Fix handling of min-threshold and serialized queries Only consider the queue empty if the minimum thresholds are not reached and data is at the queue head. Otherwise we would block forever on serialized queries. This also makes sending of serialized events, like caps, happen faster and potentially improves negotiation performance. Fixes bug #679458. 2012-07-09 13:15:46 +0100 Tim-Philipp Müller * gst/gsttoc.c: toc: remove padding now that the structs are private 2012-07-09 13:12:27 +0100 Tim-Philipp Müller * gst/gsttoc.c: * gst/gsttoc.h: * tests/check/gst/gsttoc.c: toc: add gst_toc_dump() function for debugging API: gst_toc_dump() 2012-07-03 00:07:11 +0100 Tim-Philipp Müller * gst/gstbus.c: * gst/gstclock.c: * gst/gstsystemclock.c: * tests/check/gst/gstpipeline.c: bus, clock: make sure these never have a floating ref Clear the initial floating ref in the init function for busses and clocks. These objects can be set on multiple elements, so there's no clear parent-child relationship here. Ideally we'd just not make them derive from GInitiallyUnowned at all, but since we want to keep using GstObject features for debugging, we'll just do it like this. This should also fix some problems with bindings, which seem to get confused when they get floating refs from non-constructor functions (or functions annotated to have a 'transfer full' return type). This works now: from gi.repository import GObject, Gst GObject.threads_init() Gst.init(None) pipeline=Gst.Pipeline() bus = pipeline.get_bus() pipeline.set_state(Gst.State.NULL) del pipeline; https://bugzilla.gnome.org/show_bug.cgi?id=679286 https://bugzilla.gnome.org/show_bug.cgi?id=657202 2012-07-08 20:15:33 +0200 Stefan Sauer * tools/gst-inspect.c: inspect: suppress glib deprecations warnings for G_VALUE_ARRAY 2012-07-07 23:13:20 +0100 Tim-Philipp Müller * tests/check/gst/gstvalue.c: tests: add more tests for datetime value serialisation/deserialisation Esp. of partial datetimes. 2012-07-07 22:46:00 +0100 Tim-Philipp Müller * gst/gst_private.h: * gst/gstvalue.c: * tests/check/gst/gstvalue.c: value: use datetime serialise/deserialise functions for datetimes This re-uses existing code and makes sure we properly serialise and deserialise datetimes where not all fields are set (thus fixing some warnings when serialising such datetimes). 2012-07-07 22:40:12 +0100 Tim-Philipp Müller * gst/gstdatetime.c: datetime: do our own serialisation so we can serialise microseconds as well We still don't do that in _to_iso8601_string() though, since this will probably mostly be used in tags, where it doesn't matter so much and the microsecond argument might not be well-received by some tag readers. 2012-07-07 19:43:50 +0100 Tim-Philipp Müller * gst/gstdatetime.c: datetime: when deserialising parse microseconds if available 2012-07-07 16:01:41 +0100 Tim-Philipp Müller * gst/gstdatetime.c: datetime: fix second parsing failure case when deserialising datetime When we fail to parse the number of seconds, reset the value to -1 instead of passing some error value as seconds. Also, we can still try to parse timezone information. 2012-07-07 15:44:57 +0100 Tim-Philipp Müller * tests/examples/memory/my-memory.c: * tests/examples/memory/my-vidmem.c: examples: fix debug log print formats in memory examples 2012-07-07 01:37:50 +0200 Sebastian Rasmussen * gst/gstinfo.c: gstinfo: Add destroy notify arguments to debug stubs Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679535 2012-07-06 20:37:06 +0200 Sebastian Rasmussen * gst/gststructure.c: gststructure: Set lcopy string const exactly as glib's macro Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679534 2012-07-06 17:19:21 +0200 Wim Taymans * gst/gstmemory.c: * gst/gstmemory.h: * tests/examples/memory/my-memory.c: * tests/examples/memory/my-vidmem.c: memory: expose the GstAllocation structure Expose the GstAllocation structure and provide an _init function. This makes it easier to make 'subclasses' of the allocator that contain more info. It also allows us to expose the flags on the allocator miniobject. Make a flag to note that the allocator uses a custom alloc function. 2012-07-06 12:45:29 +0200 Edward Hervey * gst/gststructure.c: structure: Demote WARNING to INFO It is common to use gst_structure_get() to know if a field is present or not. 2012-07-06 11:41:52 +0200 Edward Hervey * tools/gst-inspect.c: gst-inspect: Remove unused define 2012-07-06 11:41:33 +0200 Edward Hervey * tests/check/libs/libsabi.c: check: gstcontroller.h doesn't exist anymore 2012-07-06 11:40:47 +0200 Edward Hervey * tests/check/libs/basesrc.c: check: Use consistencycheck on basesrc 2012-07-06 11:38:58 +0200 Edward Hervey * libs/gst/check/gstconsistencychecker.c: consistencychecker: Check for STREAM_START event Check that it is always before any serialized event. 2012-07-06 10:13:28 +0100 Tim-Philipp Müller * plugins/elements/gsttypefindelement.c: * plugins/elements/gsttypefindelement.h: typefindelement: remove unimplemented maximum property 2012-07-06 10:09:55 +0100 Tim-Philipp Müller * plugins/elements/gsttee.c: * plugins/elements/gsttee.h: tee: remove unimplemented has-sink-loop property 2012-07-06 10:07:56 +0100 Tim-Philipp Müller * plugins/elements/gstqueue2.c: queue2: remove deprecated temp-location use, make it read-only 2012-07-06 09:57:52 +0100 Tim-Philipp Müller * plugins/elements/gstidentity.c: * plugins/elements/gstidentity.h: identity: remove deprecated check-perfect property Replaced by the more specific check-imperfect-{timestamp,offset} 2012-07-06 11:49:47 +0200 Wim Taymans * gst/gstquery.c: * gst/gstquery.h: * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstbasetransform.h: query: use more generic structure for meta params 2012-07-06 11:22:43 +0200 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gstquery.c: * gst/gstquery.h: query: make find_allocation_meta method Make gst_query_find_allocation_meta() that also return the index of the metadata and replaces gst_query_has_allocation_meta(). 2012-07-06 11:00:38 +0200 Wim Taymans * gst/gstquery.c: * gst/gstquery.h: * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstbasetransform.h: query: add flags to allocation query Make it possible to add API specific flags to the ALLOCATION query. This makes it possible to also check what kinds of subfeatures of the metadata API are supported. 2012-07-06 09:11:48 +0200 Wim Taymans * tests/examples/memory/memory_test.c: tests: remove unused includes 2012-07-05 18:07:52 +0200 Wim Taymans * tests/examples/memory/Makefile.am: * tests/examples/memory/memory_test.c: * tests/examples/memory/my-memory.h: * tests/examples/memory/my-vidmem.c: * tests/examples/memory/my-vidmem.h: memory: add more examples Add an example of a custom allocator with a custom API. 2012-07-05 17:11:01 +0200 Wim Taymans * gst/gstmemory.c: * gst/gstmemory.h: * tests/examples/memory/Makefile.am: * tests/examples/memory/memory_test.c: * tests/examples/memory/my-memory.c: * tests/examples/memory/my-memory.h: memory: add gst_memory_init() Add a method that memory implementations can call to initialize the standard GstMemory structure. Move the parent handling in the _free handler. Rearrange some internal function parameters so that the order is consistent. Add more memory examples 2012-07-05 16:17:53 +0200 Wim Taymans * gst/gstminiobject.c: miniobject: fix some miniobject docs 2012-07-05 14:25:13 +0200 Wim Taymans * configure.ac: * tests/examples/Makefile.am: * tests/examples/memory/.gitignore: * tests/examples/memory/Makefile.am: * tests/examples/memory/memory_test.c: tests: add memory example 2012-07-05 12:25:45 +0100 Tim-Philipp Müller * tests/check/gst/gsttoc.c: tests: fix toc unit test build by removing toc query stuff there too 2012-07-05 13:03:10 +0200 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gstevent.c: * gst/gstevent.h: * gst/gstquark.c: * gst/gstquark.h: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * win32/common/libgstreamer.def: event: Add format and position to the segment-done event 2012-07-05 12:53:57 +0200 Wim Taymans * docs/design/part-buffer.txt: * docs/design/part-memory.txt: * docs/design/part-miniobject.txt: docs: update docs 2012-07-05 12:17:55 +0200 Wim Taymans * gst/gstminiobject.h: miniobject: increase amount of possible flags 2012-07-05 12:52:51 +0200 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gstevent.c: * gst/gstevent.h: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: event: Implement segment-done event 2012-07-05 12:37:01 +0200 Sebastian Dröge * docs/design/part-toc.txt: part-toc: Remove section about TOC query 2012-07-05 12:34:43 +0200 Sebastian Dröge * win32/common/libgstbase.def: * win32/common/libgstreamer.def: win32: Update exported symbols list 2012-07-05 12:31:58 +0200 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gstquery.c: * gst/gstquery.h: query: Remove the TOC query, it's not very useful now that we have sticky events 2012-07-03 18:49:18 +0200 Sebastian Dröge * gst/gstquark.c: * gst/gstquark.h: quark: Remove unneeded quarks 2012-07-03 18:45:05 +0200 Sebastian Dröge * docs/design/part-toc.txt: * docs/gst/gstreamer-sections.txt: * gst/gsttoc.c: * gst/gsttoc.h: * tests/check/gst/gsttoc.c: * tests/check/gst/gsttocsetter.c: * tools/gst-launch.c: * win32/common/libgstbase.def: * win32/common/libgstnet.def: * win32/common/libgstreamer.def: toc: Make structures opaque and clean up function names and fields a bit 2012-07-04 17:02:09 +0200 Wim Taymans * gst/gstbuffer.c: buffer:fix debug category 2012-07-04 16:38:15 +0200 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstbufferlist.c: * gst/gstcaps.c: * gst/gstcaps.h: * gst/gstevent.c: * gst/gstmemory.c: * gst/gstmemory.h: * gst/gstmessage.c: * gst/gstminiobject.c: * gst/gstminiobject.h: * gst/gstquery.c: * gst/gstsample.c: * gst/gsttaglist.c: * gst/gsttoc.c: * tests/check/gst/gstmemory.c: * win32/common/libgstreamer.def: miniobject: add lock functionality to GstMiniObject Move the locking methods from GstMemory to GstMiniObject. Add a miniobject flag to enable LOCKABLE objects. LOCKABLE objects can use the lock/unlock API to control the access to the object. Add a minobject flag that allows you to lock an object in readonly mode. Modify the _is_writable() method to check the shared counter for LOCKABLE objects. This allows us to control writability separately from the refcount for LOCKABLE objects. 2012-07-04 16:04:28 +0200 Wim Taymans * gst/gst_private.h: * gst/gstinfo.c: info: add new locking debug category 2012-07-04 12:28:56 +0200 Wim Taymans * gst/gstmemory.c: memory: fix is_exclusive 2012-07-04 12:03:32 +0200 Wim Taymans * gst/gstmemory.h: memory: add LOCK_FLAG_READWRITE define 2012-07-04 11:48:37 +0200 Wim Taymans * docs/design/part-memory.txt: memory: update docs 2012-07-04 10:12:43 +0200 Wim Taymans * gst/gstmemory.c: memory: small cleanup 2012-07-03 13:50:06 +0200 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gst.c: * win32/common/libgstreamer.def: update for new symbols 2012-07-03 13:47:49 +0200 Wim Taymans * gst/gstmemory.c: memory: Fix the NO_SHARE flag in the constructor The NO_SHARE flag does not influence the exclusiveness of the buffer initially but only if a _share operation can be done. Otherwise, we would not be able to WRITE map a buffer memory because it would have a share count of at least 2. 2012-07-03 13:47:30 +0200 Wim Taymans * gst/gstmemory.c: memory: only check the locking refcount 2012-07-03 13:46:40 +0200 Wim Taymans * gst/gstbuffer.c: buffer: fix resize Correctly update the exclusive locks 2012-07-03 13:45:03 +0200 Wim Taymans * gst/gstmemory.h: memory: Use lock flags for map flags We implement the locking in gst_memory_map with the lock flags, make matching flags the same number so that we can use the map flags directly as lock flags. 2012-07-03 12:18:02 +0200 Wim Taymans * gst/gstbuffer.c: buffer: lock memory EXCLUSIVE lock the memory that the buffer references as EXCLUSIVE. This makes sure that when we share the memory with other buffers that it becomes unwritable. 2012-07-03 12:16:19 +0200 Wim Taymans * gst/gstmemory.c: memory: cleanup the locking code cleanup and fix the locking code 2012-07-03 09:48:32 +0200 Wim Taymans * docs/design/part-memory.txt: * gst/gstmemory.c: * gst/gstmemory.h: memory: expose the internal locking api Expose the internally used methods for locking and unlocking the object. Pass the access mode to the unlock function for extra checks and because we need it for the EXCLUSIVE locks. Make some new defines to specify the desired locking. Add a new EXCLUSIVE lock mode which will increment the shared counter. Objects with a shared counter > 1 will not be lockable in WRITE mode. 2012-06-29 16:37:05 +0200 Mark Nauwelaerts * tests/check/gst/gstbuffer.c: tests: gstbuffer: extend buffer copy test ... to check for independence of copied buffer. 2012-07-04 18:32:47 +0100 Tim-Philipp Müller * gst/gstregistry.c: registry: remove outdated bits of warning message I think we can be reasonable sure people are using an up-to-date gst-uninstalled script now. 2012-07-04 18:16:23 +0100 Tim-Philipp Müller * gst/gstpluginloader.c: * gst/gstregistry.c: Add versioned variants of some environment variables Improve parallel installability in setups like jhbuild by providing versioned variants of some environment variables: GST_REGISTRY_1_0 GST_PLUGIN_PATH_1_0 GST_PLUGIN_SYSTEM_PATH_1_0 GST_PLUGIN_SCANNER_1_0 will now be checked before checking the unversioned ones. https://bugzilla.gnome.org/show_bug.cgi?id=679407 2012-07-04 17:55:58 +0100 Tim-Philipp Müller * gst/gstsample.h: docs: fix typo in GstSample docs 2012-07-04 17:36:55 +0100 Tim-Philipp Müller * gst/gsturi.c: * tests/check/gst/gsturi.c: uri: there are valid URI protocols with only two letters, like fd:// We added a minimum length of three letters originally so we would fail to recognise DOS/Windows-style filenames as valid URIs (as we should). Two should be just fine as well. 2010-10-13 13:36:08 +0200 Edward Hervey * win32/common/libgstbase.def: win32: API additions 2009-09-29 09:54:24 +0200 Edward Hervey * plugins/elements/gstdataqueue.c: * plugins/elements/gstdataqueue.h: dataqueue: Use GstQueueArray 2009-09-28 17:31:49 +0200 Edward Hervey * plugins/elements/gstqueue.c: * plugins/elements/gstqueue.h: queue: Use new GstQueueArray for local storage. Makes _chain() and _loop() 25% faster 2009-09-29 09:06:13 +0200 Edward Hervey * tests/check/Makefile.am: * tests/check/libs/queuearray.c: check: New unit test for GstQueueArray 2009-09-28 17:30:04 +0200 Edward Hervey * libs/gst/base/Makefile.am: * libs/gst/base/gstqueuearray.c: * libs/gst/base/gstqueuearray.h: * win32/common/libgstbase.def: libs: New growing-only queue. This is a queue which has the same API as GQueue, except that: * It uses an array, instead of a doubled-linked-list * The array can only grow. This code is not-threadsafe. It is up to the owner to make sure the proper locking is taken before calling this API. 2012-07-04 16:16:04 +0100 Tim-Philipp Müller * docs/design/part-segments.txt: * gst/gstsegment.c: * gst/gstsegment.h: segment: make sure we don't have unmapped seek flags littering out segment flags Make GstSeekFlag to GstSegmentFlag conversion explicit, and set only those seek flags in the segment flags which are mapped. This makes sure we don't have extraneous flags littering our segment flag field, which also fixes the debug printing/serialisation of segment events in the debug log. 2012-07-04 10:24:11 +0100 Tim-Philipp Müller * docs/random/porting-to-0.11.txt: docs: minor porting-to-0.11.txt update 2012-07-04 10:23:06 +0100 Tim-Philipp Müller * tests/check/gst/gstdatetime.c: tests: make checks for from/to_g_date_time() actually work properly 2012-06-29 21:52:47 -0400 Joshua M. Doe * docs/gst/gstreamer-sections.txt: * gst/gstdatetime.c: * gst/gstdatetime.h: * tests/check/gst/gstdatetime.c: * win32/common/libgstreamer.def: datetime: add conversion to/from GDateTime Exposes existing constructor. API: gst_date_time_to_g_date_time() API: gst_date_time_new_from_g_date_time() https://bugzilla.gnome.org/show_bug.cgi?id=679080 2012-07-04 08:52:08 +0100 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gstutils.c: * gst/gstutils.h: * win32/common/libgstreamer.def: utils: remove unused gst_print_* functions 2012-07-03 22:24:22 +0100 Tim-Philipp Müller * gst/gstpad.c: pads: no need to deactivate pads that are already in PAD_MODE_NONE 2012-07-03 22:20:40 +0100 Tim-Philipp Müller * gst/gstbin.c: * gst/gstelement.c: * gst/gstpad.c: pads: make pad activation debug logs a bit more readable 2012-07-03 19:15:25 +0100 Tim-Philipp Müller * tests/check/elements/fakesrc.c: tests: add unit test for element re-use using fakesrc 2012-07-03 19:04:54 +0100 Tim-Philipp Müller * gst/gstpad.c: pad: clear EOS flag when deactivating pads fixing element re-use 2012-07-03 17:25:21 +0200 Sebastian Dröge * libs/gst/base/gstbasesink.c: basesink: Post TOC messages on the bus in the sinks, similar to tags 2012-07-03 12:38:55 +0200 Wim Taymans * gst/gstbuffer.c: buffer: fix the _get_mapped function Fix the internal _get_mapped function. gst_memory_make_mapped() takes ownership of the memory so we need to keep an additional ref until we are done. 2012-07-03 12:23:36 +0200 Wim Taymans * gst/gstbuffer.c: buffer: add more debug log 2012-07-03 10:02:55 +0200 Sebastian Dröge * gst/gstevent.h: event: The GAP event is (partially) implemented now, STREAM_CONFIG isn't 2012-06-28 16:42:08 +0800 Chun-wei Fan * libs/gst/controller/gstargbcontrolbinding.c: * libs/gst/controller/gstdirectcontrolbinding.c: controlbindings: include gst/math-compat.h for isnan() Due to the usage of isnan(), where an implementation is added into gst/math-compat.h. Fixes build on Visual C++. https://bugzilla.gnome.org/show_bug.cgi?id=679112 2012-06-29 16:52:31 +0800 Chun-wei Fan * gst/math-compat.h: math-compat.h: add implementation for isnan() for Visual C++ Visual C++ does not have isnan(), so add fallback to math-compat.h (could use _isnan() in this case, but this makes it work for all cases where isnan is missing). https://bugzilla.gnome.org/show_bug.cgi?id=679112 2012-06-29 10:56:34 +0800 Chun-wei Fan * plugins/elements/gstfdsink.c: fdsink.c: fix G_OS_WIN32 #ifdef Postpone the #ifdef to a point after glib.h (via gstfdsink.h) is included so that the needed defines and header includes can be done correctly, especially on Visual C++ builds. https://bugzilla.gnome.org/show_bug.cgi?id=679112 2012-05-27 23:09:43 +0300 Raimo Järvi * tests/check/gst/gstdatetime.c: tests: fix build of datetime unit test in Windows Also include config.h for all the #ifdef HAVE_XYZ. https://bugzilla.gnome.org/show_bug.cgi?id=676935 2012-06-29 11:19:07 +0200 Wim Taymans * gst/gstobject.c: gstobject: don't use g_strdup_value_contents() g_strdup_value_contents() does some extra escaping, preventing us from using the output on the console to be used directly. 2012-06-28 14:41:43 +0100 Tim-Philipp Müller * docs/gst/running.xml: docs: expand a bit more on GST_DEBUG docs 2012-06-28 11:02:19 +0200 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gstbuffer.c: * gst/gstbuffer.h: * win32/common/libgstreamer.def: buffer: add _append_region function Make a gst_buffer_append_region() function that allows you to append a memory region from one buffer to another. This is a more general version of gst_buffer_append(). 2012-06-28 09:36:34 +0200 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: handle DTS and PTS Use DTS and PTS of the subclass. Calculate PTS from DTS on keyframes. 2012-06-27 23:01:13 +0100 Tim-Philipp Müller * tests/check/gst/gstdatetime.c: tests: test datetime deserialisation a bit more 2012-06-27 23:00:08 +0100 Tim-Philipp Müller * gst/gstdatetime.c: datetime: ignore 0 days or months in dates Handle 0 months or days correctly in date strings, so that 2012-06-00 is parsed the same as 2012-06, for example. 2012-01-01 16:38:08 +0100 Idar Tollefsen * configure.ac: * m4/check-checks.m4: build: Make sure AC_INCLUDES_DEFAULT is used Without using AC_INCLUDES_DEFAULT explicitly, certain platforms will complain that the header was found, but not usable by the compiler. This happens for instance on Solaris where certain headers are needed to pull in proper defines. Also upgrade to newer autoconf syntax and use proper quoting. https://bugzilla.gnome.org/show_bug.cgi?id=667293 2012-06-27 20:52:52 +0100 Tim-Philipp Müller * tests/check/gst/gstbin.c: tests: fix bus leak in GstBin test_state_change_skip test Still not valgrind clean though. 2012-06-27 19:59:29 +0100 Christophe Fergeau * gst/gstparse.c: parse: escape \ with a \ as well, so that we don't lose the \ when unescaping If we have a file called Foo\Bar.ogg, there is no way to pass that filename properly to filesrc in gst_parse_launch(), since gst_parse_unescape() will just unescape \x to x. Not cherry-picking this into 0.10 since there are apparently apps that work around this problem and which would break if we fixed it there too. https://bugzilla.gnome.org/show_bug.cgi?id=673319 2012-06-27 16:37:54 +0100 Tim-Philipp Müller * gst/gstelementfactory.h: elementfactory: annotate some of the type defines for g-i Type is not picked up yet though, and we still need to annotate values for the 'simple' defines. https://bugzilla.gnome.org/show_bug.cgi?id=677925 2012-06-27 14:48:55 +0100 Tim-Philipp Müller * gst/gstclock.h: clock: annotate GST_CLOCK_TIME_NONE with its value for g-i The value now gets picked up, but it still thinks the type is a 'gint'. https://bugzilla.gnome.org/show_bug.cgi?id=678928 2012-06-27 13:19:23 +0100 Tim-Philipp Müller * tests/check/gst/gstdatetime.c: tests: add some datetime serialisation/deserialisation tests https://bugzilla.gnome.org/show_bug.cgi?id=678031 2012-06-27 13:16:07 +0100 Tim-Philipp Müller * gst/gst_private.h: * gst/gstdatetime.c: * gst/gstvalue.c: datetime: fix compare function Take into account that not all fields might be valid (though they are valid in the GDateTime structure). But we should just return unordered if the set fields don't match. Also, don't check microseconds when comparing datetimes, since we don't serialise those by default if they're available. This ensures date times are still regarded as equal after serialising+deserialising. 2012-06-18 08:06:49 +0200 Oleksij Rempel * docs/gst/gstreamer-sections.txt: * gst/gstdatetime.c: * gst/gstdatetime.h: * win32/common/libgstreamer.def: datetime: add serialisation to and deserialisation from ISO 8601 strings Some tag parsers and writers use same datetime format based on ISO 8601. We can reduce some code by creating some general functions for it. API: gst_date_time_to_iso8601_string() API: gst_date_time_new_from_iso8601_string() https://bugzilla.gnome.org/show_bug.cgi?id=678031 2012-06-07 11:30:48 +0100 Lionel Landwerlin * Makefile.am: * configure.ac: * tests/Makefile.am: configure: add --disable-tools and --disable-benchmarks options Add option to avoid build binaries. When building for platforms like android, you might want to not link any "final" binary, mostly because it requires special link flags or other parts of code that aren't in the C library. https://bugzilla.gnome.org/show_bug.cgi?id=677621 2012-06-26 20:41:18 +0100 Tim-Philipp Müller * gst/gst_private.h: * gst/gstevent.c: * gst/gstmessage.c: * gst/gstquark.c: * gst/gstquark.h: * gst/gstquery.c: * gst/gsttoc.c: * tests/check/gst/gsttoc.c: toc: put toc directly into event/message/query structure Now that TOCs are refcounted and have a GType, we can just stuff a ref of the TOC directly into the various toc event/message/query structures and get rid of lots of cracktastic GstStructure <-> GstToc serialisation and deserialisation code. We lose some TOC sanity checking in the process, but that should really be done when it's being created anyway. 2012-06-26 18:22:33 +0100 Tim-Philipp Müller * gst/gstbus.c: Revert "bus: skip gst_bus_create_watch as GSource is not introspectable" This reverts commit 930e36a89bc5c2a0f2e4ab7a73bfa630c1e0336a. This shouldn't have been pushed, since GSource is now handled (https://bugzilla.gnome.org/show_bug.cgi?id=657725) 2011-08-29 13:57:03 -0300 Johan Dahlin * gst/gstbus.c: bus: skip gst_bus_create_watch as GSource is not introspectable https://bugzilla.gnome.org/show_bug.cgi?id=657640 2012-06-26 17:35:22 +0100 Tim-Philipp Müller * docs/random/porting-to-0.11.txt: docs: some more additions to the porting-to-0.11 guide 2012-06-26 17:27:31 +0100 Tim-Philipp Müller * tools/gst-inspect.c: * tools/gst-launch.c: * tools/gst-typefind.c: * tools/tools.h: tools: minor clean-up Get rid of superfluous argument. 2012-06-26 17:04:01 +0100 Tim-Philipp Müller * tools/gst-inspect.c: * tools/gst-launch.c: * tools/gst-typefind.c: * tools/tools.h: tools: remove useless g_set_prgname() wrapper 2012-06-26 16:55:30 +0100 Tim-Philipp Müller * tools/gst-launch.c: tools: point people to right binary when a crash happens "gst-launch" is the 0.10 wrapper script, using that with gdb is not going to yield great results. 2012-06-26 16:42:36 +0100 Tim-Philipp Müller * configure.ac: configure: bump GLib requirement to now-released stable version 2012-06-26 16:42:10 +0100 Tim-Philipp Müller * plugins/elements/gstinputselector.c: inputselector: remove some dead code for old GLib versions 2012-06-25 23:17:32 +0100 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gsttoc.c: * gst/gsttoc.h: * win32/common/libgstreamer.def: toc: add more entry types Make entry types less abstract. https://bugzilla.gnome.org/show_bug.cgi?id=678742 2012-06-17 12:48:04 +1000 Jan Schmidt * docs/random/porting-to-0.11.txt: a couple of notes for the 0.11 porting guide 2012-06-26 09:51:10 +0200 Wim Taymans * gst/gstminiobject.c: * gst/gstminiobject.h: * win32/common/libgstreamer.def: miniobject: add steal_qdata Rework the qdata code a little 2012-06-25 19:52:44 +0100 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gsttocsetter.c: * gst/gsttocsetter.h: * tests/check/gst/gsttocsetter.c: * win32/common/libgstreamer.def: tocsetter: clean up and update API for refcounted TOCs Let's keep it simple for now: gst_toc_setter_reset_toc() -> gst_toc_setter_reset() gst_toc_setter_get_toc_copy() -> removed gst_toc_setter_get_toc() -> returns a ref now gst_toc_setter_get_toc_entry_copy() -> removed, use TOC functions instead gst_toc_setter_get_toc_entry() -> removed, use TOC functions instead gst_toc_setter_add_toc_entry() -> removed, to avoid problems with (refcount-dependent) writability of TOC; use TOC functions instead 2012-06-25 09:32:41 +0200 Wim Taymans * gst/gstmemory.h: memory: improve docs Mention that custom allocator functions can pass whatever they want to the user_data. 2012-04-06 18:00:33 +0400 Alexander Saprykin * gst/gsttagsetter.c: tagsetter: use G_DEFINE_INTERFACE_* macro https://bugzilla.gnome.org/show_bug.cgi?id=673641 2012-04-06 17:59:35 +0400 Alexander Saprykin * gst/gsttocsetter.c: * gst/gsttocsetter.h: tocsetter: use G_DEFINE_INTERFACE_* macro https://bugzilla.gnome.org/show_bug.cgi?id=673641 2012-06-25 00:10:53 +0100 Tim-Philipp Müller * docs/design/part-toc.txt: docs: update design docs for TOC API changes too 2012-06-24 20:10:34 +0100 Tim-Philipp Müller * gst/gsttocsetter.c: * tests/check/gst/gsttoc.c: * tests/check/gst/gsttocsetter.c: * tools/gst-launch.c: tocsetter, gst-launch, tests: update for GstToc API changes 2012-06-24 20:08:33 +0100 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gsttoc.c: * gst/gsttoc.h: * win32/common/libgstreamer.def: toc: make GstToc and GstTocEntry mini objects Because we can, and in order to make them refcounted. 2012-06-23 21:42:58 +0100 Tim-Philipp Müller * gst/gsttaglist.c: taglist: fix confusing log message 2012-06-23 21:35:33 +0100 Tim-Philipp Müller * gst/gstvalue.c: value: fix int64 - int64 range intersection on big endian systems Works better if we use the v_int64 field of the GValue instead of v_int. 2012-06-23 19:56:12 +0100 Tim-Philipp Müller * gst/gstbuffer.c: * gst/gstbufferlist.c: * gst/gstcaps.c: * gst/gstevent.c: * gst/gstmemory.c: * gst/gstmessage.c: * gst/gstminiobject.c: * gst/gstminiobject.h: * gst/gstquery.c: * gst/gstsample.c: * gst/gsttaglist.c: miniobjects: pass copy, dispose and free function to gst_mini_object_init() So mini objects don't have to poke into the GstMiniObject part of the structure. Saves lines of code, and seems slightly cleaner. We don't have proper OO hierarchies or methods here after all. 2012-06-23 17:05:05 +0100 Tim-Philipp Müller * gst/gsttaglist.c: taglist: remove some outdated FIXMEs and comments 2012-06-23 17:04:53 +0100 Tim-Philipp Müller * gst/gstsample.c: sample: some more g-i annotations 2012-06-23 16:59:10 +0100 Tim-Philipp Müller * gst/gstvalue.c: * tests/check/gst/gsttag.c: sample: add compare function for GstSample Should make gst_tag_list_is_equal() work properly with image tags. https://bugzilla.gnome.org/show_bug.cgi?id=672637 2012-06-23 16:30:03 +0100 Tim-Philipp Müller * gst/gstvalue.c: value: fix buffer compare function 2012-06-23 14:41:50 +0100 Tim-Philipp Müller * tests/check/gst/gsturi.c: tests: add unit test for gst_element_make_from_uri() https://bugzilla.gnome.org/show_bug.cgi?id=645467 2012-06-23 14:41:17 +0100 Tim-Philipp Müller * gst/parse/grammar.y: parse: update for gst_element_make_from_uri() change 2012-06-23 14:40:17 +0100 Tim-Philipp Müller * gst/gsturi.c: * gst/gsturi.h: uri: add error argument to gst_element_make_from_uri() So callers can differentiate between there not being a handler for the protocol, and them not accepting the URI for some reason. https://bugzilla.gnome.org/show_bug.cgi?id=645467 2012-06-23 12:37:16 +0100 Tim-Philipp Müller * gst/gstmemory.h: memory: annotate GstMapInfo data as array for g-i 2012-06-20 12:53:04 +0100 Tim-Philipp Müller * tools/gst-launch.c: tools: remove pointless get_state() in gst-launch State changes to NULL state are always sync. 2012-06-21 01:28:43 -0300 Thiago Santos * plugins/elements/gstinputselector.c: inputselector: avoid notify-tags holding lock unlock before issuing this notification to prevent deadlocks when other elements reacts to new tags. Fixes #678220 2012-06-18 16:54:29 -0300 Thiago Santos * scripts/gst-uninstalled: gst-uninstalled: add gst-p-bad gst-libs to the path Makes videoparsers and camerabins from bad usable from an uninstalled environment at osx 2012-06-20 13:28:08 +0200 Wim Taymans * gst/gstinfo.c: * gst/gstinfo.h: * tests/check/gst/gstinfo.c: info: add destroy notify to gst_debug_add_log_function() 2012-06-20 13:27:33 +0200 Wim Taymans * gst/gstpad.c: pad: improve introspection annotation 2012-06-20 12:29:35 +0200 Wim Taymans * gst/gstbin.c: * gst/gstbus.c: * gst/gstbus.h: * tests/check/generic/sinks.c: * tests/check/gst/gstbin.c: * tests/examples/streams/rtpool-test.c: * tests/examples/streams/stream-status.c: * tools/gst-launch.c: bus: add GDestroyNotify to set_sync_handler() 2012-06-20 12:06:11 +0200 Wim Taymans * win32/common/libgstreamer.def: defs: update 2012-06-20 11:59:09 +0200 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gstpad.c: * gst/gsttask.c: * gst/gsttask.h: task: add separate methods to add enter/leave callback Remove the structure of callbacks and replace with separate methods to register each callback. This is much more binding friendly. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=677898 2012-06-20 10:31:49 +0200 Wim Taymans * gst/gstpad.c: * gst/gstpad.h: * gst/gsttask.c: * gst/gsttask.h: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstqueue.c: * plugins/elements/gstqueue2.c: * plugins/elements/gsttypefindelement.c: * tests/check/gst/gstmessage.c: * tests/check/gst/gsttask.c: task: add GDestroyNotify to _new Add a GDestroyNotify to the user_data we pass to gst_task_new() Change gst_pad_start_task() to also take the notify 2012-06-20 09:58:14 +0200 Wim Taymans * docs/random/porting-to-0.11.txt: * gst/gstclock.c: * gst/gstclock.h: * gst/gstmeta.c: * tests/check/gst/gstsystemclock.c: * win32/common/libgstnet.def: * win32/common/libgstreamer.def: clock: remove _full version Rename gst_clock_id_wait_async_full() to gst_clock_id_wait_async() and remove the old gst_clock_id_wait_async() version. 2012-06-20 09:22:40 +0200 Wim Taymans * libs/gst/net/gstnettimepacket.c: * libs/gst/net/gstnettimepacket.h: nettimepacket: make boxed 2012-06-19 19:55:30 -0700 Evan Nemerson * libs/gst/net/gstnettimepacket.c: net: fix some argument names in documentation 2012-06-19 19:55:02 -0700 Evan Nemerson * libs/gst/controller/gstdirectcontrolbinding.c: * libs/gst/controller/gstlfocontrolsource.c: * libs/gst/controller/gsttimedvaluecontrolsource.h: controller: assorted minor introspection fixes 2012-06-19 19:53:54 -0700 Evan Nemerson * libs/gst/check/gstcheck.c: check: add some missing documentation, including annotations 2012-06-19 18:41:04 -0700 Evan Nemerson * libs/gst/base/gstbitreader.c: * libs/gst/base/gstbitreader.h: * libs/gst/base/gstbytereader.h: * libs/gst/base/gstbytewriter.c: base: add some missing introspection annotations 2012-06-19 17:37:59 -0700 Evan Nemerson * gst/gsttaskpool.c: task pool: set scope of gst_task_pool_push callback to async 2012-06-19 17:33:45 -0700 Evan Nemerson * gst/gstatomicqueue.c: * gst/gstbuffer.c: * gst/gstelementfactory.c: * gst/gsttaskpool.c: introspection: add missing return value annotations 2012-06-19 16:09:10 -0700 Evan Nemerson * gst/gstbus.h: * gst/gstinfo.h: * gst/gstminiobject.h: * gst/gsttask.h: * gst/gsttaskpool.h: * gst/gsttypefind.h: introspection: rename some "data" arguments to "user_data" GObject Introspection will automatically treat "user_data" arguments as closure data. 2012-06-19 16:08:46 -0700 Evan Nemerson * gst/gsttoc.h: toc: add some missing element-type annotations 2012-06-19 16:06:49 -0700 Evan Nemerson * gst/gstbufferpool.h: buffer pool: put GstBufferPoolAcquireParams typedef before struct Works around https://bugzilla.gnome.org/show_bug.cgi?id=581525 2012-06-19 16:14:46 +0200 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: preroll and sync on gap events 2012-06-19 16:08:00 +0200 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: reorganize the code a little Move the code to get the sync times together. 2012-06-19 14:30:37 +0100 Sebastian Dröge * gst/gstmemory.h: memory: Fix docs typo 2012-06-19 14:05:21 +0200 Wim Taymans * gst/gstclock.h: clock: assert about timestamp overflows Assert when converting to timeval and timespec about overflows. This can happen on platforms with 32bits long. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=678181 2012-06-19 10:13:15 +0200 Wim Taymans * win32/common/libgstreamer.def: defs: remove gst_pad_set_caps 2012-06-19 10:32:10 +0100 Sebastian Dröge * plugins/elements/gstinputselector.c: inputselector: Only proxy the allocation query for the active pad and send reconfigure events to the old/new pad when switching pads 2012-06-18 16:14:19 +0200 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gstcompat.h: * gst/gstpad.c: * gst/gstpad.h: pad: move gst_pad_set_caps() to compat We want code to explicitly send a caps event instead. 2012-06-18 16:13:22 +0200 Wim Taymans * gst/gstutils.c: utils: fix some docs 2012-06-18 15:52:05 +0200 Wim Taymans * docs/random/porting-to-0.11.txt: docs: small doc fix 2012-06-18 15:28:20 +0200 Sebastian Rasmussen * gst/gstclock.h: clock: fix compiler warning Cast to the right value, it might indeed overflow but we want the compiler to ignore that. 2012-06-18 15:22:26 +0200 Wim Taymans * gst/gstminiobject.c: * gst/gstminiobject.h: miniobject: hide qdata array layout 2012-06-18 15:21:31 +0200 Wim Taymans * docs/design/part-meta.txt: docs: clarify qdata wrt to metadata 2012-06-18 15:21:12 +0200 Wim Taymans * win32/common/libgstreamer.def: defs: update for new api 2012-06-15 16:56:46 -0700 Evan Nemerson * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbytewriter.c: introspection: assorted introspection and documentation fixes in base 2012-06-15 18:35:05 -0700 Evan Nemerson * libs/gst/base/gstadapter.c: adapter: add missing element-type annotations 2012-06-15 16:14:49 -0700 Evan Nemerson * gst/gstatomicqueue.c: * gst/gstatomicqueue.h: atomic queue: register as boxed type 2012-06-15 16:43:30 -0700 Evan Nemerson * gst/gstbin.c: * gst/gstbus.c: * gst/gstchildproxy.c: * gst/gstchildproxy.h: * gst/gstclock.c: * gst/gstcontrolbinding.c: * gst/gstcontrolbinding.h: * gst/gstcontrolsource.c: * gst/gstcontrolsource.h: * gst/gstevent.c: * gst/gstobject.c: * gst/gstpad.h: * gst/gstpadtemplate.c: * gst/gstpipeline.c: * gst/gsttaglist.c: * gst/gstutils.c: introspection: assorted introspection and documentation fixes These changes are to clean up syntax issues such as missing colons, missing spaces, etc., and minor issues such as argument names in headers not matching the implementation and/or documentation. 2012-06-15 14:50:48 -0700 Evan Nemerson * gst/gsttocsetter.c: * gst/gsttocsetter.h: toc setter: change GstTocSetterIFace to GstTocSetterInterface Without this GObject Introspection does not recognize the connection to GstTocSetter. 2012-06-18 12:15:57 +0200 Wim Taymans * gst/gstbufferpool.c: bufferpool: update docs a little 2012-06-18 11:36:25 +0200 Wim Taymans * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesink.h: * win32/common/libgstbase.def: basesink: wait_eos() -> wait() Rename gst_base_sink_wait_eos() to gst_base_sink_wait() to avoid confusion and introspection problems with the ::wait_eos vmethod. Also this method can be used to wait for other things than EOS. Update the docs a little. 2012-06-18 10:13:38 +0200 Wim Taymans * gst/gstbufferpool.c: * gst/gstbufferpool.h: bufferpool:check caps argument Caps should be NULL or fixed when configured in a bufferpool 2012-06-15 17:01:37 +0200 Wim Taymans * gst/gstcaps.c: caps: NULL is not a valid caps anymore 2012-06-15 15:48:42 +0200 Wim Taymans * docs/design/part-buffering.txt: docs: review the buffering docs 2012-06-15 15:36:41 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2: fix percent scaling Use _scale functions to scale the percent values. Correctly scale the percent values in the buffering ranges. 2012-06-15 14:54:48 +0200 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: avoid flush when starting When we are doing the initial seek in startup, avoid doing a flush (and unlock) because we know that the task is not started yet. 2012-06-15 12:58:10 +0200 Wim Taymans * win32/common/libgstreamer.def: defs: update 2012-06-15 12:55:20 +0200 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstbufferlist.c: * gst/gstelementfactory.c: * gst/gstevent.c: * gst/gstghostpad.c: * gst/gstminiobject.c: * gst/gstminiobject.h: * gst/gstpad.c: * gst/gstquery.c: * gst/gstquery.h: docs: improve API docs 2012-06-15 00:00:12 +0100 Tim-Philipp Müller * gst/gstmemory.c: alllocator: no need to store structure size inside the structure 2012-06-14 23:54:22 +0100 Tim-Philipp Müller * gst/gstquery.c: query: no need to store the size of the structure inside the structure 2012-06-14 23:52:41 +0100 Tim-Philipp Müller * gst/gstevent.c: event: no need to store the size of the structure inside the structure 2012-06-14 23:49:10 +0100 Tim-Philipp Müller * gst/gstbufferlist.c: bufferlist: no need to store the size of the structure inside the structure 2012-06-14 23:45:14 +0100 Tim-Philipp Müller * gst/gstcaps.c: caps: no need to store the size of the caps structure inside the structure 2012-06-14 23:41:57 +0100 Tim-Philipp Müller * gst/gstmessage.c: message: no need to store size of the message structure inside the structure 2012-06-14 23:38:54 +0100 Tim-Philipp Müller * gst/gstsample.c: sample: no need to store the size of the sample structure inside the structure 2012-06-14 23:36:29 +0100 Tim-Philipp Müller * gst/gsttaglist.c: taglist: no need to store the size of the tag list structure inside the structure 2012-06-15 11:24:46 +0200 Wim Taymans * gst/gstminiobject.c: miniobject: expand docs a little Add blurb about qdata and weak refs. 2012-06-15 10:44:24 +0200 Wim Taymans * gst/gstminiobject.c: * gst/gstminiobject.h: * win32/common/libgstreamer.def: miniobject: add qdata Keep track of qdata for miniobjects. Reuse the weak ref array for this because we can. 2012-06-15 10:56:13 +0200 Wim Taymans * gst/gstminiobject.c: miniobject: fix error in the weak ref handling When 2 weak refs are added, the array is not resized big enough. Simplify the weak ref handling code. Free memory when we remove all weak refs. Allow installing the same weak ref multiple times, like in gobject. 2012-06-14 17:11:11 +0200 Wim Taymans * gst/gstbuffer.c: * gst/gstbufferlist.c: * gst/gstcaps.c: * gst/gstevent.c: * gst/gstmemory.c: * gst/gstmessage.c: * gst/gstminiobject.c: * gst/gstminiobject.h: * gst/gstquery.c: * gst/gstsample.c: * gst/gsttaglist.c: miniobject: remove the size field The size field is used by subclasses to store the total allocated size of the memory for this miniobject. Because miniobject doesn't really do anything with this field we can move it to the subclasses. 2012-06-14 16:30:12 +0200 Wim Taymans * gst/gstbuffer.c: * gst/gstmemory.c: * gst/gstmemory.h: * libs/gst/check/gstcheck.h: * tests/check/gst/gstmemory.c: * win32/common/libgstreamer.def: memory: make GstMemory a miniobject 2012-06-14 16:27:26 +0200 Wim Taymans * gst/gsttrace.c: trace: always print miniobject refcount 2012-06-14 15:40:43 +0200 Wim Taymans * gst/gstmemory.c: memory: fix copy function Make the copy function map to ref because we can't safely copy the user_data. 2012-06-14 15:33:50 +0200 Wim Taymans * gst/gstmemory.c: * gst/gstmemory.h: * win32/common/libgstreamer.def: memory: make GstAllocator a miniobject 2012-06-12 13:26:35 +0200 David Svensson Fors * plugins/elements/gstfunnel.c: gstfunnel: avoid access of freed pad Save the value of the pad's got_eos in gst_funnel_release_pad, before calling gst_element_remove_pad. This is because gst_element_remove_pad may free the pad. https://bugzilla.gnome.org/show_bug.cgi?id=678017 2012-06-14 14:05:15 +0100 Vincent Penquerc'h * gst/gstelement.c: element: fix pad transfer annotation from none to full since the pad will be unreffed. 2012-06-13 10:52:48 +0200 Wim Taymans * gst/gstbin.c: * gst/gstmessage.c: * gst/gstmessage.h: * libs/gst/base/gstbasesink.c: message: add the running-time to the async-done message Add the running-time of the buffer that caused the async operation to complete to the async-done message. Update bin to handle the new async-done message. 2012-06-13 10:51:04 +0200 Wim Taymans * gst/gstpipeline.c: * libs/gst/base/gstbasesink.c: pipeline: use reset_time message to reset the start time Use the new RESET_TIME message to reset the start-time of the pipeline to the requested time. Make basesink request a new running-time when the flush-stop message tells it to insteasd of waiting for preroll. 2012-06-13 10:16:27 +0200 Wim Taymans * gst/gstmessage.c: * gst/gstmessage.h: * gst/gstquark.c: * gst/gstquark.h: * win32/common/libgstreamer.def: message: add a new message to reset time Add a new message to reset the pipeline running_time. Currently reseting the pipeline can only be requested in the async_done message which means that the pipeline needs to be prerolled. It is better to move this to a separate message. 2012-06-12 17:11:51 +0200 Wim Taymans * gst/gstbin.c: bin: always recurse into bins when doing state changes Never skip the state change of a bin because it needs to update the base time of its children when needed. 2012-06-13 00:30:48 +0100 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: docs: update for new datetime api 2012-06-13 00:28:00 +0100 Tim-Philipp Müller * win32/common/libgstreamer.def: win32: update .def file for latest API 2012-06-13 00:25:24 +0100 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: docs: add new datetime API 2012-06-13 00:21:32 +0100 Tim-Philipp Müller * tests/check/gst/gstdatetime.c: tests: add some basic unit tests for partial date time fields 2012-06-12 23:52:02 +0100 Tim-Philipp Müller * gst/gstdatetime.c: * gst/gstdatetime.h: datetime: clean-ups and new API adjustments Remove constructors we don't want: gst_date_time_new_ymd_h() because we don't want to support hour-only for now; gst_date_time_new_ymd_hm() because we don't want to add constructors with time info where the caller doesn't have to think about what timezone the time is in. Lots of compulsive clean-up. Docs fixes. Replace has_minute() and has_hour() with has_time(). 2012-06-12 22:35:42 +0200 Oleksij Rempel * gst/gstdatetime.c: * gst/gstdatetime.h: datetime: allow GstDateTime where not all fields are set In order to deserialise and re-serialise dates and date times from tags properly, we need to be able to express partial dates (e.g. YYYY or YYYY-MM) and date times. We only support partial date times where all the more significant fields above the first unset field are set (e.g. YYYY-00-DD is not supported). Calling _get_foo() when foo is not set is not allowed any more, callers need to check which fields are set first. https://bugzilla.gnome.org/show_bug.cgi?id=677757 2012-06-12 22:45:09 +0100 Tim-Philipp Müller * gst/gstmessage.c: * gst/gstquark.c: * gst/gstquark.h: message: fix up minor inconsistency in structure name of state-changed message 2012-06-12 11:42:30 -0700 Evan Nemerson * gst/gstbin.h: * gst/gstclock.h: * gst/gstelement.h: * gst/gstobject.c: * gst/gstpadtemplate.h: introspection: add some missing annotations 2012-06-12 14:24:27 +0200 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: handle flush events on the element as well Handle flush-start and flush-stop sent on the element as well and send them downstream. Make sure to send a segment event after the flush stop. 2012-06-12 11:05:05 +0200 Stefan Sauer * gst/gstchildproxy.c: childproxy: add a few more comments 2012-06-11 20:34:00 +0200 Stefan Sauer * gst/gstchildproxy.h: childproxy: fix signal handler signatures in class When adding the name parameter, we forgot to add it here too. 2012-06-11 10:59:49 +0200 Stefan Sauer * gst/gstbin.c: * gst/gstchildproxy.c: * gst/gstchildproxy.h: * tests/check/gst/gstchildproxy.c: childproxy: use GstChildProxy instead of GObject on the public api Fix usage and also cleanup gst_object api use on gobjects. 2012-06-11 15:49:10 +0200 Wim Taymans * gst/gstelement.h: element: remove unused UNPARENTING flag 2012-06-11 15:41:58 +0200 Wim Taymans * gst/gstbin.c: bin: reorganize _remove_func to avoid races Make the gst_bin_remove_func more like the add_func. Check if the element we try to remove from the bin has the bin as the parent and set the parent flag to NULL immediately, this allows us to avoid concurrent remove operations without using the UNPARENTING element flag. After we unparented the element from the bin, we update the bin state and remove the element from the list. Finally we unlink all the pads. This avoids a race condition where the element could still claim to have the bin as the parent while the bin didn't have a pointer to the element anymore. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=647759 2012-06-10 12:48:00 -0400 Matej Knopp * plugins/elements/gsttypefindelement.c: typefindelement: Only send caps when pad is being activated Fixes https://bugzilla.gnome.org/show_bug.cgi?id=677819 2012-06-10 12:41:12 -0400 Matej Knopp * gst/gstelement.c: gstelement: Start over if subclass removed the next pad too Fixes https://bugzilla.gnome.org/show_bug.cgi?id=677818 2012-06-09 18:05:14 +0100 Tim-Philipp Müller * gst/gstdatetime.c: datetime: remove fallback code for old GLibs 2012-06-09 17:13:04 +0100 Tim-Philipp Müller * scripts/create-uninstalled-setup.sh: scripts: add create-uninstalled-setup script Little script that sets up things in ~/gst and clones the main modules and prints some instructions. From http://gstreamer.freedesktop.org/wiki/UninstalledSetup 2012-06-08 15:45:38 +0200 Sebastian Dröge * plugins/elements/gstcapsfilter.c: * plugins/elements/gsttypefindelement.c: elements: Use gst_pad_set_caps() and don't ignore its return value 2012-06-08 15:41:17 +0200 Sebastian Dröge * libs/gst/base/gstbasesrc.c: basesrc: Don't ignore the return value of gst_pad_set_caps() and call it after the vfunc 2012-06-08 15:36:40 +0200 Sebastian Dröge * libs/gst/base/gstbasesink.c: basesink: Use gst_pad_set_caps() instead of the manual event fiddling 2012-06-08 15:32:37 +0200 Sebastian Dröge * libs/gst/base/gstbasetransform.c: basetransform: Don't return the return value of gst_pad_set_caps() e.g. it returns FALSE if incompatible caps are set on the pad. 2012-06-06 19:02:00 +0200 Edward Hervey * gst/gstutils.h: gstutils: Faster read macros On platforms that can do unaligned read/write, we can read/write much faster by just casting. https://bugzilla.gnome.org/show_bug.cgi?id=599546 2012-06-07 12:49:10 +0200 Edward Hervey * tests/check/gst/gstutils.c: check: Add a test for GST_READ_* macros 2012-06-08 14:49:51 +0200 Edward Hervey * common: Update common submodule 2012-06-07 17:58:02 +0200 Wim Taymans * libs/gst/base/gstbasetransform.c: basetransform: fix reconfigure Use the pad methods to set and check the reconfigure flags Clear the reconfigure flag before we negotiate so that we don't miss any reconfigure events while negotiating 2012-06-07 15:56:44 +0200 Sebastian Dröge * configure.ac: Back to development === release 0.11.92 === 2012-06-07 15:56:17 +0200 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/gstreamer-plugins.args: * docs/plugins/inspect/plugin-coreelements.xml: * gstreamer.doap: * win32/common/config.h: * win32/common/gstenumtypes.c: Release 0.11.92 2012-06-07 15:53:49 +0200 Sebastian Dröge * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files 2012-06-07 15:28:39 +0200 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: release the object lock sooner Release the object lock before we get the time of the clock because that code might take other locks. Fix potential clock refcount error because we released the object lock but didn't ref the clock. 2012-06-07 10:34:46 +0200 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: remove 0.11 fixme We always require elements to have an unlock_stop vmethod. 2012-06-06 18:11:13 +0200 Edward Hervey * gst/gstregistry.c: registry: We name the registry after the target cpu And not the host cpu Conflicts: gst/gstregistry.c 2012-06-06 18:18:18 +0200 Edward Hervey * common: Automatic update of common submodule From 1fab359 to 03a0e57 2012-06-06 15:45:11 +0200 Wim Taymans * tests/check/gst/gsttoc.c: tests: fix unit test after event change Someone forgot to run make check before pushing... 2012-06-06 11:06:32 +0300 Sreerenj Balachandran * libs/gst/base/gstadapter.c: gstadapter: Align the comment description with public api instead of internal one. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=677536 2012-06-06 15:29:49 +0200 Wim Taymans * gst/gstelement.c: element: fix pad cleanup in dispose In the dispose handler we first need to release all the request pads and then remove the remaining pads. This is because it is possible that releasing the request pad might also cleanly remove some of the other dynamic pads, like what rtpsession does. https://bugzilla.gnome.org/show_bug.cgi?id=677436 2012-06-06 14:14:31 +0200 Sebastian Dröge * gst/gstevent.c: * gst/gstevent.h: event: Don't make the TOC event a multi-sticky event Elements are supposed to merge upstream events. 2009-10-13 17:24:34 +0200 Havard Graff * gst/gstpad.c: Make sure that unlinked pads do not cause a return false on latency events. Context: Latency configuration should not be messed up because of not-linked pads. In general, one return FALSE on latency distribution causes the "overall" pipeline latency configuration to fail. This shows up as noise in logs (warning). Conflicts: gst/gstpad.c 2012-06-06 12:52:09 +0200 Wim Taymans * gst/gstevent.c: * gst/gstevent.h: * libs/gst/base/gstbaseparse.c: * tests/check/gst/gstevent.c: * tests/check/gst/gsttoc.c: * tests/check/gst/gstutils.c: event: add name to sticky_multi events The name of the event is used to store multiple sticky events of a certain type on a pad. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=676859 2012-06-06 09:59:55 +0200 Sebastian Dröge * docs/design/part-negotiation.txt: design: Also mention that the order of the filter caps is important 2012-06-06 09:15:04 +0200 Wim Taymans * gst/gstquery.c: query: improve docs 2012-06-06 09:13:11 +0200 Wim Taymans * gst/gstpad.c: pad: only serialized events can't pass after EOS Only serialized events can't be sent on pads that are EOS. Otherwise a seek event would be refused as well. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=677520 2012-06-05 14:38:25 +0200 Wim Taymans * docs/design/part-negotiation.txt: docs: talk about the filter caps 2012-06-02 16:44:59 +0100 Tim-Philipp Müller * tests/check/gst/gsttag.c: tests: add unit test for tag list writability 2012-06-02 16:38:35 +0100 Tim-Philipp Müller * gst/gstmessage.c: * tests/check/gst/gstmessage.c: * tests/check/gst/gsttag.c: * tests/check/gst/gsttagsetter.c: * tests/examples/metadata/read-metadata.c: gst_tag_list_free -> gst_tag_list_unref 2012-06-02 16:29:45 +0100 Tim-Philipp Müller * docs/random/porting-to-0.11.txt: docs: expand taglist section in porting-to-0.11 docs a bit 2012-06-05 11:28:38 +0200 Wim Taymans * docs/design/part-negotiation.txt: docs: update negotiation docs Mention that the acceptcaps query does not have to be recursive 2012-06-05 09:40:14 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2: remove obsolete caps code 2012-06-05 09:39:41 +0200 Wim Taymans * gst/gstutils.c: utils: improve debug 2012-06-05 09:21:10 +0200 Wim Taymans * tests/check/gst/gstutils.c: tests: fix unit test Before we can change the caps on a sinkpad with fixed caps we need to unfix the pad caps. 2012-06-05 09:10:05 +0200 Wim Taymans * gst/gstpad.c: pad: don't pause task on EOS Elements should not rely on core to pause tasks on EOS. 2012-06-05 09:00:01 +0200 Wim Taymans * gst/gstpad.c: pad: fix event type check 2012-06-04 16:19:26 +0200 Wim Taymans * gst/gstpad.c: pad: fix 'res' may be used uninitialized in this function 2012-06-04 13:00:53 +0200 Sebastian Dröge * tests/check/elements/funnel.c: funnel: Fix unit test 2012-06-04 12:57:59 +0200 Sebastian Dröge * tests/check/elements/valve.c: valve: Fix unit test 2012-06-04 11:46:42 +0200 Sebastian Dröge * gst/gstpad.c: * gst/gstpad.h: pad: Don't accept any buffers or events after EOS 2012-06-04 11:13:02 +0200 Mark Nauwelaerts * libs/gst/base/gstbaseparse.c: baseparse: also perform state processing upon non-OK return ... since processing might still continue (if e.g. NOT_LINKED) and then proper state (e.g. offset) needs to be maintained (e.g. to arrange for a new frame setup). 2012-06-04 11:25:47 +0200 Sebastian Dröge * gst/gstpad.c: pad: Always return errors for EOS events immediately For non-EOS events things will error out later during data flow but after EOS events no data flow is happening. See bug #677340. 2012-06-04 09:27:35 +0200 Sebastian Dröge * gst/gstpad.c: pad: Only forward caps events to a pad if it accepts the caps Fixes bug #677335. 2012-06-02 20:01:01 +0200 Sebastian Dröge * gst/gstpad.c: Revert "pad: Return FALSE if pushing of sticky events failed" This reverts commit 0f924b922c712059d7752fc15b832551745ff27e. Sticky events should always return TRUE when pushing and will only cause failures during data flow later. 2012-06-02 16:18:46 +0100 Tim-Philipp Müller * gst/gstpad.c: pad: fix variable-set-but-not-used compiler warning 2012-06-02 16:55:07 +0200 Sebastian Dröge * gst/gstpad.c: pad: If pushing a sticky event failed, make sure to at least push any pending EOS events Otherwise a pipeline where one sticky event fails to be sent will never forward EOS events downstream. This can cause pipelines to wait forever for EOS on errors. 2012-06-02 16:02:07 +0200 Sebastian Dröge * gst/gstpad.c: pad: Return FALSE if pushing of sticky events failed Instead of just ignoring failure of pushing sticky events and returning TRUE as if everything is fine. 2012-06-01 16:34:16 +0200 Andre Moreira Magalhaes (andrunko) * plugins/elements/gstinputselector.c: inputselector: Correctly get current running time when syncing to the segment information Fixes bug #677263. 2012-06-01 10:28:30 +0200 Edward Hervey * common: Automatic update of common submodule From f1b5a96 to 1fab359 2012-05-25 22:58:57 -0500 Mike Ruprecht * tests/check/elements/funnel.c: tests: Add funnel test to cover EOS event handling Ported from f3b2dd6f in the 0.10 branch 2012-05-25 22:52:33 -0500 Mike Ruprecht * plugins/elements/gstfunnel.c: funnel: Only emit EOS event if all sinkpads have received one If multiple sources are plugged into the funnel and one of the sources emits an EOS, that event is propogated through the funnel even though other sources connected to the funnel may still be pushing data. This patch waits to send an EOS event until the funnel has received an EOS event on each sinkpad. Ported from d397ea97 in 0.10 branch. 2012-05-29 19:24:25 -0500 Mike Ruprecht * tests/check/elements/funnel.c: tests: Fix invalid read when releasing request pads in funnel tests 2012-05-29 19:23:07 -0500 Mike Ruprecht * plugins/elements/gstfunnel.c: funnel: Fix buffer leak 2012-05-31 17:45:29 +0200 Andre Moreira Magalhaes (andrunko) * plugins/elements/gstinputselector.c: inputselector: Don't try to sync on the segment if it has no TIME format ...and wait until it is actually configured and has a format before trying to sync. 2012-05-31 17:03:54 +0200 Sebastian Dröge * plugins/elements/gstinputselector.c: inputselector: No need to broadcast the signal in flush-stop Everything stopped at this point already. Conflicts: plugins/elements/gstinputselector.c 2012-05-31 13:07:49 +0200 Sebastian Dröge * common: Automatic update of common submodule From 92b7266 to f1b5a96 2012-05-31 10:10:41 +0100 Bastien Nocera * plugins/elements/gstqueue2.c: queue2: Fix property name in the docs temp-template, not temp-tmpl https://bugzilla.gnome.org/show_bug.cgi?id=677170 2012-05-28 14:29:00 -0300 Andre Moreira Magalhaes (andrunko) * plugins/elements/gstinputselector.c: * plugins/elements/gstinputselector.h: inputselector: Properly sync when changing streams This adds properties to use the clock time for deciding when to drop buffers for inactive pads and a property to buffer all not rendered buffers for the active pad to allow pad switching without losing any buffers at all. Conflicts: plugins/elements/gstinputselector.c 2012-05-30 12:44:56 +0200 Sebastian Dröge * common: Automatic update of common submodule From ec1c4a8 to 92b7266 2012-05-30 11:18:39 +0200 Sebastian Dröge * common: Automatic update of common submodule From 3429ba6 to ec1c4a8 2012-05-29 08:48:36 +0100 Tim-Philipp Müller * gst/gsttaglist.c: taglist: add guards to make sure taglist is writable when modifying it Now that taglists are refcounted we need to check if they're writable before modifying them. 2012-05-28 23:54:10 +0100 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gsttaglist.c: * gst/gsttaglist.h: * win32/common/libgstreamer.def: taglist: avoid unnecessary string copying when registering tags Add gst_tag_register_static() - no need to copy all those string constants, whether translated or not. API: gst_tag_register_static() 2012-05-28 00:08:56 +0100 Tim-Philipp Müller * libs/gst/check/gstcheck.c: check: check for GLib-GIO criticals as well 2012-05-28 00:08:18 +0100 Tim-Philipp Müller * gst/gsttagsetter.c: * gst/gsttoc.c: * plugins/elements/gstinputselector.c: * tools/gst-launch.c: gst_tag_list_free() -> gst_tag_list_unref() 2012-05-27 23:58:27 +0100 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * docs/random/porting-to-0.11.txt: * gst/gstcompat.h: * gst/gsttaglist.c: * gst/gsttaglist.h: * tests/check/gst/gsttag.c: * win32/common/libgstreamer.def: taglist: make GstTagList a GstMiniObject Which adds refcounting support, and other things. 2012-05-27 20:31:30 +0100 Tim-Philipp Müller * gst/gstcaps.c: caps: log freeing of caps at same log level as creation, i.e. TRACE 2012-05-26 11:37:49 +0100 Tim-Philipp Müller * gst/gstevent.c: * gst/gstmessage.c: * gst/gstquark.c: * gst/gstquark.h: message, event: update for tag lists not being structures any more 2012-05-21 00:31:29 +0100 Tim-Philipp Müller * gst/gsttaglist.c: * gst/gsttaglist.h: taglist: make proper struct not just a GstStructure 2012-05-25 10:28:40 +0200 Josep Torra * gst/gst.c: * gst/gstdebugutils.c: debugutils: Fix static linking on OS X The linking behaviour of external variables that are not initialized in the compilation unit where they are defined is undefined. On OS X this causes a linking failure when statically linking GStreamer. 2012-05-25 09:17:17 +0100 Luis de Bethencourt * scripts/five-bugs-a-day.pl: five-bugs-a-day: use splice to trim the bug list 2012-05-24 23:30:29 +0100 Tim-Philipp Müller * plugins/elements/gstfakesrc.c: * plugins/elements/gstfakesrc.h: fakesrc: put byte position rather than buffer count into GST_BUFFER_OFFSET If we're sending a segment in BYTE format, the offset should be in bytes as well. 2012-05-24 11:48:19 +0100 Luis de Bethencourt * docs/design/part-segments.txt: docs: fix a typo in part-segments.txt 2012-05-24 11:02:53 +0200 Brian Cameron * libs/gst/base/gsttypefindhelper.c: typefind: fix prototype of helper_find_suggest The proto for helper_find_suggest has a different argument than the actual function in the same file has. This causes the Sun Studio compiler to fail. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=676624 Conflicts: libs/gst/base/gsttypefindhelper.c 2012-05-24 08:07:14 +0100 Tim-Philipp Müller * scripts/five-bugs-a-day.pl: scripts: remove a stray print from debugging and fix up cron entry docs 2012-05-24 09:03:12 +0200 Sebastian Dröge * scripts/five-bugs-a-day.pl: five-bugs-a-day: Make #! to perl more portable 2012-05-24 07:56:48 +0100 Tim-Philipp Müller * scripts/five-bugs-a-day.pl: scripts: remove fixed 'known issue' from five-bugs-a-day script This was with commas actually, and should be fixed now. 2012-05-24 07:54:50 +0100 Tim-Philipp Müller * scripts/five-bugs-a-day.pl: scripts: add five-bugs-a-day script Cron fodder. 2012-05-22 14:27:48 +0300 Sreerenj Balachandran * tests/examples/helloworld/helloworld.c: tests: rename playbin2 to playbin and adding some debug info 2012-05-22 18:27:36 +0200 Edward Hervey * gst/gsturi.c: uri: Add some debug statements 2012-05-22 13:51:47 +0200 Edward Hervey * win32/common/libgstreamer.def: win32: Update defs file 2012-05-21 09:14:39 +0200 Wim Taymans * tests/check/gst/gstbin.c: bin: port unit test to 0.11 2012-05-21 15:14:51 +0200 Stefan Sauer * gst/gstelement.c: * gst/gstutils.c: docs: improve the seeking docs more. Also mention it on _element_seek{,_simple} and be more precise why it happens. 2012-05-21 13:17:21 +0200 Stefan Sauer * gst/gstelement.c: * gst/gstevent.c: docs: fix a typo and clarify event handling a bit more Tell about async_done messages for some events and review the _event_new_seek docs. 2012-05-18 15:04:35 +0200 Wim Taymans * gst/gstbin.c: * tests/check/gst/gstbin.c: bin: try harder to avoid state changes in wrong direction When the bin does an upward state change, try to avoid doing a downward state change on the child and vice versa. Add some more unit tests for this fix. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=621833 2012-05-18 20:11:55 +0300 Anton Belka * tools/gst-launch.c: gst-launch: fix -c, --toc message 2012-05-21 01:48:29 +0300 Anton Belka * gst/gsttoc.c: * gst/gsttoc.h: toc: Add boxed types for GstToc and GstTocEntry 2012-05-20 18:23:57 +0100 Tim-Philipp Müller * gst/gsttoc.c: * gst/gsttoc.h: toc: fix type of pad parameter to gst_toc_entry_new_with_pad() 2012-05-20 18:16:45 +0100 Tim-Philipp Müller * gst/gsttoc.c: toc: use correct GType for tag lists 2012-05-20 18:06:22 +0100 Tim-Philipp Müller * gst/gsttoc.c: toc: avoid unnecessary GValue acrobatics 2012-05-20 17:48:55 +0100 Tim-Philipp Müller * gst/gst.c: * gst/gst_private.h: * gst/gstquark.c: * gst/gstquark.h: * gst/gsttoc.c: toc: use global quark table 2012-05-20 17:10:24 +0100 Tim-Philipp Müller * gst/gstquark.c: toc: fix internal TOC query and event structure names Make them consistent with all the other query and event names. 2012-05-19 17:24:52 +0100 Tim-Philipp Müller * gst/gst_private.h: * gst/gstpluginfeature.h: pluginfeature: make GstPluginFeature structure private Make GstPluginFeature opaque until we have time to clean it up a little. Only GstElementFactory and GstTypefindFactory derive from it, and they are opaque already, and we currently don't support custom plugin features in the registry anyway. 2012-05-19 17:23:43 +0100 Tim-Philipp Müller * tests/check/gst/gstplugin.c: * tools/gst-inspect.c: tools, tests: don't access the GstPluginFeature structure directly 2012-05-19 17:16:35 +0100 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gstpluginfeature.c: * gst/gstpluginfeature.h: * win32/common/libgstreamer.def: pluginfeature: add gst_plugin_feature_get_plugin() Add function to retrieve plugin that provides this feature. API: gst_plugin_feature_get_plugin() 2012-05-19 16:21:39 +0100 Tim-Philipp Müller * common: common: update for gstscanobj changes 2012-05-19 15:51:53 +0100 Tim-Philipp Müller * gst/gst_private.h: * gst/gstelementfactory.h: * tests/check/gst/gstelementfactory.c: elementfactory: make object struct opaque for now Make GstElementFactory opaque until we have time to clean it up a little. It's not something anyone would need to derive from. 2012-05-19 14:59:14 +0100 Tim-Philipp Müller * tools/gst-inspect.c: tools: don't use private GstElementFactory API in gst-inspect 2012-05-19 14:52:29 +0100 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gstelementfactory.c: * gst/gstelementfactory.h: * win32/common/libgstreamer.def: elementfactory: add gst_element_factory_get_metadata_keys() API: gst_element_factory_get_metadata_keys() 2012-05-18 09:52:09 +0200 Wim Taymans * tools/gst-launch.c: launch: improve EOS on shutdown handling When the -e option is selected, also wait for EOS when the pipeline produced an error. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=630997 2012-05-16 18:53:15 +0300 Anton Belka * gst/gststructure.c: docs: fix gst_structure_to_string() docs 2012-05-16 13:24:23 +0200 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: throttle-time is used 2012-05-16 12:08:44 +0200 Wim Taymans * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesink.h: basesink: add prepare method Add a prepare method that is called before sync happens. The purpose of this method is to prepare the rendering of the giving buffer so that the following render() call after sync is a quick as possible. 2012-05-16 09:16:26 +0200 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: avoid potential deadlock In gst_base_src_start_complete() we do a perform_seek() that will eventually start the streaming thread which acquires the live lock and then goes to sleep in the case of appsrc. Right after we perform seek we also try to acquire the live lock which might then deadlock. fix this by taking the stream lock before performing the seek. This makes sure that the streaming thread cannot start and grab the live lock until we are done and release the stream lock again. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=676048 2012-05-15 19:11:15 +0100 Tim-Philipp Müller * plugins/elements/gstfilesrc.c: filesrc: remove references to mmap in comments and debug messages 2012-05-15 16:38:30 +0200 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gsttoc.c: * gst/gsttoc.h: * tools/gst-launch.c: * win32/common/libgstreamer.def: gst: Rename gst_toc_entry_type_to_string() to gst_toc_entry_type_get_nick() It's more consistent. 2012-05-15 14:59:07 +0300 Anton Belka * tools/gst-launch.c: gst-launch: fix print_toc_entry() 2012-05-15 14:48:35 +0300 Anton Belka * docs/gst/gstreamer-sections.txt: * gst/gsttoc.c: * gst/gsttoc.h: * win32/common/libgstreamer.def: toc: API: Add gst_toc_entry_type_to_string() 2012-05-14 03:57:50 +0200 Alban Browaeys * plugins/elements/gsttypefindelement.c: typefindelement: if sink pad is activated do not change mode In commit bf0964b6 a check for pad is activated was not carried. This leads to attempt to pull while in push mode when force_caps is set. In this case without the attached check even when activated in pull mode we activate back to push mode. This is from comment in previous code , case number eight: 8. if the sink pad is activated, we are in pull mode. succeed. - otherwise activate both pads in push mode and succeed. Putting it back fixes playback of webm in webkit+gstreamer 1.0 . Fixes https://bugzilla.gnome.org/show_bug.cgi?id=676003 2012-05-13 16:59:24 +0200 Sebastian Dröge * configure.ac: Back to development === release 0.11.91 === 2012-05-13 16:02:36 +0200 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * common: * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * gstreamer.doap: * win32/common/config.h: * win32/common/gstenumtypes.c: Release 0.11.91 2012-05-13 16:02:18 +0200 Sebastian Dröge * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files 2012-05-13 15:55:43 +0200 Sebastian Dröge * common: Automatic update of common submodule From dc70203 to 3429ba6 2012-05-09 14:22:20 +0200 Sebastian Rasmussen * gst/gst.c: gst: Only include init/deinit of alloc tracing when enabled Fixes https://bugzilla.gnome.org/show_bug.cgi?id=675806 2012-05-11 09:07:16 +0200 Wim Taymans * docs/design/part-block.txt: * docs/design/part-element-sink.txt: * docs/design/part-overview.txt: * docs/design/part-preroll.txt: * docs/design/part-probes.txt: * docs/design/part-segments.txt: * docs/design/part-states.txt: * docs/pwg/advanced-events.xml: * libs/gst/base/gstbasesrc.c: docs: fix docs GST_FLOW_WRONG_STATE -> GST_FLOW_FLUSHING 2012-05-10 12:15:49 +0200 Wim Taymans * docs/design/part-bufferpool.txt: docs: improve bufferpool docs 2012-05-08 20:12:42 +0300 Anton Belka * tools/gst-launch.c: gst-launch: print tags in toc 2012-05-05 22:17:43 +0300 Raimo Järvi * gst/gstpoll.c: * gst/gstsystemclock.c: * plugins/elements/gstfilesrc.c: * tests/check/elements/filesrc.c: * tests/check/gst/gstpoll.c: gst: Fix compiler warnings on mingw-w64 https://bugzilla.gnome.org/show_bug.cgi?id=675525 2012-05-02 14:00:43 +0300 Sreerenj Balachandran * gst/gstmemory.c: memory: add missing parameter to default_mem_map() Fixes function signature for correctness. https://bugzilla.gnome.org/show_bug.cgi?id=675289 2012-05-02 08:08:15 +0100 Tim-Philipp Müller * win32/common/libgstreamer.def: win32: update .def file for new API 2012-05-01 22:35:38 +0100 Tim-Philipp Müller * gst/gst_private.h: * gst/gsttypefindfactory.h: typefindfactory: make object struct opaque for now Make opaque until we have time to clean it up a little. 2012-05-01 22:30:32 +0100 Tim-Philipp Müller * gst/gsttypefindfactory.c: * gst/gsttypefindfactory.h: typefindfactory: fix return type of gst_type_find_factory_get_extensions() 2012-05-01 22:28:11 +0100 Tim-Philipp Müller * libs/gst/base/gsttypefindhelper.c: * tools/gst-inspect.c: tools, base: don't poke into GstTypeFindFactory struct, use public API 2012-05-01 22:33:30 +0100 Tim-Philipp Müller * gst/gsttypefindfactory.c: * gst/gsttypefindfactory.h: * libs/gst/base/gsttypefindhelper.c: typefindfactory: add gst_type_find_factory_has_function() Add API so people don't have to poke the struct for this. 2012-05-01 15:52:14 -0300 Thiago Santos * gst/gstcaps.c: gstcaps: Update docs for gst_caps_is_equal NULL caps aren't valid caps in 1.0 and aren't accepted in gst_caps_is_equal 2012-05-01 19:47:05 +0100 Tim-Philipp Müller * gst/gsturi.c: * tests/check/gst/gsturi.c: uri: require URI protocol bit to be at least 3 characters to be valid We want to return FALSE when run on a windows-style file path. https://bugzilla.gnome.org/show_bug.cgi?id=674296 2012-04-26 17:26:50 +0200 Sebastian Dröge * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: basetransform/basesrc: Do bufferpool configuration inside the default decide_allocation() implementation This allows subclasses to override it, as is necessary for e.g. the video-crop meta. It is now necessary that after decide_allocation() there is always a allocator and a configured buffer pool inside the query. 2012-04-28 21:37:56 +0200 Matej Knopp * gst/gstghostpad.c: ghostpad: set result on accept caps query when there is no peer 2012-05-01 10:50:32 +0200 Wim Taymans * libs/gst/base/gstadapter.c: * tests/check/libs/adapter.c: adapter: remove _try_to_merge_up() It causes the timestamp to go wrong, should not cause much of a performance increase and in the cases where it is faster, it is broken in 0.10 as well. We should try to review this when rewriting the adapter for 0.11 memory features. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=674791 2012-05-01 09:25:25 +0200 Wim Taymans * libs/gst/base/gstadapter.c: * libs/gst/base/gstadapter.h: adapter: make internals private Make the adapter fields private. 2012-04-30 20:29:21 +0400 Руслан Ижбулатов * plugins/elements/gstfilesrc.c: filesrc: rearrange sys/stat.h inclusion point for MinGW gstplugin.h used to include this for us, but doesn't any longer. https://bugzilla.gnome.org/show_bug.cgi?id=675171 2012-04-30 09:58:09 +0100 Vincent Penquerc'h * docs/design/part-seeking.txt: * gst/gstsegment.h: * win32/common/gstenumtypes.c: event: add new seek snap flags They can be used to select snapping behavior (to previous, next, or nearest location, where relevant) when seeking. The seeking implementation (eg, demuxer) may currently ignore some or all of these flags. 2012-04-29 20:06:58 +0100 Tim-Philipp Müller * gst/gstplugin.h: docs: remove reference to removed API in plugin docs 2012-04-29 20:06:38 +0100 Tim-Philipp Müller * gst/gstplugin.c: plugin: avoid some relocations 2012-04-29 18:35:11 +0100 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gstplugin.c: * gst/gstplugin.h: * gst/gstregistry.c: * win32/common/libgstreamer.def: plugin: remove gst_plugin_name_filter It's only used internally, most other users will likely want to use gst_registry_find_plugin() directly instead (and if not, they can easily walk the list and doing the strcmp themselves). 2012-04-29 17:46:32 +0100 Tim-Philipp Müller * gst/gst_private.h: * gst/gstplugin.h: * gst/gstpluginloader.c: * gst/gstregistry.c: * gst/gstregistrybinary.c: * gst/gstregistrychunks.c: * tools/gst-inspect.c: plugin: use GstObject flags for plugin flags 2012-04-29 17:03:32 +0100 Tim-Philipp Müller * gst/gst_private.h: * gst/gstplugin.h: plugin: make GstPlugin object structure opaque for now There's no reason anyone would want to derive from this, so just make opaque until we manage to make all the private bits private properly (which I'm not doing right now because it's more invasive and I have registry modifications locally which touch all that code as well). 2012-04-29 16:49:57 +0100 Tim-Philipp Müller * tools/gst-inspect.c: tools: use public accessors for plugin description details Mostly anyway (flags still need sorting out). 2012-04-29 16:46:55 +0100 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gstplugin.c: * gst/gstplugin.h: * win32/common/libgstreamer.def: plugin: remove gst_plugin_get_module() This is an implementation detail really, and it's not clear what anyone would do with this. It's unused as far as I'm aware, so just remove it for now. 2012-04-29 16:20:50 +0100 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gstplugin.c: * gst/gstplugin.h: * win32/common/libgstreamer.def: plugin: add accessor for release date time string in plugin description API: gst_plugin_get_release_date_string() 2012-04-29 15:53:05 +0100 Tim-Philipp Müller * tests/check/gst/gstplugin.c: tests: use public accessors to get plugin description details 2012-04-29 13:28:09 +0100 Tim-Philipp Müller * gst/gstobject.c: gstobject: give the 20th queue element a different name than the first queue2 one Fixes issue with the default naming scheme. 2012-04-18 17:37:25 +0400 Руслан Ижбулатов * gst/parse/grammar.y: Fix format string in grammar.y Fixes #674849 2012-04-25 20:14:13 +0200 Stefan Sauer * libs/gst/controller/gstdirectcontrolbinding.c: controlbindings: add comments for sparse control source 2012-04-25 20:10:11 +0200 Stefan Sauer * gst/gstcontrolbinding.c: controller: emulate _get_g_value_array() Add a default implementation on the baseclass. 2012-04-25 09:47:10 +0200 Stefan Sauer * docs/gst/gstreamer-sections.txt: * gst/gstcontrolbinding.c: * gst/gstcontrolbinding.h: * gst/gstcontrolsource.c: * gst/gstobject.c: * gst/gstobject.h: * libs/gst/controller/gstargbcontrolbinding.c: * libs/gst/controller/gstdirectcontrolbinding.c: * libs/gst/controller/gstdirectcontrolbinding.h: * tests/check/libs/controller.c: * tests/examples/controller/control-sources.c: * win32/common/libgstreamer.def: controller: expand the api to offer functions for plain and GValue arrays Rename the _get_value_array() functions to _get_g_value_array() and reintroduce the former to operate on plain unboxed c datatypes (like in 0.10). The _g_value variants are for bindings while the _value ones are more suited to processing in elements. 2012-04-25 18:11:03 +0200 Sebastian Dröge * scripts/gst-uninstalled: gst-uninstalled: Add insanity, insanity-gst and gst-editing-services 2012-04-25 09:06:05 +0200 Wim Taymans * gst/gstbufferpool.c: * gst/gstbufferpool.h: bufferpool: Reset the buffer before releasing into pool Reset the buffer not after we acquire but before we release into the pool. This makes sure that the pool only has buffers in a clean state and that we can set extra metadata on buffers in the acquire method. this means that we need to remove an argument from the method. 2012-04-23 15:32:04 +0200 Wim Taymans * gst/gstbuffer.h: buffer: MARKER is for the start of a talkspurt 2012-04-24 16:01:52 +0200 Mark Nauwelaerts * tests/check/elements/queue2.c: * tests/check/gst/gstpad.c: tests: plug some leaks 2012-04-23 17:04:57 +0200 Mark Nauwelaerts * libs/gst/base/gstcollectpads.c: collectpads: do not unref flush_start twice Based on patch by Matej Knopp 2012-04-23 16:57:16 +0200 Mark Nauwelaerts * libs/gst/base/gstadapter.c: adapter: refresh skip following merge_up attempt ... as the latter might now adjust skip as well. 2012-04-23 09:18:48 +0200 Sebastian Dröge * gst/gstmessage.h: message: Remove comma at end of enum list This comma confuses some compilers. 2012-04-18 15:31:23 +0400 Руслан Ижбулатов * plugins/elements/gsttee.c: tee: Remove unneeded unlock 2012-04-18 05:12:55 +0400 Руслан Ижбулатов * gst/gstregistry.c: registry: fix hardcoded 0.10 version in win32 pluginscanner https://bugzilla.gnome.org/show_bug.cgi?id=674294 2012-04-17 15:37:27 +0200 Wim Taymans * gst/gstbuffer.c: * gst/gstbufferpool.c: * gst/gstbufferpool.h: * gst/gstmeta.h: * tests/check/gst/gstmeta.c: meta: add LOCKED flag Add a new LOCKED flag to the metadata. Refuse removing LOCKED metadata from a buffer. Mark the metadata from the bufferpool LOCKED. Add unit test for LOCKED flag 2012-04-17 14:38:01 +0200 Mark Nauwelaerts * docs/libs/gstreamer-libs-docs.sgml: * docs/libs/gstreamer-libs-sections.txt: * docs/libs/gstreamer-libs.types: * libs/gst/base/Makefile.am: * libs/gst/base/gstcollectpads.c: * libs/gst/base/gstcollectpads.h: * libs/gst/base/gstcollectpads2.h: * tests/check/Makefile.am: * tests/check/libs/.gitignore: * tests/check/libs/collectpads.c: * tests/check/libs/gstlibscpp.cc: * tests/check/libs/libsabi.c: * win32/common/libgstbase.def: * win32/vs10/base/base.vcxproj: * win32/vs10/base/base.vcxproj.filters: collectpads2: rename to collectpads 2012-04-17 12:54:45 +0200 Mark Nauwelaerts * libs/gst/base/gstadapter.c: adapter: ensure writable head buffer before skipping part of it 2012-04-17 12:29:50 +0200 Mark Nauwelaerts Merge remote-tracking branch 'origin/0.10' Conflicts: libs/gst/base/gstcollectpads2.c 2012-04-17 12:23:05 +0200 Mark Nauwelaerts * libs/gst/base/gstcollectpads2.c: collectpads2: always recording incoming segment info if no buffer_func set 2012-04-17 10:38:05 +0200 Wim Taymans * docs/gst/running.xml: docs: update the debug and trace env var docs 2012-04-17 10:33:59 +0200 Wim Taymans * gst/gsttrace.c: trace: use g_parse_debug_string instead of atoi Make the GST_TRACE env variable take a comma separated list of strings describing the options to enable instead of a number. 2012-04-16 21:14:17 +0000 Youness Alaoui * tools/gst-inspect.c: gst-inspect: If running with --print-all, fix printing of the Children: line 2012-04-16 21:14:02 +0000 Youness Alaoui * tools/gst-inspect.c: gst-inspect: If running with --print-all, fix printing of signal names 2012-04-16 16:36:52 +0200 Mark Nauwelaerts * win32/common/libgstbase.def: win32: add new collectpads2 API to .def file 2012-04-16 16:29:34 +0200 Mark Nauwelaerts Merge remote-tracking branch 'origin/0.10' Conflicts: libs/gst/base/gstcollectpads2.c 2012-04-16 16:24:18 +0200 Mark Nauwelaerts * libs/gst/base/gstcollectpads2.c: * libs/gst/base/gstcollectpads2.h: collectpads2: provide query default and callback handling ... which presently mainly serves to answer SEEKING query negatively to dissuade upstream encoders from doing any seeking and "header finalization" (since the returned result of pushing a sticky event is fairly useless nowadays). 2012-04-16 16:24:10 +0200 Mark Nauwelaerts * libs/gst/base/gstcollectpads2.c: * libs/gst/base/gstcollectpads2.h: collectpads2: modify event handling using a default event handler ... that elements should "chain up" to. 2012-04-16 15:35:23 +0200 Wim Taymans * gst/gstvalue.c: segment: add rude serialization Ass serialize and deserialize functions for GstSegment so that gdp and gst_structure_to_string show the segment values. We convert to a GstSegment first to make things easier.. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=674100 2012-02-03 17:08:35 +0000 Vincent Penquerc'h * libs/gst/base/gstcollectpads2.c: collectpads2: assume 0 based segment if no time segment was provided https://bugzilla.gnome.org/show_bug.cgi?id=669305 2012-04-16 10:28:15 +0200 Wim Taymans * gst/gstmemory.c: memory: add size to debug log 2012-04-16 10:27:29 +0200 Sebastian Dröge * plugins/elements/gstinputselector.c: inputselector: Set sequence number on segment events 2012-04-16 10:22:53 +0200 Sebastian Dröge * plugins/elements/gstinputselector.c: inputselector: Forward all sticky events when switching pads 2012-04-16 10:05:02 +0200 Sebastian Dröge * plugins/elements/gsttee.c: tee: Store pad state directly inside the pads instead of GObject qdata 2012-04-16 09:45:27 +0200 Sebastian Dröge * plugins/elements/gstinputselector.c: inputselector: Send reconfigure event on the new active pad when pads are switched 2012-04-16 09:08:46 +0200 Sebastian Dröge * common: Automatic update of common submodule From 6db25be to dc70203 2012-04-14 03:27:29 +0200 Matej Knopp * libs/gst/base/gstadapter.c: Remove skipped part of buffer when mapping the adapter Fixes https://bugzilla.gnome.org/show_bug.cgi?id=674085 2012-04-14 10:24:38 +0200 Wim Taymans * tests/check/libs/adapter.c: tests: add another adapter test Test performance of merging 2012-04-14 10:23:49 +0200 Wim Taymans * gst/gstbuffer.c: buffer: improve debug 2012-04-13 14:22:34 +0200 Matej Knopp * plugins/elements/gstmultiqueue.c: multiqueue: gst_single_queue_flush unlocks the queue twice https://bugzilla.gnome.org/show_bug.cgi?id=674044 2012-04-13 13:36:37 +0200 Sebastian Dröge * autogen.sh: * configure.ac: configure: Modernize autotools setup a bit Also we now only create tar.bz2 and tar.xz tarballs. 2012-04-13 13:36:47 +0200 Sebastian Dröge * common: Automatic update of common submodule From 464fe15 to 6db25be 2012-04-13 11:58:49 +0200 Mark Nauwelaerts * libs/gst/base/gstbasesink.c: basesink: plug caps leak 2012-04-13 08:10:19 +0200 Stefan Sauer * gst/gstcontrolbinding.c: controlbinding: only take a weak ref on the object Fixes the leaks in the tests. Added a TODO comment to eventually rework this some more (while we can). 2012-04-12 18:15:27 -0400 Reynaldo H. Verdejo Pinochet * Android.mk: Sync Android.mk entries to the new major version Change naming on the pkgconfig files to reflect the 0.10 -> 1.0 bump. 2012-04-12 14:59:52 +0200 Edward Hervey * libs/gst/controller/gstargbcontrolbinding.c: * libs/gst/controller/gstdirectcontrolbinding.c: * libs/gst/controller/gstlfocontrolsource.c: * libs/gst/controller/gsttimedvaluecontrolsource.c: controller: Chain up to parent class dispose/finalize Avoids leaks 2012-04-12 14:59:31 +0200 Edward Hervey * libs/gst/check/gstconsistencychecker.c: consistencychecker: Use gst_object_{ref|unref} where applicable Allows us to debug object life 2012-04-12 14:58:47 +0200 Edward Hervey * gst/gstobject.c: * gst/gstpluginfeature.c: gst: Use gst_object_{ref|unref} where applicable Allows us to debug object life 2012-04-12 11:53:00 +0200 Wim Taymans * gst/gstbuffer.c: buffer: improve arg checking Allow idx == 0 and length == -1 on empty buffers for the _range methods. 2012-04-12 11:18:22 +0200 Sebastian Dröge * configure.ac: Back to development === release 0.11.90 === 2012-04-12 09:57:01 +0200 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/gstreamer-plugins.prerequisites: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * gstreamer.doap: * win32/common/config.h: Release 0.11.90 2012-04-12 09:56:43 +0200 Sebastian Dröge * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files 2012-04-11 13:20:18 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2: fix merge error 2012-04-11 12:58:19 +0200 Wim Taymans * tests/check/elements/queue2.c: queue2: set buffer to NULL before pull 2012-04-11 12:54:36 +0200 Wim Taymans * tests/check/elements/queue2.c: tests: port queue2 tests to 0.11 2012-04-11 12:50:50 +0200 Wim Taymans Merge remote-tracking branch 'origin/0.10' Conflicts: gst/gsttoc.c plugins/elements/gstqueue2.c 2012-04-11 12:34:55 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2: signal delete before waiting When we don't have the requested data in the ringbuffer and we move our read pointer to the requested position, signal the delete cond to inform the writer that we changed the current fill level. If we don't, the writer might stay blocked and we might wait forever. 2012-04-11 12:15:37 +0200 Wim Taymans * tests/check/elements/queue2.c: queue2: add test for ringbuffer deadlock 2012-04-11 12:02:50 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2: update current read position before waiting When we don't have enough bytes in the ringbuffer to satisfy the current request, first update the current read position before waiting. If we don't do that, the ringbuffer might appear full and the writer will never write more bytes to wake us up. 2012-04-11 12:00:10 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2: add range only on sinkpad Only add the range when we receive a segment event on the sinkpad. The add_range method will modify the write position, which only makes sense to do on the sinkpad. 2012-04-11 11:55:56 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2: fix debug message We're not writing to the offset of the buffer 2012-04-11 11:55:28 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2: add_range already updates the level 2012-04-10 14:11:26 +0400 Alexander Saprykin * gst/gsttoc.c: toc: fix memory leaks while copying content 2012-04-10 14:18:48 +0400 Alexander Saprykin * tests/check/gst/gsttocsetter.c: tocsetter: fix memory leaks in unit test 2012-04-10 14:16:50 +0400 Alexander Saprykin * tests/check/gst/gsttoc.c: toc: fix memory leaks in unit test 2012-04-10 14:18:48 +0400 Alexander Saprykin * tests/check/gst/gsttocsetter.c: tocsetter: fix memory leaks in unit test 2012-04-10 14:16:50 +0400 Alexander Saprykin * tests/check/gst/gsttoc.c: toc: fix memory leaks in unit test 2012-04-10 14:11:26 +0400 Alexander Saprykin * gst/gsttoc.c: toc: fix memory leaks while copying content 2012-04-10 19:39:58 +0300 Sreerenj Balachandran * gst/gstbuffer.c: buffer: Clean up header files 2012-04-10 16:07:52 +0200 Wim Taymans Merge remote-tracking branch 'origin/0.10' 2012-04-10 16:04:54 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2: clear seeking flag in all cases Also clear the seeking flag when downstream is in pull mode. 2012-04-10 12:55:31 +0200 Wim Taymans Merge remote-tracking branch 'origin/0.10' Conflicts: gst/gst.c plugins/elements/gstqueue2.c 2012-04-10 12:49:04 +0200 Wim Taymans * gst/gst.c: gst: add toc entry ref/unref 2012-04-10 12:09:53 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2: set seeking flag with the queue lock 2012-04-10 11:20:09 +0200 Wim Taymans * plugins/elements/gstqueue2.c: * plugins/elements/gstqueue2.h: queue2: Keep track of the seeking state Set the seeking flag right before we send a seek event upstream and discard all data untill we see a flush-stop again. We need to do this because we activate the range that we seek to immediately after sending the seek event and it is possible that we receive data in our chain function from before the seek which would then be added to the wrong range resulting in data corruption. 2012-04-10 11:16:14 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2: make range on newsegment for ringbuffer When using the ringbuffer, handle the newsegment event like we handle it when using the temp-file mode: create a new range for the new byte segment. The new segment should normally already be created when we do a seek. 2012-04-09 16:42:30 +0200 Sebastian Dröge Merge remote-tracking branch 'origin/0.10' 2012-04-09 16:40:47 +0200 Sebastian Dröge * plugins/elements/gstmultiqueue.c: multiqueue: Don't use buffer after pushing it downstream 2012-04-09 16:04:22 +0200 Sebastian Dröge Merge remote-tracking branch 'origin/0.10' 2012-04-09 15:58:21 +0200 Sebastian Dröge * gst/gstelement.c: element: Fail if a pad for a non-request template is requested 2012-04-09 13:40:35 +0100 Tim-Philipp Müller * gst/gstelement.c: * gst/gstquark.c: * gst/gstquark.h: element: use quarks when storing standard metadata in structures 2012-04-09 13:05:07 +0100 Tim-Philipp Müller * plugins/elements/gstcapsfilter.c: * plugins/elements/gstfakesink.c: * plugins/elements/gstfakesrc.c: * plugins/elements/gstfdsink.c: * plugins/elements/gstfdsrc.c: * plugins/elements/gstfilesink.c: * plugins/elements/gstfilesrc.c: * plugins/elements/gstfunnel.c: * plugins/elements/gstidentity.c: * plugins/elements/gstinputselector.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstoutputselector.c: * plugins/elements/gstqueue.c: * plugins/elements/gstqueue2.c: * plugins/elements/gsttee.c: * plugins/elements/gsttypefindelement.c: * plugins/elements/gstvalve.c: plugins: use new gst_element_class_set_static_metadata() 2012-04-09 12:47:58 +0100 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gstelement.c: * gst/gstelement.h: * win32/common/libgstreamer.def: element: add gst_element_class_{set,add}_static_metadata() Add gst_element_class_{add,set}_metadata() variants for static strings, so we can avoid unnecessary g_strdup()s. API: gst_element_class_add_static_metadata() API: gst_element_class_set_static_metadata() 2012-04-08 21:17:14 +0100 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gsttask.c: * gst/gsttask.h: * tests/examples/streams/stream-status.c: task: remove gst_task_set_priority() It doesn't actually do anything. 2012-01-14 00:31:32 -0500 Matej Knopp * win32/vs10/Common.props: * win32/vs10/Library.props: * win32/vs10/Plugin.props: * win32/vs10/ReadMe.txt: * win32/vs10/Tool.props: * win32/vs10/base/base.vcxproj: * win32/vs10/base/base.vcxproj.filters: * win32/vs10/controller/controller.vcxproj: * win32/vs10/controller/controller.vcxproj.filters: * win32/vs10/generated/generated.vcxproj: * win32/vs10/generated/generated.vcxproj.filters: * win32/vs10/gst-inspect/gst-inspect.vcxproj: * win32/vs10/gst-inspect/gst-inspect.vcxproj.filters: * win32/vs10/gst-launch/gst-launch.vcxproj: * win32/vs10/gst-launch/gst-launch.vcxproj.filters: * win32/vs10/gst-typefind/gst-typefind.vcxproj: * win32/vs10/gst-typefind/gst-typefind.vcxproj.filters: * win32/vs10/gstcoreelements/gstcoreelements.vcxproj: * win32/vs10/gstcoreelements/gstcoreelements.vcxproj.filters: * win32/vs10/gstreamer.sln: * win32/vs10/gstreamer/gstreamer.vcxproj: * win32/vs10/gstreamer/gstreamer.vcxproj.filters: * win32/vs10/net/net.vcxproj: * win32/vs10/net/net.vcxproj.filters: win32: add VS 10 Project files https://bugzilla.gnome.org/show_bug.cgi?id=666219 2012-04-08 18:25:39 +0100 Tim-Philipp Müller * win32/common/config.h: * win32/common/gstenumtypes.c: * win32/common/gstenumtypes.h: * win32/common/gstversion.h: win32: update for version changes 2012-04-07 16:35:27 +0100 Tim-Philipp Müller Merge remote-tracking branch 'origin/0.10' 2012-04-07 16:06:22 +0100 Tim-Philipp Müller * win32/common/libgstreamer.def: win32: add new TOC API to libgstreamer.def Fixes 'make check'. 2012-04-07 16:05:33 +0100 Tim-Philipp Müller * tests/check/gst/.gitignore: tests: add new toc test binaries to .gitignore 2012-04-07 16:04:14 +0100 Tim-Philipp Müller * gst/gst.c: * gst/gst_private.h: * gst/gstevent.c: * gst/gstmessage.c: * gst/gstquery.c: * gst/gsttoc.c: gst: don't export private TOC functions 2012-04-07 15:42:08 +0100 Tim-Philipp Müller Merge remote-tracking branch 'origin/0.10' Conflicts: gst/gstatomicqueue.c 2012-02-24 15:24:42 +0100 Wim Taymans * gst/gstatomicqueue.c: atomicqueue: fix race After a writer has written to its reserved write location, it can only make the location available for reading if all of the writers with lower locations have finished. 2012-02-24 12:51:24 +0100 Wim Taymans * gst/gstatomicqueue.c: atomicqueue: fix subtle race Fix a race where the reader would see the updated the tail pointer before the write could write the data into the queue. Fix this by having a separate reader tail pointer that is only incremented after the writer wrote the data. 2012-04-07 15:20:05 +0100 Tim-Philipp Müller * plugins/elements/gstfilesrc.c: filesrc: set default block size from local define Doesn't actually change the default value, just makes use of the define there is. Superficial testing with fakesink and jpegdec did not reveal improved performance for bigger block sizes, so leave default as it is. 2012-04-06 16:46:58 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2: don't update the current reading_pos in flush A flush from the upstream element should not make buffering go to 0, the next pull request might be inside a range that we have and then we don't need to buffer at all. If the next pull is outside anything we have, buffering will happen as usual anyway. 2012-04-06 12:42:39 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2: fix for merged changes 2012-04-06 12:37:41 +0200 Wim Taymans Merge branch '0.10' 2012-04-06 12:32:49 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2: check the pad mode on the right pad 2012-04-06 12:24:22 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2: forward flush events correctly We want to forward the flush events received on the sinkpad whenever the srcpad is activated in pushmode, which can also happen when using the RINGBUFFER or DOWNLOAD mode and downstream failed to activate us in pull mode. 2012-04-05 21:56:05 +0200 Stefan Sauer * gst/gstcontrolbinding.c: controlbinding: chain up on dispose and finalize 2012-04-05 21:55:07 +0200 Stefan Sauer * gst/gstobject.c: gstobject: unparent the controlbinding on dispose 2012-04-05 21:07:55 +0200 Stefan Sauer * libs/gst/controller/gstargbcontrolbinding.c: * libs/gst/controller/gstdirectcontrolbinding.c: controller: dup the objects to avoid premature frees 2012-04-05 21:06:14 +0200 Stefan Sauer * tests/check/gst/gstcontroller.c: controller: add a finalizer for the test controlbindings No idea why valgrind still inists that there are leaks. 2012-04-05 18:42:30 +0200 Sebastian Dröge * common: Automatic update of common submodule From 7fda524 to 464fe15 2012-04-05 18:02:56 +0200 Sebastian Dröge * plugins/elements/gstdataurisrc.c: gst: Update for GST_PLUGIN_DEFINE() API changes 2012-04-05 14:17:16 +0200 Sebastian Dröge * docs/pwg/building-boiler.xml: * gst/gstplugin.h: * plugins/elements/gstelements.c: gst: Change name parameter of GST_PLUGIN_DEFINE() to not take a string anymore This will be needed when we later add support for static linking of plugins without introducing new API or changing existing API. 2012-04-05 13:23:00 +0200 Sebastian Dröge * configure.ac: * gst/gstpluginfeature.c: gstplugin: Add hack for handling 0.11.9X and 0.11.89.X with X>0 the same as 1.0.0 Also update the version number to 0.11.89.1 2012-04-05 12:22:11 +0200 Mark Nauwelaerts * gst/gsttocsetter.c: tocsetter: clear mutex upon free 2012-04-05 10:56:22 +0200 Sebastian Dröge * gst/gstregistrybinary.h: registry: Set registry version to 1.0.0 too 2012-04-05 10:36:08 +0200 Wim Taymans Merge branch '0.10' Conflicts: plugins/elements/gstqueue2.c 2012-04-05 10:03:02 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2: stop waiting for more data after EOS When we have EOS, read the remaining bytes in the buffer and make sure we don't wait for more data. Also clip the output buffer to the amount of remaining bytes. 2012-04-05 09:56:52 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2: check for filled buffer correctly When using the ringbuffer mode, the buffer is filled when we reached the max_level.bytes mark or the total size of the ringbuffer, whichever is smaller. 2012-04-04 13:07:27 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2: avoid waiting for a filled buffer Use a threshold variable to hold the maximum distance from the current position for with we will wait instead of doing a seek. When using the ringbuffer and the requested offset is not available, avoid waiting until the complete ringbuffer is filled but instead do a seek when the requested data is further than the threshold. Avoid doing the seek twice in the ringbuffer case. Use the same threshold for ringbuffer and download buffering. 2012-04-05 09:07:18 +0200 Alessandro Decina * gst/gstbuffer.c: gstbuffer: fix compile warning 2012-04-04 13:13:52 +0200 Sebastian Dröge * Makefile.am: * configure.ac: * docs/faq/developing.xml: * docs/gst/Makefile.am: * docs/gst/gstreamer-docs.sgml: * docs/gst/running.xml: * docs/libs/Makefile.am: * docs/libs/gstreamer-libs-docs.sgml: * docs/manual/basics-helloworld.xml: * docs/plugins/Makefile.am: * docs/plugins/gstreamer-plugins-docs.sgml: * docs/random/autotools: * docs/version.entities.in: * gst-element-check.m4.in: * gst/Makefile.am: * gst/gstplugin.c: * gst/gstpreset.c: * gst/gstregistry.c: * gst/gstversion.h.in: * gstreamer.spec.in: * libs/gst/base/Makefile.am: * libs/gst/check/Makefile.am: * libs/gst/controller/Makefile.am: * libs/gst/helpers/Makefile.am: * libs/gst/net/Makefile.am: * pkgconfig/Makefile.am: * pkgconfig/gstreamer-base-uninstalled.pc.in: * pkgconfig/gstreamer-base.pc.in: * pkgconfig/gstreamer-check-uninstalled.pc.in: * pkgconfig/gstreamer-check.pc.in: * pkgconfig/gstreamer-controller-uninstalled.pc.in: * pkgconfig/gstreamer-controller.pc.in: * pkgconfig/gstreamer-net-uninstalled.pc.in: * pkgconfig/gstreamer-net.pc.in: * pkgconfig/gstreamer-uninstalled.pc.in: * pkgconfig/gstreamer.pc.in: * plugins/elements/Makefile.am: * tests/benchmarks/Makefile.am: * tests/check/Makefile.am: * tests/check/gst/gstpreset.c: * tests/examples/adapter/Makefile.am: * tests/examples/controller/Makefile.am: * tests/examples/manual/Makefile.am: * tools/Makefile.am: * tools/gst-launch.1.in: * tools/gstreamer-completion: * win32/common/config.h: gst: Change versioning Remove GST_MAJORMINOR and replace it by GST_API_VERSION Also set GST_VERSION_{MAJOR,MINOR,MICRO,NANO} explicitely now. All versions are at 1.0.0 now for the release soon but API/ABI can still change until the 1.0.0 release. Next release versions until 1.0.0 will be 0.10.9X and these will be release candidates. GST_VERSION_* will nonetheless stay at 1.0.0.0. 2012-04-04 12:25:40 +0200 Sebastian Dröge Merge remote-tracking branch 'origin/0.10' Conflicts: docs/gst/gstreamer-sections.txt gst/Makefile.am gst/gst.c gst/gst.h gst/gstevent.c gst/gstevent.h gst/gstmessage.c gst/gstmessage.h gst/gstquark.c gst/gstquark.h gst/gstquery.c gst/gstquery.h gst/gsttoc.c gst/gsttoc.h gst/gsttocsetter.c tests/check/Makefile.am tests/check/gst/gsttoc.c tests/check/gst/gsttocsetter.c 2012-04-03 16:51:54 +0200 Wim Taymans * gst/gstbuffer.h: buffer: improve _set_size() 2012-04-03 16:44:58 +0200 Wim Taymans * gst/gstbuffer.c: * gst/gstbuffer.h: * win32/common/libgstreamer.def: buffer: make get_sizes and _resize with ranges Make the _get_sizes and _resize methods work on a range of memory to make them more powerfull. 2012-04-03 18:25:40 +0200 Mark Nauwelaerts * libs/gst/check/gstconsistencychecker.c: consistencychecker: allow some more events before a segment event 2012-04-03 15:46:29 +0200 Stefan Sauer * gst/gsttocsetter.c: tocsetter: use new glib mutex api 2012-04-02 23:17:21 +0100 Tim-Philipp Müller * tools/gst-launch.c: tools: fix compiler warning gst-launch.c: In function ‘print_toc_entry’: gst-launch.c:446:3: error: the size of array ‘spc’ can’t be evaluated [-Werror=vla] gst-launch.c:446:3: error: variable-sized object may not be initialized 2012-04-02 23:29:24 +0100 Tim-Philipp Müller * tests/check/gst/.gitignore: tests: add new unit test binaries to .gitignore 2012-04-02 23:28:15 +0100 Tim-Philipp Müller * gst/gst.c: gst: ref new entry enum types Fixes 'make check', again. 2012-04-02 23:24:22 +0100 Tim-Philipp Müller * win32/common/libgstreamer.def: win32: add new API to .def file Fixes 'make check'. 2012-04-02 23:23:46 +0100 Tim-Philipp Müller * gst/gst_private.h: * gst/gstevent.c: * gst/gstmessage.c: * gst/gstquery.c: * gst/gsttoc.c: toc: don't export private functions 2012-04-02 23:17:21 +0100 Tim-Philipp Müller * tools/gst-launch.c: tools: fix compiler warning gst-launch.c: In function ‘print_toc_entry’: gst-launch.c:446:3: error: the size of array ‘spc’ can’t be evaluated [-Werror=vla] gst-launch.c:446:3: error: variable-sized object may not be initialized 2012-04-02 23:16:39 +0100 Tim-Philipp Müller * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: po: update for new translatable strings 2012-04-02 23:01:17 +0200 Stefan Sauer Merge remote-tracking branch 'origin/master' 2012-04-02 22:09:07 +0200 Stefan Sauer * gst/gstevent.c: * gst/gstmessage.c: * gst/gstquery.c: * gst/gsttoc.c: * gst/gsttoc.h: * tests/check/gst/gsttoc.c: * tests/check/gst/gsttocsetter.c: toc: port to 0.11 2012-03-22 08:36:02 +0100 Stefan Sauer * tools/gst-launch.c: gst-launch: add -c, --toc to print the toc Print the nested chapter and edition structure of the chapters message. 2012-03-28 23:15:41 +0400 Alexander Saprykin * docs/design/Makefile.am: * docs/design/part-toc.txt: docs: add overview of GstToc usage 2012-03-14 21:14:23 +0400 Alexander Saprykin * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: docs: Add GstToc and GstTocSetter sections with related functions 2012-03-14 21:13:22 +0400 Alexander Saprykin * tests/check/Makefile.am: * tests/check/gst/gsttocsetter.c: gstchecks: Add unit test for the GstTocSetter 2012-03-14 21:12:22 +0400 Alexander Saprykin * tests/check/Makefile.am: * tests/check/gst/gsttoc.c: gstchecks: Add unit test for the GstToc 2012-03-14 20:45:35 +0400 Alexander Saprykin * gst/Makefile.am: * gst/gst.h: * gst/gsttocsetter.c: * gst/gsttocsetter.h: Add new GstTocSetter interface 2012-03-14 20:42:56 +0400 Alexander Saprykin * gst/gstquery.c: * gst/gstquery.h: Add new TOC query 2012-03-14 20:41:48 +0400 Alexander Saprykin * gst/gstmessage.c: * gst/gstmessage.h: Add new TOC message 2012-03-14 20:40:32 +0400 Alexander Saprykin * gst/gstevent.c: * gst/gstevent.h: * gst/gstquark.c: * gst/gstquark.h: Add new TOC and TOC select events 2012-03-14 20:01:51 +0400 Alexander Saprykin * gst/Makefile.am: * gst/gst.c: * gst/gst.h: * gst/gst_private.h: * gst/gsttoc.c: * gst/gsttoc.h: Add generic table of contents (TOC) support 2012-04-02 21:15:09 +0200 Stefan Sauer Merge branch '0.10' Conflicts: docs/gst/gstreamer-sections.txt gst/Makefile.am gst/gst.c gst/gst.h gst/gstevent.c gst/gstevent.h gst/gstmessage.h gst/gstquark.c gst/gstquark.h gst/gstquery.c gst/gstquery.h tests/check/Makefile.am 2012-04-02 15:30:04 +0200 Sebastian Dröge Merge remote-tracking branch 'origin/0.10' Conflicts: libs/gst/base/gstbaseparse.c 2012-04-02 15:13:24 +0200 Edward Hervey * libs/gst/base/gstbaseparse.c: baseparse: always attempt to push if not-linked This avoids ending up with plenty of pending data (since we'll only try to parse/push one frame from the incoming buffer). Fixes increasing memory consumption when parsers aren't linked Conflicts: libs/gst/base/gstbaseparse.c 2012-04-02 15:13:24 +0200 Edward Hervey * libs/gst/base/gstbaseparse.c: baseparse: always attempt to push if not-linked This avoids ending up with plenty of pending data (since we'll only try to parse/push one frame from the incoming buffer). Fixes increasing memory consumption when parsers aren't linked 2012-04-01 03:30:51 +0400 Руслан Ижбулатов * plugins/elements/gstfdsrc.c: Timeout is not used on W32 Fixes #673267 2012-04-02 11:09:50 +0200 Wim Taymans * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstbasetransform.h: trans: add transform_ip_on_passthrough Add an option to control if transform_ip is called in passthrough mode or not. for elements that don't want to look at the data in passthrough mode, this can avoid some extra processing, mostly in subclasses. 2012-03-22 08:36:02 +0100 Stefan Sauer * tools/gst-launch.c: gst-launch: add -c, --toc to print the toc Print the nested chapter and edition structure of the chapters message. 2012-03-28 23:15:41 +0400 Alexander Saprykin * docs/design/Makefile.am: * docs/design/part-toc.txt: docs: add overview of GstToc usage 2012-03-14 21:14:23 +0400 Alexander Saprykin * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: docs: Add GstToc and GstTocSetter sections with related functions 2012-03-14 21:13:22 +0400 Alexander Saprykin * tests/check/Makefile.am: * tests/check/gst/gsttocsetter.c: gstchecks: Add unit test for the GstTocSetter 2012-03-14 21:12:22 +0400 Alexander Saprykin * tests/check/Makefile.am: * tests/check/gst/gsttoc.c: gstchecks: Add unit test for the GstToc 2012-03-14 20:45:35 +0400 Alexander Saprykin * gst/Makefile.am: * gst/gst.h: * gst/gsttocsetter.c: * gst/gsttocsetter.h: Add new GstTocSetter interface 2012-03-14 20:42:56 +0400 Alexander Saprykin * gst/gstquery.c: * gst/gstquery.h: Add new TOC query 2012-03-14 20:41:48 +0400 Alexander Saprykin * gst/gstmessage.c: * gst/gstmessage.h: Add new TOC message 2012-03-14 20:40:32 +0400 Alexander Saprykin * gst/gstevent.c: * gst/gstevent.h: * gst/gstquark.c: * gst/gstquark.h: Add new TOC and TOC select events 2012-03-14 20:01:51 +0400 Alexander Saprykin * gst/Makefile.am: * gst/gst.c: * gst/gst.h: * gst/gst_private.h: * gst/gsttoc.c: * gst/gsttoc.h: Add generic table of contents (TOC) support 2012-04-01 12:01:34 +0200 Wim Taymans * gst/gstbuffer.c: buffer: reuse more code 2012-04-01 11:42:52 +0200 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gstbuffer.c: * gst/gstbuffer.h: * tests/check/gst/gstbuffer.c: * win32/common/libgstreamer.def: buffer: make function to find memory in a buffer Make a function to find the memory blocks for a region in a buffer. 2012-03-31 21:26:22 +0200 Stefan Sauer * gst/gstchildproxy.c: childproxy: fix more missing GST_OBJECT -> G_OBJECT use 2012-03-31 18:34:23 +0200 Wim Taymans * libs/gst/base/gstadapter.c: adapter: use buffer_wrap 2012-03-31 17:10:35 +0200 Wim Taymans * gst/gstbuffer.c: * gst/gstbuffer.h: * win32/common/libgstreamer.def: buffer: add peek_memory method Add a peerk_memory method that simply fetches the memory at an offset without refcounting or merging. 2012-03-31 12:00:56 +0200 Wim Taymans * gst/parse/grammar.y: grammar.y: fix childproxy code It takes GObject and not GstObject now 2012-03-30 22:46:02 +0200 Stefan Sauer * gst/gstbin.c: * gst/gstchildproxy.c: * gst/gstchildproxy.h: childproxy: include the child name in the signal 2012-03-30 22:44:31 +0200 Stefan Sauer * gst/parse/grammar.y: parser: update for childproxy api changes 2012-03-30 22:36:35 +0200 Stefan Sauer * gst/gstchildproxy.c: childproxy: fix signal parameter types 2012-03-30 22:17:09 +0200 Stefan Sauer * gst/gstbin.c: * gst/gstchildproxy.c: * gst/gstchildproxy.h: * tests/check/gst/gstchildproxy.c: childproxy: use GObject instead of GstObject This makes it prossible to be used more widely. Fix implementations for the API change. 2012-03-30 22:01:55 +0200 Stefan Sauer * gst/gstchildproxy.c: * gst/gstchildproxy.h: childproxy: make get_child_by_name virtual Allows implementations to use custom name->object mappings. 2012-03-30 22:01:26 +0200 Stefan Sauer * gst/gstchildproxy.c: childproxy: fix indentation 2012-03-30 18:04:51 +0200 Wim Taymans * docs/design/part-buffer.txt: * docs/gst/gstreamer-sections.txt: * docs/random/porting-to-0.11.txt: * gst/gstbuffer.c: * gst/gstbuffer.h: * libs/gst/base/gstadapter.c: * libs/gst/base/gstbytewriter.c: * plugins/elements/gstfakesrc.c: * tests/check/gst/gstbuffer.c: * tests/check/libs/bitreader.c: * tests/check/libs/bytereader.c: * tests/check/libs/typefindhelper.c: * win32/common/libgstreamer.def: buffer: improve the buffer memory methods gst_buffer_take_memory -> gst_buffer_insert_memory because insert is what the method does. Make all methods deal with ranges so that we can replace, merge, remove and map a certain subset of the memory in a buffer. With the new methods we can make some code nicer and reuse more code. Being able to deal with a subset of the buffer memory allows us to optimize more cases later (most notably RTP headers and payload that could be in different memory objects). Make some more convenient macros that call the more generic range methods. 2012-03-30 16:53:09 +0200 Mark Nauwelaerts * plugins/elements/gsttypefindelement.c: typefindelement: plug caps leaks 2012-03-30 16:53:05 +0200 Mark Nauwelaerts * libs/gst/base/gsttypefindhelper.c: typefindhelper: also unmap collected mapped buffers 2012-03-30 16:53:00 +0200 Mark Nauwelaerts * libs/gst/base/gstbasetransform.c: basetransform: plug caps leak 2012-03-30 11:58:20 +0200 Sebastian Dröge * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbaseparse.h: baseparse: Rename ::event() to ::sink_event() for consistency 2012-03-30 11:49:16 +0200 Edward Hervey * libs/gst/base/gstbasesrc.h: basesink: lower GST_BASE_SRC_FLAG_LAST It wouldn't leave that much room for subclass users 2012-03-30 08:55:33 +0200 Edward Hervey * win32/common/libgstbase.def: win32: Update defs file 2012-03-29 18:03:35 +0200 Sebastian Dröge * libs/gst/base/gstbytewriter.c: bytewriter: Actually commit the .c file changes too 2012-03-29 17:59:28 +0200 Sebastian Dröge * libs/gst/base/gstbytewriter.h: bytewriter: Add unchecked/inline variant of gst_byte_writer_put_buffer() 2012-03-29 17:53:47 +0200 Edward Hervey * gst/gstquery.c: gstquery: Fix annotation 2012-03-29 17:44:02 +0200 Edward Hervey * plugins/elements/gstqueue.c: queue: Flush the internal queue when we see GST_FLOW_FLUSHING Ensures that we don't end up with stale contents (like GstQuery) in the internal GQueue after any blocking upstream thread returns. 2012-03-29 17:43:17 +0200 Edward Hervey * plugins/elements/gstqueue.c: queue: Don't unref GstQuery travelling through the queue Unlike events and buffers, the reference is not given to us 2012-03-29 17:08:49 +0200 Mark Nauwelaerts * gst/gstquery.c: query: parsing allocation query need not provide reffed caps ... in line with other query parsing function. 2012-03-29 15:45:00 +0200 Fabrizio (Misto) Milo * gst/gstcaps.c: caps: spelling fixes 2012-03-29 15:28:44 +0200 Edward Hervey * gst/gstelement.h: gstelement: lower GST_ELEMENT_FLAG_LAST It wouldn't leave that much room for subclass users 2012-03-29 15:18:33 +0200 Edward Hervey * gst/gstbuffer.c: gstbuffer: Fix unitialized variable gcc 4.5 complains otherwise :( 2012-03-29 14:54:53 +0200 Sebastian Dröge Merge remote-tracking branch 'origin/0.10' Conflicts: plugins/elements/gstmultiqueue.c 2012-03-29 14:45:41 +0200 Sebastian Dröge * plugins/elements/gstmultiqueue.c: multiqueue: Wake up all not-linked streams when a stream switches from linked to not-linked We reset all the waiting streams, let them push another buffer to see if they're now active again. This allows faster switching between streams and prevents deadlocks if downstream does any waiting too. Also improve locking a bit, srcresult must be protected by the multiqueue lock too because it's used/set from random threads. 2012-03-29 14:32:24 +0200 Sebastian Dröge * plugins/elements/gstmultiqueue.c: multiqueue: Recompute high-time too when flushing, not only high-id 2012-03-29 13:39:40 +0200 Sebastian Dröge * plugins/elements/gstinputselector.c: inputselector: Only wait until the active pad's running time is reached if the active pad already saw data Otherwise we might block forever because upstream (e.g. multiqueue) is waiting for the previously active stream to return forever (which is waiting here in inputselector) before pushing something on the newly selected stream. 2012-03-29 13:34:50 +0200 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gstbuffer.h: * gst/gstbufferlist.c: * gst/gstclock.c: * gst/gstelementfactory.c: * gst/gstevent.c: * gst/gstevent.h: * gst/gstiterator.c: * gst/gstmemory.c: * gst/gstmemory.h: * gst/gstmessage.c: * gst/gstmeta.c: * gst/gstmeta.h: * gst/gstminiobject.c: * gst/gstminiobject.h: * gst/gstobject.c: * gst/gstpad.c: * gst/gstpad.h: * gst/gstpadtemplate.c: * gst/gstpipeline.c: * gst/gstquery.c: * gst/gstquery.h: * gst/gstregistry.c: * gst/gstsample.c: * gst/gstsegment.c: * gst/gststructure.c: * gst/gsttask.c: * gst/gsttrace.c: * gst/gsturi.c: * gst/gstvalue.c: docs: update more documentation 2012-03-28 18:12:23 +0200 Wim Taymans * docs/pwg/advanced-events.xml: * gst/gstbin.c: * gst/gstbuffer.c: * gst/gstbufferlist.c: * gst/gstbufferpool.c: * gst/gstbufferpool.h: * gst/gstbus.c: * gst/gstcaps.c: * gst/gstclock.c: * gst/gstelement.c: * gst/gstevent.c: * gst/gstminiobject.c: * gst/gstpad.h: * libs/gst/base/gstbasesrc.h: review some docs 2012-03-28 16:44:34 +0200 Wim Taymans * gst/gstbuffer.c: buffer: simplify and refactor _span and _merge Unify the _span and _merge code paths and simplify now that we only use this internally. 2012-03-28 15:16:01 +0200 Wim Taymans * gst/gstbuffer.c: buffer: we always call _span with the buffer size 2012-03-28 15:12:05 +0200 Wim Taymans * gst/gstbuffer.c: buffer: move some code around 2012-03-28 15:08:44 +0200 Wim Taymans * gst/gstbuffer.c: buffer: we call _span always with 0 offset 2012-03-28 13:08:59 +0200 Wim Taymans * gst/gstbuffer.c: buffer: remove always FALSE function argument 2012-03-28 16:39:54 +0200 Mark Nauwelaerts * gst/gstbuffer.c: buffer: delay buffer unref until buffer no longer needed 2012-03-28 12:44:44 +0200 Wim Taymans * docs/gst/gstreamer-sections.txt: * docs/random/porting-to-0.11.txt: * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstutils.c: * gst/gstutils.h: * libs/gst/base/gstadapter.c: * tests/check/gst/gstbuffer.c: * win32/common/libgstreamer.def: buffer: unify buffer merge methods Add gst_buffer_append() which appends the memory blocks from one buffer to another. Remove the old inefficient _merge() and _join() methods which forced a premature memcpy in most cases. Remove the _is_span() and _span() methods they are not needed anymore now that we can _append(). Merging and spanning will be delayed until mapping or maybe not at all when the element can deal with the different memory blocks. 2012-03-27 15:24:49 -0400 Olivier Crête * gst/gstghostpad.c: gstpad: Fix typo in docstring 2012-03-27 15:24:49 -0400 Olivier Crête * gst/gstghostpad.c: gstpad: Fix typo in docstring 2012-03-27 15:16:55 +0200 Wim Taymans * gst/gstbuffer.c: buffer: re-enable _span offset calculations when we _span two complete buffers, we can copy offsets and timestamps. 2012-03-27 15:00:38 +0200 Wim Taymans * gst/gsttrace.c: trace: add refcount to trace debug 2012-03-27 14:59:06 +0200 Wim Taymans * gst/gstbuffer.c: buffer: add more _is_writable checks Add some checks to assert on writability for functions that modify metadata. 2012-03-27 12:40:36 +0200 Wim Taymans * gst/gstbufferpool.c: * gst/gstbufferpool.h: bufferpool: remove const from get/set_param Remove the const from the GstCaps in get/set_param. set_param modifies the refcount of the caps. Don't increment the refcount of the caps result of get_param like we do with other objects. Update some annotiations. 2012-03-27 12:39:53 +0200 Wim Taymans * gst/gstbufferpool.c: bufferpool: fix annotation for _release _release takes ownership of the buffer 2012-03-27 12:31:18 +0200 Sebastian Dröge * gst/gstbus.c: * gst/gstbus.h: bus: Change the timeout argument type of gst_bus_poll() from GstClockTimeDiff to GstClockTime This is more consistent with the other GstBus methods that have a timeout. 2012-03-26 19:13:21 +0200 Wim Taymans * gst/gstcaps.c: caps: remove old code Remove attempt to delay _make_writable 2012-03-26 18:07:35 +0200 Mark Nauwelaerts * gst/gstcaps.c: caps: ensure writable caps prior to modification 2012-03-26 17:38:50 +0200 Wim Taymans * gst/gstbufferpool.c: bufferpool: check min/max_buffers 2012-03-26 17:35:18 +0200 Wim Taymans * gst/gstquery.c: query:fix copy-and-paste problem 2012-03-26 11:54:59 +0200 Wim Taymans Replace master with 0.11 2012-03-23 18:51:52 +0100 Mark Nauwelaerts * gst/gstutils.c: utils: add and improve debug messages ... so they end up in a more expected debug category rather than oblivion. 2012-03-22 15:54:55 +0100 Wim Taymans * configure.ac: back to devel 2012-03-22 15:49:36 +0100 Wim Taymans * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/gstreamer-plugins.args: * docs/plugins/inspect-build.stamp: * docs/plugins/inspect.stamp: * docs/plugins/inspect/plugin-coreelements.xml: * gstreamer.doap: * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: * win32/common/config.h: * win32/common/gstenumtypes.c: * win32/common/gstenumtypes.h: * win32/common/gstversion.h: Release 0.11.3 2012-03-22 15:22:57 +0100 Mark Nauwelaerts * libs/gst/base/gstbasetransform.c: basetransform: remove automatic and undocumented setting of always_in_place ... which controls how to (forcibly) deal with (non-)writable data and is not necessarily related to identical caps. In particular, it is also not so helpful anymore with a more advanced GstVideoFilter subclass which always has a transform_ip method currently, even though its subclass may not have a corresponding _ip method. 2012-03-22 10:45:06 +0100 Wim Taymans Merge branch 'master' into 0.11 Conflicts: configure.ac 2012-03-22 08:35:25 +0100 Stefan Sauer * tools/gst-launch.c: gst-launch: don't shadow global variable 2012-03-21 12:10:21 +0100 Wim Taymans * libs/gst/Makefile.am: dist net directory only once 2012-03-21 09:00:45 +0100 Sebastian Dröge * gst/gstquery.c: query: Only allow fixed caps in the accept-caps query 2012-03-20 17:08:28 +0100 Wim Taymans * libs/gst/base/gstbaseparse.c: baseparse: do queries more directly Just call our internal query function instead of going through the pad and the query handler etc. 2012-03-20 17:08:00 +0100 Wim Taymans * libs/gst/base/gstadapter.c: adapter: add some performance debug 2012-03-20 13:14:55 +0100 Wim Taymans * gst/gstpad.c: * libs/gst/base/gstbasesrc.c: * plugins/elements/gstqueue2.c: pad: improve docs of get/pull_range Improve the docs of the get/pull_range functions, define the lifetime of the buffer in case of errors and short reads. Make sure the code does what the docs say. 2012-03-20 10:20:29 +0100 Wim Taymans * gst/gstbuffer.c: * gst/gstbuffer.h: * tests/check/gst/gstevent.c: buffer: improve gst_buffer_new_wrapped_full() Make it possible to wrap all kinds of memory by exposing all properties to gst_buffer_new_wrapped_full(). This makes it possible to also create writable memory without a free function or memory with extra padding. 2012-03-19 11:45:27 +0100 Wim Taymans * plugins/elements/gstmultiqueue.c: multiqueue: handle serialized queries 2012-03-16 22:51:14 +0100 Wim Taymans * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstbasetransform.h: basetransform: make more stuff private 2012-03-16 22:25:38 +0100 Wim Taymans * libs/gst/base/gstbasetransform.c: basetransform: small cleanups 2012-03-16 21:37:10 +0100 Wim Taymans * gst/gstpad.c: * gst/gstpad.h: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: * plugins/elements/gsttypefindelement.c: * tests/check/elements/filesrc.c: pad: change the semantics of get/pull_range a little Make it so that one can specify a buffer for get/pull_range where the downstream element should write into. When passing NULL, upstream should allocate a buffer, like in 0.10. We also need to change the probes a little because before the pull probe, there could already be a buffer passed. This then allows us to use the same PROBE macro for before and after pulling. While we're at the probes, make the query probe more powerful by handling the GST_PAD_PROBE_DROP return value. Returning _DROP from a query probe will now return TRUE upstream and will not forward the probe to the peer or handler. Also handle _DROP for get/pull_range properly by not dispatching to the peer/handler or by generating EOS when the probe returns DROP and no buffer. Make filesrc handle the non-NULL buffer passed in the get_range function and skip the allocation in that case, writing directly into the downstream provided buffer. Update tests because now we need to make sure to not pass a random value in the buffer pointer to get/pull_range 2012-03-16 21:36:33 +0100 Wim Taymans * plugins/elements/gsttypefindelement.c: typefind: proxy allocation query 2012-03-16 18:39:08 +0100 Wim Taymans * gst/gstevent.c: event: fix docs a little, alloc_buffer is gone 2012-03-15 22:09:02 +0100 Wim Taymans * gst/gstbufferpool.c: * gst/gstbufferpool.h: * gst/gstmemory.h: * gst/gstquark.c: * gst/gstquark.h: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: * win32/common/libgstreamer.def: bufferpool: split bufferpool configuration Make separate methods to control the bufferpool and the allocator used by the bufferpool. Make it possible to change the allocator of a pool. 2012-03-15 20:23:59 +0100 Wim Taymans * gst/gstquery.c: * gst/gstquery.h: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: * win32/common/libgstreamer.def: query: rework the ALLOCATION query Separate the bufferpool and allocator hints in the allocation query, some of the values don't always make sense together. Keep the bufferpool and its configuration together. Keep the allocator and its parameters together. Allow for multiple bufferpool configurations in the query. 2012-03-15 16:50:31 +0100 Wim Taymans * gst/gstpad.c: pad: comment and debug improvement 2012-03-15 16:49:33 +0100 Wim Taymans * gst/gstutils.c: utils: improve debug also fix a potential memory leak 2012-03-15 14:28:22 +0100 Wim Taymans * win32/common/libgstreamer.def: defs: update 2012-03-15 14:01:44 +0100 Wim Taymans * gst/gst.c: * gst/gstbufferpool.c: * gst/gstbufferpool.h: GstBufferPoolParams -> GstBufferPoolAcquireParams Because those flags are not from the bufferpool but for the acquire function. 2012-03-15 13:28:28 +0100 Wim Taymans * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstbufferpool.c: * gst/gstcompat.h: * gst/gstmemory.c: * gst/gstmemory.h: * gst/gstvalue.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: * plugins/elements/gstfakesrc.c: * plugins/elements/gstfdsrc.c: * plugins/elements/gstqueue2.c: * tests/check/gst/gstbuffer.c: * tests/check/gst/gstmemory.c: * win32/common/libgstreamer.def: memory: group allocation parameters in a struct Group the extra allocation parameters in a GstAllocationParams structure to make it easier to deal with them and so that we can extend them later if needed. Make gst_buffer_new_allocate() take the GstAllocationParams for added functionality. Add boxed type for GstAllocationParams. 2012-03-15 00:25:50 +0100 Wim Taymans * plugins/elements/gstfilesrc.c: filesrc: only update buffer size on short read 2012-03-15 00:24:40 +0100 Wim Taymans * gst/gstquery.c: query: fix copy function Copy the structure too. 2012-03-15 00:23:57 +0100 Wim Taymans * gst/gstmemory.c: memory: fix maxsize after align when we align the data pointer, make sure to update the maxsize. Add some more debug 2012-03-14 22:58:34 +0100 Wim Taymans * plugins/elements/gstqueue.c: * plugins/elements/gstqueue2.c: queue: remove useless PROXY_ALLOCATION flag 2012-03-14 21:32:22 +0100 Wim Taymans * gst/gstbuffer.c: * gst/gstbufferpool.c: * gst/gstmemory.c: * gst/gstmemory.h: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: * tests/check/gst/gstbuffer.c: * tests/check/gst/gstmemory.c: memory: Add 0 padding Change gst_allocator_alloc() so that we can also spicify flags and padding. Add 2 new flags to mark the memory 0 prefixed/padded. This allows us to remove some resizes in the base classes. When allocating memory, memset prefix and padding with 0 when the flags tell us to. On resize, clear the zero padding flags if we can't guarantee the memory is still 0 filled. Update tests. 2012-03-14 19:37:22 +0100 Wim Taymans * gst/gstbufferpool.c: * gst/gstbufferpool.h: * gst/gstquark.c: * gst/gstquark.h: * gst/gstquery.c: * gst/gstquery.h: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: query: also include padding in ALLOCATION query Negotiating padding is needed on second thought so include it in the ALLOCATION query. Make the bufferpool take padding into account when allocating. Make basesrc take padding into account. Use padding and prefix when allocating in basetransform. 2012-03-14 18:45:55 +0100 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: take prefix into account when allocating Take into account the prefix that we received from the allocation query and use it to allocate and resize a larger buffer. 2012-03-14 17:16:36 +0100 Mark Nauwelaerts * gst/gstbufferpool.c: bufferpool: free owned discarded pool config 2012-03-14 16:27:31 +0100 Wim Taymans * gst/gstpad.c: * libs/gst/base/gstbasesink.c: pad: implement DRAIN handling When we forward the DRAIN query and there is nothing to forward it to, assume we are drained. When a basesink receives a drain query, reply with TRUE. 2012-03-14 16:14:12 +0100 Wim Taymans * gst/gstquark.c: * gst/gstquark.h: * gst/gstquery.c: * gst/gstquery.h: * win32/common/libgstreamer.def: query: add new drain query With the new serialized downstream queries we can implement a drain query that makes an element waits until a downstream element replies to the query. 2012-03-14 16:01:15 +0100 Wim Taymans * gst/gstpad.c: pad: make serialized queries push sticky events first Before we can proceed with a serialized query, we need to be sure that all sticky events were pushed. 2012-03-14 15:42:47 +0100 Wim Taymans * plugins/elements/gstmultiqueue.c: * plugins/elements/gstqueue2.c: queues: warn when receiving a serialized event .. until we implement it. 2012-03-14 15:42:33 +0100 Wim Taymans * plugins/elements/gstqueue.c: * plugins/elements/gstqueue.h: queue: add support for serialized queries 2012-03-14 15:29:12 +0100 Wim Taymans * gst/gstpad.c: pad: take stream lock on serialized queries 2012-03-14 15:16:56 +0100 Wim Taymans * gst/gstpad.c: pad: enforce correct query direction 2012-03-14 14:51:16 +0100 Wim Taymans * gst/gst.c: * gst/gstquery.c: * gst/gstquery.h: * win32/common/libgstreamer.def: query: register queries like events Also register queries with a QueryType that allows us to check if the event is sent in the right direction. Add a serialized query type because we will need this for the allocation query. Remove the QueryTypeDefinition stuff, it is not used anymore and we now use custom queries and separate API for them. Update defs. 2012-03-14 12:42:00 +0100 Wim Taymans * libs/gst/base/gstadapter.c: adapter: add more debug 2012-03-13 15:40:37 +0100 Wim Taymans * gst/gstbin.c: bin: remove old compat mode 2012-03-13 15:40:23 +0100 Wim Taymans * gst/gstcaps.c: caps: small docs update 2012-03-13 10:04:36 +0100 Wim Taymans * docs/random/porting-to-0.11.txt: * gst/gstcaps.c: * gst/gstcaps.h: caps: remove gst_caps_union() Remove gst_caps_union(), use gst_caps_merge(). This function was not used anymore and it is unclear what the difference is with _merge(). 2012-03-12 23:05:01 +0000 Tim-Philipp Müller * configure.ac: configure: bump AS_LIBTOOL version API was added to collectpads2 2012-03-12 23:02:48 +0000 Tim-Philipp Müller * configure.ac: configure: backport AS_LIBTOOL version from 0.10.36 release Might fix issues with missing symbols for people who install GStreamer from source and at some point jumped back and forth between git master and the 0.10.36 release (or 0.10. branch). 2012-03-12 23:08:00 +0100 Stefan Sauer * libs/gst/base/gstcollectpads2.c: docs: fix function name and typo 2012-03-12 19:52:03 +0100 Wim Taymans * libs/gst/base/gstbasetransform.c: basetransform: get template caps only once Get the template caps of the pads only once, avoids unecessary ref and unrefs. 2012-03-12 18:34:30 +0100 Wim Taymans * gst/gstcaps.c: caps: delay _make_writable() until needed in _normalize() Delay _make_writable() until we actually found a list and need to update the caps. 2012-03-12 18:25:38 +0100 Wim Taymans * gst/gstcaps.c: caps: shortcut simplify earlier A simple caps is already simplified, no need to check for fixedness. 2012-03-12 18:22:05 +0100 Wim Taymans * gst/gstcaps.c: caps: small cleanup, remove const 2012-03-12 18:02:27 +0100 Wim Taymans * gst/gstcaps.c: caps: small cleanups 2012-03-12 16:40:38 +0100 Wim Taymans * gst/gstcaps.c: caps: small doc improvement 2012-03-12 16:18:45 +0200 Sreerenj Balachandran * configure.ac: configure.ac: bump required GLib to 2.31.14 Fixes https://bugzilla.gnome.org/show_bug.cgi?id=671911 2012-03-12 13:50:45 +0000 Tim-Philipp Müller * docs/random/porting-to-0.11.txt: docs: update porting-to-0.11.txt a little 2012-03-12 12:35:07 +0100 Wim Taymans * gst/gstcaps.c: caps: fix some 0.11 FIXMEs 2012-03-12 12:21:34 +0100 Wim Taymans * gst/gstcaps.c: * tests/check/gst/gstcaps.c: caps: make _normalize take ownership of input Make gst_caps_normalize() take ownership of the input so that it can more intelligently decide when to copy or not. 2012-03-12 11:38:37 +0100 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gstcaps.c: * gst/gstcaps.h: * gst/gstmeta.c: * gst/gstmeta.h: * gst/gstquery.c: * gst/gstregistrychunks.c: * plugins/elements/gstcapsfilter.c: * tests/check/gst/gstcaps.c: * win32/common/libgstreamer.def: caps: _do_simplify() -> _simplify() Rename _do_simplify() to _simplify(). The name was introduced as a replacement method for a deprecated method but we can now rename it again. Fix some docs. 2012-03-12 10:42:23 +0100 Wim Taymans * gst/gstcaps.c: * gst/gstcaps.h: * gst/gstregistrychunks.c: * plugins/elements/gstcapsfilter.c: * tests/check/gst/gstcaps.c: caps: improve _do_simplify Make gst_caps_do_simplify() take ownership of the input caps and produce a simplified output caps. This removes the requirement of having writable input caps and the method can make the caps writable only when needed. 2012-03-12 10:41:28 +0100 Wim Taymans * tests/check/gst/gstpad.c: tests: fix unit test with the new caps API, there is more sharing and less copying going on so the unit test refcounts are different. 2012-03-12 09:03:42 +0000 Christian Fredrik Kalager Schaller * docs/faq/general.xml: update license link to point to 2.1 license, instead of just generic lgpl file, which is always the latest and thus not correct for gstreamer 2012-03-11 18:57:44 +0100 Wim Taymans * docs/manual/advanced-autoplugging.xml: * gst/gstcaps.c: * gst/gstcaps.h: * gst/gstpadtemplate.c: * gst/gstutils.c: * gst/gstutils.h: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesink.h: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasesrc.h: * libs/gst/base/gstbasetransform.c: * tests/check/gst/gstcaps.c: caps: avoid using in-place oprations Rework some caps operations so they don't rely on writable caps but instead take ownership of the input caps and do _make_writable() only when needed. Remove some const from caps functions, it does not make much sense for refcounted objects and does not allow us to return a refcount to the const input caps. Rework the base classes fixate vmethods to not operate on the caps in-place. All this saves us around 30% of caps and structure copy and new operations. 2012-03-11 17:22:01 +0100 Wim Taymans * gst/gststructure.c: structure: add allocation debug 2012-03-10 09:25:43 +0100 Wim Taymans * gst/gsttypefind.c: * gst/gsttypefind.h: * libs/gst/base/gsttypefindhelper.c: * plugins/elements/gsttypefindelement.c: * plugins/elements/gsttypefindelement.h: typefind: remove const from refcounted GstCaps Having const on refcounted objects require us to make copies instead of simply taking a ref, don't do that. 2012-03-10 09:15:43 +0100 Wim Taymans * gst/gstregistrychunks.c: registry: avoid copy when caps are fixed Avoid doing a useless copy when the caps are fixed and simplify will not do anything. 2012-03-09 16:14:02 +0100 Wim Taymans * gst/gstbuffer.c: buffer: small optimizations shortcut heavy work when buffer_resize does nothing. Avoid an extra _ref when mapping a buffer. Add some G_LIKELY. 2012-03-09 15:03:11 +0100 Wim Taymans * docs/design/part-bufferpool.txt: bufferpool: fix array types 2012-03-09 14:30:01 +0100 Wim Taymans * docs/design/part-buffer.txt: * docs/design/part-bufferpool.txt: * docs/design/part-memory.txt: * docs/design/part-meta.txt: * docs/design/part-overview.txt: * docs/design/part-scheduling.txt: docs: update docs 2012-03-09 11:53:54 +0100 Wim Taymans * gst/gstpad.c: pad: also push sticky events on new event Make a helper function check_sticky to check and push pending sticky events. Move the handling of the result of pushing the sticky event inside the push_event function, we need to mark the event as received when it was pushed correctly. Move the sticky events code outside of gst_pad_push_event_unchecked and make it purely handle sending the event to the peer. when pushing a sticky event, first store it on the pad. Then check and push any pending sticky events when we get a serialized or sticky event on a srcpad. This fixes the issue where sticky events are not pushed when an event is pushed. 2012-03-09 11:52:29 +0100 Wim Taymans * gst/gstpad.c: pad: store the received result from _foreach If the foreach function changes the received state of the sticky event, make sure we remember that. 2012-03-09 11:52:11 +0100 Wim Taymans * gst/gstpad.c: pad: add comment 2012-03-09 11:49:08 +0100 Wim Taymans * tests/check/gst/gstpad.c: test: add test to check sticky events order Sticky events pushed on an unlinked pad should be stored on the pad. When the pad is then linked and an event is pushed, the event should be merged with the already existing sticky events and then the sticky events should be pushed in the order that they were originally pushed. 2012-03-09 11:48:40 +0100 Wim Taymans * tests/check/gst/gstutils.c: test: fix typo in comment 2012-03-08 20:08:20 +0000 Tim-Philipp Müller * tests/check/pipelines/seek.c: tests: port pipeline/seek test to 0.11 Doesn't fail in 0.11 of course, at least not on my machine. 2012-03-08 19:55:30 +0000 Tim-Philipp Müller Merge remote-tracking branch 'origin/master' into 0.11 Conflicts: common gst/gstpad.h gst/gsttask.c libs/gst/base/gstcollectpads2.h 2012-03-08 16:30:49 +0000 Tim-Philipp Müller * gst/gstpad.c: * gst/gsttask.c: pad, task: improve debug logging 2012-03-08 16:26:44 +0000 Tim-Philipp Müller * gst/gstpad.h: * libs/gst/base/gstcollectpads2.h: pads, collectpads2: get rid of superfluous brackets around static rec mutex calls Makes it possible to define those calls to something for tracing. 2012-03-08 16:25:20 +0000 Tim-Philipp Müller * common: common: update common module For make foo/bar.check-norepeat target. 2012-03-08 15:23:56 +0000 Tim-Philipp Müller * tests/check/Makefile.am: * tests/check/pipelines/.gitignore: * tests/check/pipelines/seek.c: tests: add minimal basesrc ! sink seeking unit test Should reproduce 'GStreamer-WARNING **: wrong STREAM_LOCK count 0' warnings (with make pipelines/seek.torture or pipelines/seek.forever anyway, since it appears to be racy). https://bugzilla.gnome.org/show_bug.cgi?id=670846 2011-12-26 00:18:29 +0000 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gstvalue.c: * gst/gstvalue.h: * win32/common/libgstreamer.def: value: remove gst_value_register_{subtract,union,intersect}_func() API There isn't really any need to provide public API for that. It's not used anywhere in practice, and we aim to provide an API that works for GstCaps, not some kind of generic set manipulation API based on GValue. Making this private also makes it easier to optimise this later. We can always put it back if someone actually needs it. 2012-03-08 10:47:39 +0100 Wim Taymans * plugins/elements/gsttee.c: tee: fix refcount error 2012-03-08 09:45:06 +0100 Wim Taymans * gst/gstpad.c: * tests/check/gst/gstpad.c: pad: return ANY for a pad without template Because gst_pad_get_pad_template_caps() returns ANY when there is no template, the query caps function should also return ANY when there is no template (and no pad current caps) instead of EMPTY. 2012-03-08 09:44:21 +0100 Wim Taymans * gst/gstpad.c: pad: small cleanup 2012-03-07 15:34:36 +0100 Wim Taymans * gst/gstmemory.c: memory: add comment 2012-03-08 10:32:02 +0100 Sebastian Dröge * libs/gst/base/gstbaseparse.c: baseparse: Fix merge mistake 2012-03-08 10:19:52 +0100 Sebastian Dröge Merge branch 'master' into 0.11 Conflicts: libs/gst/base/gstbaseparse.c libs/gst/base/gstbasetransform.c plugins/elements/gsttee.c 2012-03-07 11:23:56 +0100 Mark Nauwelaerts * libs/gst/base/gstbaseparse.h: baseparse: arrange for properly disjoint frame flags 2012-03-06 15:17:05 +0100 Wim Taymans * libs/gst/base/gstbasetransform.c: basetransform: delay pool activation Delay the activation of the bufferpool until we actually need a buffer from the pool. 2012-03-06 12:28:02 +0100 Sebastian Dröge * libs/gst/base/gstbaseparse.c: baseparse: Fix 'self-comparison always evaluates to true' This was really a bug. 2012-03-06 12:24:53 +0100 Sebastian Dröge * plugins/elements/gsttee.c: tee: Fix 'use of logical '&&' with constant operand' compiler warning This is actually a real bug. 2012-03-06 12:23:15 +0100 Sebastian Dröge * libs/gst/base/gstbasetransform.c: basetransform: Fix 'equality comparison with extraneous parentheses' compiler warning 2012-03-06 12:16:19 +0100 Sebastian Dröge * gst/gst.c: gst: Fix 'comparison of unsigned enum expression >= 0 is always true' compiler warning 2012-03-05 15:23:46 +0100 Wim Taymans * libs/gst/base/gstbasetransform.c: basetransform: don't propose_allocation before negotiation Answer the allocation query with FALSE when we are not negotiated yet because at that point we have no idea if we need to proxy the allocation query or not. 2012-03-05 14:41:12 +0100 Sebastian Dröge * libs/gst/base/gstbaseparse.c: baseparse: Fix handling of multiple newsegment events Previously only the last would be pushed, which would cause invalid running times downstream. This also fixes the handling of update newsegment events. 2012-03-05 14:25:57 +0100 Sebastian Dröge * libs/gst/base/gstbaseparse.c: baseparse: Also flush the close_segment Pushing this after flushing will confuse downstream. 2012-03-05 14:23:17 +0100 Sebastian Dröge * libs/gst/base/gstbaseparse.c: baseparse: Remove obsolete code and move gap handling to the correct place The segment start adjustment code in pull mode should never trigger anymore because the bisection code earlier would have already made sure that we're at the desired position. Also move the gap handling some lines below after sending the currently configured segments. Otherwise we might fill gaps in a segment that is not configured downstream yet. 2012-03-05 13:12:18 +0100 Sebastian Dröge * libs/gst/base/gstbaseparse.c: baseparse: Clear some more state when receiving FLUSH_STOP Like pending serialized events and the currently cached buffer. 2012-03-05 13:00:38 +0100 Sebastian Dröge * libs/gst/base/gstbaseparse.c: baseparse: Only queue serialized events for sending them later 2012-03-05 00:34:36 +0000 Tim-Philipp Müller * libs/gst/check/Makefile.am: libgstcheck: export gst_consistency_checker_add_pad() Fix build of the adder unit test in -base again. 2012-03-02 17:32:28 +0100 Wim Taymans * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstbasetransform.h: basetransform: refine metadata filter and transform Add a vmethod to filter metadata that should be passed upstream. By default, don't pass anything. Add a vmethod to transform metadata from the input buffer to the output buffer. By default, nothing is transformed or copied. 2012-03-02 17:04:05 +0100 Wim Taymans * gst/gst.h: gst: include gstmeta.h 2012-03-02 17:03:49 +0100 Wim Taymans * gst/gstbufferpool.c: bufferpool: add more debug info 2012-03-02 13:02:46 +0100 Wim Taymans * win32/common/libgstreamer.def: defs: update 2012-03-02 13:02:37 +0100 Wim Taymans * tests/check/gst/gstmeta.c: tests: improve metadata test 2012-03-02 12:45:23 +0100 Wim Taymans * gst/gstbuffer.c: * gst/gstmeta.h: meta: add boolean to signal a region copy Add a boolean to the metadata copy transform that signals if a only a region is copied. 2012-03-02 12:16:03 +0100 Stefan Sauer * libs/gst/check/gstconsistencychecker.c: consitencychecker: don't fail on multiple flush_start events This seems to be okay after a irc discussion. 2012-03-02 11:57:52 +0100 Wim Taymans * gst/gstmeta.c: * gst/gstmeta.h: meta: transform docs Use gst- prefix for metadata transform types. 2012-03-02 11:04:21 +0100 Wim Taymans * libs/gst/base/gstbasetransform.c: basetrans: fix comment 2012-03-02 11:05:48 +0100 Sebastian Dröge * Android.mk: * Makefile.am: * docs/gst/Makefile.am: * gst/Makefile.am: * gst/gst.h: * gst/gstbin.c: * gst/gstbus.c: * gst/gstchildproxy.c: * gst/gstelement.c: * gst/gstmarshal.list: * gst/gstobject.c: * gst/gstpad.c: * gst/gstpadtemplate.c: * gst/gstregistry.c: * gst/gsturi.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstindex.c: * libs/gst/base/gstpushsrc.c: * plugins/elements/gstfakesink.c: * plugins/elements/gstfakesrc.c: * plugins/elements/gstidentity.c: * plugins/elements/gsttypefindelement.c: * win32/common/gstmarshal.c: * win32/common/gstmarshal.h: gst: Remove gstmarshal.[ch] completely and use the generic marshaller Fixes bug #671130. 2012-03-02 10:51:42 +0100 Sebastian Dröge * gst/Makefile.am: gst: Don't install gstmarshal.h The generic, FFI based marshaller should be used instead of these and we definitely shouldn't export the marshallers in our public API. 2012-03-01 17:39:17 +0100 Wim Taymans * gst/gst_private.h: * gst/gstinfo.c: * gst/gstmeta.c: meta: improve debugging Add category for metadata debug 2012-03-01 17:38:54 +0100 Wim Taymans * libs/gst/base/gstbasetransform.c: basetransform: improve debugging 2012-03-01 17:38:27 +0100 Wim Taymans * gst/gstpad.c: pad: improve debugging 2012-03-01 15:18:04 +0100 Wim Taymans * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstbasetransform.h: basetransform: remove metadata tagged with the memory tag Remove metadata that describes the particular memory of the buffer it is attached to. We need to do this because in non-passthrough mode we will allocate new memory for our output buffer. 2012-03-01 15:17:37 +0100 Wim Taymans * gst/gstmeta.c: * gst/gstmeta.h: meta: add tag for memory metadata 2012-03-01 14:49:38 +0100 Wim Taymans * gst/gstquery.c: * gst/gstquery.h: query: add method to remove allocation_meta Also g_return_if_fail for out-of-bounds access instead of silently failing. 2012-03-01 14:30:58 +0100 Wim Taymans * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstbasetransform.h: basetransform: improve propose_allocation Improve the propose allocation vmethod by passing the downstream allocation query to it. This way the vmethod implementation can use properties of the downstream allocation to generate the upstream query result. If there is no downstream quety, it means that the element is working in passthrough mode. Implement a default decide_allocation. 2012-03-01 11:11:43 +0100 Wim Taymans * libs/gst/base/gstbasetransform.c: basetransform: clear allocation parameters in passthrough Clear the allocation parameters when we operate in passthrough. 2012-03-01 11:06:49 +0100 Wim Taymans * tests/check/elements/capsfilter.c: * tests/check/elements/tee.c: * tests/check/elements/valve.c: * tests/check/gst/capslist.h: * tests/check/gst/gstelementfactory.c: * tests/check/gst/gstghostpad.c: * tests/check/gst/gstpad.c: * tests/check/gst/gststructure.c: * tests/check/pipelines/parse-launch.c: * tests/check/pipelines/queue-error.c: tests: fix old caps in tests now that core warns 2012-03-01 14:51:26 +0100 Sebastian Dröge * libs/gst/base/gstcollectpads2.c: * libs/gst/check/gstconsistencychecker.c: libs: Fix some merge mistakes 2012-03-01 14:43:01 +0100 Sebastian Dröge Merge branch 'master' into 0.11 Conflicts: libs/gst/base/gstcollectpads2.c libs/gst/check/gstconsistencychecker.c 2012-02-28 12:03:46 +0100 Mark Nauwelaerts * gst/gstpad.c: pad: fix some debug message typos 2012-02-29 21:57:00 +0100 Stefan Sauer * libs/gst/check/gstconsistencychecker.c: * libs/gst/check/gstconsistencychecker.h: consitencychecker: add handling for sink-pads Add a pad-probe for sink-pads. One can now add extra pads (belonging to the same element) to a checker. This allows us to extend the checks. 2012-02-29 17:20:23 +0100 Wim Taymans * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstmeta.c: * gst/gstmeta.h: * gst/gstquery.c: * gst/gstquery.h: * libs/gst/net/gstnetaddressmeta.c: * libs/gst/net/gstnetaddressmeta.h: * tests/check/gst/gstmeta.c: * win32/common/libgstnet.def: * win32/common/libgstreamer.def: meta: split registration of API and implementation Split out the registration of the metadata API and its implementation. Make a GType for each metadata API. This allows us to store extra information with the API type such as the tags. Change the buffer API so that we can get the metadata using the API GType. Change the query API so that we use the metadata API GType in the allocation query instead of a string. Update netaddress and unit tests 2012-02-29 16:00:22 +0100 Wim Taymans * gst/gstminiobject.h: minobject: small .h indent fix 2012-02-29 12:41:44 +0000 Tim-Philipp Müller * gst/gststructure.c: structure: print a g_warning() if someone tries to construct 0.10-style raw audio/video caps 2012-02-29 08:44:04 +0100 Stefan Sauer * libs/gst/check/gstconsistencychecker.c: consistencychecker: also check for duplicated flush_starts 2012-02-28 20:36:59 +0100 Stefan Sauer * libs/gst/base/gstcollectpads2.c: collectpads2: add more logging 2012-02-28 16:17:47 +0100 Wim Taymans * gst/gstmeta.h: * libs/gst/net/gstnetaddressmeta.c: * tests/check/gst/gstmeta.c: meta: add return vale to transform Add a boolean return value so that we can see when a transform fails. 2012-02-28 12:52:00 +0100 Wim Taymans * gst/gstmeta.c: * gst/gstmeta.h: * win32/common/libgstreamer.def: meta: add method to check for a tag 2012-02-28 12:51:27 +0100 Wim Taymans * tests/check/gst/gstmeta.c: tests: fix unit test 2012-02-28 11:34:48 +0100 Wim Taymans * gst/gstmeta.c: * gst/gstmeta.h: * libs/gst/net/gstnetaddressmeta.c: meta: add support to tagging the metadata Add support for adding tags to the metadata. with some standard keys, this should make it possible to describe what the metadata refers to. We should be able to use this information to decide if a transformation destroys the metadata or not. 2012-02-27 13:35:10 +0100 Edward Hervey * gst/gstquery.c: * tools/gst-inspect.c: Suppress deprecation warnings in selected files, for g_value_array_* mostly 2012-02-27 11:46:08 +0100 Wim Taymans * tests/check/gst/gstbus.c: tests: increase bus test timeout 2012-02-21 20:43:48 +0000 Tim-Philipp Müller * tests/check/gst/gstdatetime.c: tests: make datetime test more reliably when comparing two almost identical nows Account for rounding errors in some places, and that two nows are not always entirely identical, so allow some leeway when comparing microseconds and seconds. Ran into this too often, esp. when the system is under load. 2012-02-27 09:48:06 +0100 Wim Taymans * gst/gst.h: * gst/gstbufferpool.c: * gst/gstbufferpool.h: * gst/gstbus.c: * gst/gstbus.h: remove some useless includes in .h 2012-02-27 09:02:07 +0100 Wim Taymans * gst/gstclock.c: * gst/gstclock.h: * gst/gstsystemclock.c: * libs/gst/net/gstnetclientclock.c: * tests/check/gst/gstsystemclock.c: * win32/common/libgstreamer.def: clock: make more stuff private Expose methods to get and set the timeout because subclasses uses this. 2012-02-26 20:45:14 +0100 Wim Taymans * gst/gstsystemclock.c: * gst/gstsystemclock.h: systemclock: make more stuff private 2012-02-26 20:44:50 +0100 Wim Taymans * gst/gstbufferpool.c: * gst/gstbufferpool.h: bufferpool: make more stuff private 2012-02-26 16:32:32 +0100 Wim Taymans * gst/gstbus.c: * gst/gstbus.h: bus: make more fields private 2012-02-27 00:09:57 +0000 Tim-Philipp Müller * plugins/elements/gstfdsink.c: fdsink: fix compilation after merge 2012-02-27 00:08:39 +0000 Tim-Philipp Müller Merge remote-tracking branch 'origin/master' into 0.11 Conflicts: NEWS RELEASE configure.ac docs/plugins/gstreamer-plugins.hierarchy docs/plugins/inspect/plugin-coreelements.xml libs/gst/base/gstcollectpads.c libs/gst/base/gstcollectpads2.c plugins/elements/gstfdsink.c win32/common/config.h win32/common/gstenumtypes.c win32/common/gstversion.h 2012-02-26 23:11:23 +0100 Stefan Sauer * libs/gst/base/gstcollectpads2.c: collectpads2: rescue the annotation from collectpads 2012-02-26 23:10:58 +0100 Stefan Sauer * libs/gst/base/gstcollectpads.c: docs: fix a typo in comment 2012-02-26 22:57:02 +0100 Stefan Sauer * libs/gst/base/gstcollectpads2.c: collectpads2: move "MT save" tags to doc body It is not useful to have "MT safe" tags randomly in body, returns or since paragraphs. 2012-02-25 15:18:00 +0000 Tim-Philipp Müller * plugins/elements/gstfdsink.c: fdsink: implement GstBaseSink::query instead of messing with the pad 2012-02-25 15:08:55 +0000 Tim-Philipp Müller * plugins/elements/gstfdsink.c: * plugins/elements/gstfdsink.h: fdsink: implement SEEKING query We may or may not support seeking. stdout to a terminal doesn't support seeking, for example, but ... ! fdsink > file.foo just might. 2012-02-25 15:07:43 +0000 Tim-Philipp Müller * plugins/elements/gstfilesink.c: filesink: implement SEEKING query We may or may not do seeking, depends on the output file/device really, it doesn't have to be a file after all. 2012-02-25 15:07:05 +0000 Tim-Philipp Müller * plugins/elements/gstfakesink.c: fakesink: answer SEEKING query We don't do seeking, in case anyone wants to know. 2012-02-24 23:39:30 +0000 Tim-Philipp Müller * gst/gstregistrybinary.c: registry: fix lseek() return code handling lseek() returns the offset if successful, and this is != 0 and does not indicate an error. And if it does actually fail, don't return FALSE (0) as an int, but -1. None of these things are likely to have made a difference, ever. I don't think the offset seek can ever actually happen, the current file position and the current offset should always be increased in lock step, unless there was an error in which case we'd just error out. 2012-02-24 23:19:51 +0000 Tim-Philipp Müller * gst/gstregistrybinary.c: registry: don't forget to clean up registry temp file in another error case Also clean up temp file if we get an error during write() rather than just when doing fsync() or close(). 2012-02-24 15:24:42 +0100 Wim Taymans * gst/gstatomicqueue.c: atomicqueue: fix race After a writer has written to its reserved write location, it can only make the location available for reading if all of the writers with lower locations have finished. 2012-02-24 12:53:52 +0100 Wim Taymans * plugins/elements/gstdataurisrc.c: * tests/check/elements/dataurisrc.c: dataurisrc: fix docs and unit test 2012-02-24 12:51:24 +0100 Wim Taymans * gst/gstatomicqueue.c: atomicqueue: fix subtle race Fix a race where the reader would see the updated the tail pointer before the write could write the data into the queue. Fix this by having a separate reader tail pointer that is only incremented after the writer wrote the data. 2012-02-24 11:00:21 +0100 Wim Taymans * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstbasetransform.h: * plugins/elements/gstcapsfilter.c: * win32/common/libgstbase.def: basetransform: fix reconfigure methods Rename gst_base_transform_suggest to gst_base_transform_reconfigure_sink because that is what it does. Also remove the caps and size because that is not needed. Rename gst_base_transform_reconfigure to gst_base_transform_reconfigure_src. Remove some old unused code in capsfilter. 2012-02-24 10:23:27 +0100 Wim Taymans * gst/gstbuffer.c: * gst/gstmeta.c: * gst/gstmeta.h: * libs/gst/net/gstnetaddressmeta.c: * tests/check/gst/gstmeta.c: * win32/common/libgstreamer.def: meta: flesh out the metadata transform Flesh out the transform method. Add a type and extra info to the transform function so that implementation can transform the metadata. Remove the copy function and replace with the more generic transform. 2012-02-24 10:23:17 +0100 Wim Taymans * docs/design/part-meta.txt: docs: update docs 2012-02-23 08:48:22 -0800 David Schleef * tests/check/Makefile.am: Fix gap in Makefile 2012-02-23 08:48:10 -0800 David Schleef * gst/gstmemory.c: spelling fix 2011-12-26 16:45:20 -0800 David Schleef * gst/gstpoll.c: poll: fix spelling of writable 2012-02-23 15:32:33 +0100 Wim Taymans * gst/gstmemory.h: memory: add user_data to GstMapInfo Add extra pointers to GstMapInfo so that implementations can use these to store extra info. 2012-02-23 15:32:19 +0100 Wim Taymans * gst/gstbufferpool.h: bufferpool: improve docs 2012-02-23 12:09:31 +0000 Tim-Philipp Müller * NEWS: * RELEASE: Update NEWS and RELEASE as well 2012-02-23 11:59:22 +0100 Wim Taymans * docs/libs/gstreamer-libs-sections.txt: docs: remove transform lock 2012-02-23 10:36:57 +0000 Tim-Philipp Müller * configure.ac: * docs/plugins/gstreamer-plugins.hierarchy: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * win32/common/config.h: * win32/common/gstenumtypes.c: * win32/common/gstversion.h: Bump version after releases 2012-02-23 11:08:26 +0100 Wim Taymans * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstbasetransform.h: basetransform: remove transform lock This is not needed anymore by the baseclass. subclasses should do their own locking when needed. 2012-02-23 10:12:44 +0100 Wim Taymans * libs/gst/base/gstbasetransform.c: basetrans: cleanups Clean up the setcaps function. The passthrough variable is protected with the object lock. 2012-02-22 15:26:05 +0100 Wim Taymans * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstbasetransform.h: basetransform: improve propose_allocation Always call the propose_allocation method and provide a default implementation that passes the query on in passthrough mode so that subclasses can also call this. Also pass if the transform is in passthrough mode so that the implementation can adjust its algorithm. 2012-02-22 12:24:34 +0100 Wim Taymans * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstbasetransform.h: basetrans: improve fixate_caps function Make it possible to also implement non-inplace fixate functions. Let the fixate function make the caps writable when needed because some fixate functions might not need to modify the caps. 2012-02-22 02:02:50 +0100 Wim Taymans * gst/gstbuffer.c: * gst/gstmemory.c: * gst/gstmemory.h: * libs/gst/base/gstadapter.c: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbytewriter.c: * plugins/elements/gstfakesrc.c: * tests/check/gst/gstbuffer.c: * tests/check/gst/gstmemory.c: * tests/check/libs/bitreader.c: * tests/check/libs/bytereader.c: * tests/check/libs/typefindhelper.c: memory: make _new_wrapped take user_data and notify Make it possible to configure a GDestroyNotify and user_data for gst_memory_new_wrapped() this allows for more flexible wrapping of foreign memory blocks. 2012-02-02 13:45:25 -0500 Ryan Lortie * autogen.sh: build: avoid touching .po files during 'make' A simple workaround to deal with GNU gettext automake integration failing to deal with git. https://bugzilla.gnome.org/show_bug.cgi?id=669207 2012-02-21 21:06:17 +0000 Tim-Philipp Müller * plugins/elements/gstinputselector.c: input-selector: default to sync-streams=true I think this is the expected behaviour, and we couldn't do this in 0.10 for backwards-compatibility reasons, so change it now. 2012-02-21 16:39:05 +0100 Wim Taymans * tests/check/elements/queue.c: tests: fix queue unit test after queue changes 2012-02-21 16:38:37 +0100 Wim Taymans * plugins/elements/gstqueue.c: queue: remove some old code 2012-02-21 16:37:11 +0100 Wim Taymans * gst/gstpad.c: pad: handle NULL callbacks When we have a matching NULL callback, also consider the 'callback' marshalled, this way blocking probes with a NULL callback actually work. 2012-02-21 12:52:44 +0100 Wim Taymans * plugins/elements/gstqueue.c: queue: remove weird link behaviour Remove the link functions and always start the pad task on the srcpad. If applications need to autoplug they can put a blocking probe on the srcpad like they would with any other element. 2012-02-21 12:52:18 +0100 Wim Taymans * plugins/elements/gstfakesrc.c: fakesrc: handle pts/dts 2012-02-21 12:46:44 +0100 Wim Taymans * plugins/elements/gstfakesink.c: fakesink: remove custom marshaller 2012-02-21 12:43:18 +0100 Wim Taymans * plugins/elements/gstidentity.c: identity: also debug dts/pts 2012-02-21 12:13:28 +0100 Wim Taymans * plugins/elements/gstfakesink.c: fakesink: debug pts and dts 2012-02-21 12:12:21 +0100 Wim Taymans * plugins/elements/gstidentity.c: identity: remove custom marshaller 2011-11-24 18:40:40 +0100 Matej Knopp * tests/check/gst/gstpad.c: Unit test for queue src caps notification 2012-02-20 14:37:11 +0100 Wim Taymans * tests/check/gst/gstsegment.c: tests: fix useless segment test 2012-02-20 14:29:30 +0100 Wim Taymans * gst/gstsegment.c: segment: don't use duration in clipping Don't use the duration in the segment for calculating clipping values. The duration is expressed in stream time and clipping is done on unrelated timestamp values. This used to be interesting for elements that used the segment structure to implement seeking because then they would use stream-time for the segment start/stop values and the duration could be used as a fallback when the stop position was not set. Now that the complete segment event is passed between elements we cannot do this anymore because some elements might store the duration and start/stop values with different time bases in the segment. 2012-02-20 14:22:00 +0100 Wim Taymans * gst/gstinfo.c: info: debug segment duration as well 2012-02-20 11:46:36 +0100 Wim Taymans * libs/gst/base/gstbasetransform.c: basetransform: copy metadata when using a pool also copy the metadata when we allocated a new buffer from a pool 2012-01-26 03:02:48 -0500 Matej Knopp * libs/gst/net/gstnettimepacket.c: nettimepacket: fix printf format warning in debug message https://bugzilla.gnome.org/show_bug.cgi?id=664491 2012-02-18 01:04:18 +0100 Wim Taymans * gst/gstmemory.c: memory: fix more docs 2012-02-17 15:53:58 -0800 Edward Hervey * docs/gst/gstreamer-sections.txt: * gst/gstevent.h: * gst/gstmemory.h: doc fixups 2012-02-17 15:09:56 -0800 Edward Hervey * libs/gst/base/gstbasesrc.c: basesrc: Move variable and assignment to where it's needed 2012-02-17 15:09:06 -0800 Edward Hervey * libs/gst/base/gstbasetransform.c: basetransform: Handle return value of decide_allocation vmethod If it fails, properly propagate the error 2012-02-17 15:08:32 -0800 Edward Hervey * gst/gstvalue.c: gstvalue: Remove useless assignment 2012-02-17 15:07:56 -0800 Edward Hervey * gst/gstvalue.c: gstvalue: Gracefully handle NULL Gvalue Avoids unreferencing NULL pointer 2012-02-18 00:03:41 +0100 Wim Taymans * gst/gstpad.c: pad: make some errors critical When we have no chain function or when we are operating the pad in the wrong mode, emit a critical instead of posting an error message. This is certainly a programming error and we cannot always post a message (like when the pad has no parent) 2012-02-18 00:03:13 +0100 Wim Taymans * gst/gstinfo.c: info: also debug position of segment 2012-02-17 23:59:28 +0100 Wim Taymans * win32/common/config.h: * win32/common/gstversion.h: win32: back to development 2012-02-17 11:02:40 +0100 Wim Taymans * configure.ac: configure: back to development === release 0.11.2 === 2012-02-17 11:01:16 +0100 Wim Taymans * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/gstreamer-plugins.args: * docs/plugins/gstreamer-plugins.hierarchy: * docs/plugins/inspect/plugin-coreelements.xml: * gstreamer.doap: * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: * win32/common/config.h: * win32/common/gstenumtypes.c: * win32/common/gstversion.h: RELEASE 0.11.2 2012-02-15 17:12:09 +0100 Mark Nauwelaerts * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbaseparse.h: baseparse: tweak some documentation 2012-02-15 17:11:54 +0100 Mark Nauwelaerts * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbaseparse.h: baseparse: simplify and improve frame state handling Use a frame flag to signal to subclass it should reset any retained state w.r.t. frame parsing since the frame being passed is 'new', i.e. not related to previously passed and processed data. 2012-02-15 13:15:55 +0100 Wim Taymans * libs/gst/base/gstbaseparse.c: baseparse: don't leak event In the unlikely case where the subclass set the event function to NULL, don't leak the event. 2012-02-15 12:19:13 +0100 Wim Taymans * libs/gst/base/gstbaseparse.c: baseparse: make activation code more like other Make the pad activation code look more like other activation code. Only start the sinkpad task when we decide to activate in pull mode, when we later add srcpad pullmode this will be needed. 2012-02-15 12:18:38 +0100 Wim Taymans * gst/gsttask.c: task: add more debug 2012-02-15 11:11:11 +0100 Wim Taymans * libs/gst/base/gstbaseparse.c: baseparse: add some more debug 2012-02-15 10:58:08 +0100 Mark Nauwelaerts * libs/gst/base/gstbaseparse.c: baseparse: track consumed input size ... as used by subsequent input data rate estimation (and seeking). 2012-02-15 10:11:35 +0100 Wim Taymans * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbaseparse.h: baseparse: chain up to parent for defaults Chain up to the parent instead of using the FALSE return value from the event function (because it's otherwise impossible to return an error). 2012-02-15 10:10:53 +0100 Wim Taymans * plugins/elements/gsttypefindelement.c: typefind: don't ignore return value when starting a task 2012-02-14 20:17:37 +0100 Mark Nauwelaerts * libs/gst/base/gstbaseparse.c: baseparse: Revert "baseparse: really provide upstream ts to subclass" This reverts commit 2363490ef5a9fe8d414369d24fcaa65a9dfa83ac. 2012-02-14 19:33:50 +0100 Mark Nauwelaerts * libs/gst/base/gstbaseparse.c: baseparse: remove dead code and superfluous loop level 2012-02-14 19:33:46 +0100 Mark Nauwelaerts * libs/gst/base/gstbaseparse.c: baseparse: modify reverse playback handling ... so as to allow the push-mode case to provide data to subclass on a buffer by buffer basis (as in regular forward case), rather than all buffers of a fragment chucked together. Also refactor buffer handling some more, and add some debug. 2012-02-14 19:33:33 +0100 Mark Nauwelaerts * libs/gst/base/gstbaseparse.c: baseparse: really provide upstream ts to subclass 2012-02-14 13:24:49 +0100 Wim Taymans * plugins/elements/gsttypefindelement.c: typefind: clean up src query handler 2012-02-14 12:57:14 +0100 Wim Taymans * plugins/elements/gsttypefindelement.c: typefind: pass results from activation 2012-02-14 10:35:06 +0100 Wim Taymans Merge branch 'master' into 0.11 2012-02-14 10:30:40 +0100 Wim Taymans * win32/common/libgstbase.def: defs: update 2012-02-13 18:22:37 +0100 Mark Nauwelaerts * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbaseparse.h: baseparse: modify API to a _finish_frame based approach ... which aligns it with other baseclass in the wild, and should give converter parsers a bit cleaner freedom. 2012-02-13 18:09:51 +0100 Mark Nauwelaerts * libs/gst/base/gstbaseparse.c: baseparse: fix reverse playback ... especially for all-keyframe (audio) cases. 2012-02-13 16:33:00 +0100 Wim Taymans * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstmemory.c: * gst/gstmemory.h: * tests/check/gst/gstbuffer.c: * tests/check/gst/gstmemory.c: * win32/common/libgstreamer.def: memory: more work on refcount and writability Rename _is_writable() with _is_exclusive because the writability does not depend on the amount of references to the memory object anymore. Add accessor macros for the memory flags. Rename the GstBuffer _peek_memory() method to _get_memory() and return a reference to the memory now that we can do this without affecting writability of the memory object. Make it possible to also make this function merge the buffer memory. Add methods to replace memory in a buffer. Make some convience macros for the buffer memory functions. Fix unit tests. 2012-02-13 17:22:51 +0100 Wim Taymans * win32/common/libgstreamer.def: def: update 2012-02-13 15:18:28 +0100 Wim Taymans * gst/gstmeta.h: meta: fix typos 2012-02-12 21:17:41 +0000 Tim-Philipp Müller * docs/design/part-events.txt: docs: add a paragraph about the STREAM CONFIG event to the design docs 2012-02-12 21:04:18 +0000 Tim-Philipp Müller * gst/gstevent.c: * gst/gstevent.h: event: make _parse_nth_stream_config_header() and _parse_setup_data() return a boolean As they can fail (only one of stream headers or setup data is usually present). 2012-02-12 20:51:39 +0000 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gstevent.c: * gst/gstevent.h: * gst/gstquark.c: * gst/gstquark.h: * tests/check/gst/gstevent.c: event: rename gst_event_{set,parse}_stream_config_codec_data() to _setup_data() More generic. 2012-02-10 15:03:03 +0100 Wim Taymans Merge branch 'master' into 0.11 2012-02-10 14:58:13 +0100 Wim Taymans * gst/gstevent.c: * gst/gstmessage.c: * gst/gstquery.c: clean up object init Make an _init method where the parent mini-object and other fields are initialized. Check that the passed structure doesn't already have a parent. Use the _new_custom () constructors 2012-02-07 11:28:41 +0100 Mark Nauwelaerts * libs/gst/base/gstbaseparse.c: baseparse: bitrate mechanics should not deal with duration update ... since that is already handled by _update_duration, or should not be done altogether if the duration is determined by non-estimated means. Fixes #669502. 2012-02-10 12:45:50 +0000 Tim-Philipp Müller * docs/design/part-events.txt: docs: push_event doesn't return a flow value after all 2012-02-10 12:05:18 +0100 Wim Taymans * gst/gstpad.c: pad: silence probe debug a litte 2012-02-10 11:24:28 +0100 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: implement faster ACCEPT_CAPS query 2012-02-10 11:09:01 +0100 Wim Taymans * gst/gstcaps.c: * gst/gstpad.c: gst: add some performance logging Add some performance logging for caps copy and the slow default acceptcaps implementation 2012-01-14 19:16:01 +0100 Wim Taymans * docs/design/draft-metadata.txt: * docs/design/part-TODO.txt: * docs/design/part-bufferpool.txt: * docs/design/part-element-transform.txt: * docs/design/part-events.txt: * docs/design/part-latency.txt: * docs/design/part-meta.txt: * docs/design/part-negotiation.txt: * docs/design/part-probes.txt: * docs/design/part-query.txt: * docs/design/part-segments.txt: * docs/design/part-streams.txt: * gst/gstquery.c: docs: update and improve docs 2012-02-09 00:14:58 +0000 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gstutils.c: * gst/gstutils.h: * win32/common/libgstreamer.def: utils: remove gst_element_class_install_std_props() It's only used in one place (rtmp), and there not very well. 2012-02-08 23:47:40 +0000 Tim-Philipp Müller * plugins/elements/gstfakesink.c: * plugins/elements/gstfakesrc.c: * plugins/elements/gstidentity.c: fakesrc, identity, fakesink: do not generate last-message updates by default Default to not creating lots of overhead by doing a couple of g_strdup_printf()/g_free() per buffer or event just to generate a last-message update that rarely anyone listens to. This means that you need to enable silent=true explicitly in order to get last-message dumps in gst-launch -v now. On the upside, people won't inadvertently end up benchmarking g_strdup_printf() performance instead of gstreamer data handling performance any more. Maybe the silent property should be renamed to enable-last-message or something like that? 2012-02-08 15:16:46 +0100 Wim Taymans * gst/gstbufferpool.c: * gst/gstelement.h: * gst/gstevent.c: * gst/gstpad.c: * gst/gstpad.h: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasesrc.h: * libs/gst/base/gstcollectpads2.c: * plugins/elements/gstfdsink.c: * plugins/elements/gstfdsrc.c: * plugins/elements/gstinputselector.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstqueue.c: * plugins/elements/gstqueue2.c: * tests/check/elements/fakesink.c: * tests/check/elements/tee.c: * tests/check/gst/gstpad.c: * win32/common/config.h: * win32/common/gstenumtypes.c: * win32/common/gstenumtypes.h: * win32/common/gstmarshal.c: * win32/common/gstmarshal.h: GST_FLOW_WRONG_STATE -> GST_FLOW_FLUSHING 2012-02-08 15:34:28 +0100 Mark Nauwelaerts * plugins/elements/gstqueue.c: queue: use default query function to optionally forward query ... rather than querying peer unconditionally with possibly undesirable outcome in case of e.g. SCHEDULING query. 2012-02-08 15:03:56 +0100 Mark Nauwelaerts * libs/gst/base/gstbaseparse.c: baseparse: clean up a few minor extraneous tokens 2012-02-07 12:48:50 +0100 Mark Nauwelaerts * libs/gst/base/gstbaseparse.c: baseparse: remove closing segment handling 2012-02-08 14:45:25 +0100 Wim Taymans Merge branch 'master' into 0.11 2012-02-08 14:32:01 +0100 Wim Taymans * plugins/elements/gsttypefindelement.c: typefind: fix race in pad mode change Fixes #668909 and presumably also #669483 2012-02-08 12:57:11 +0100 Wim Taymans * gst/gstpad.c: pad: error when activation mode is wrong Post an error when we try to push on a pad activated in pull mode and pull on a pad in push mode. 2012-02-08 09:30:02 +0100 Wim Taymans * gst/gstclock.c: clock: remove method declaration too 2012-02-07 13:41:20 +0100 Stefan Sauer * gst/gstclock.c: * gst/gstclock.h: clock: remove unimplemented stats property while we can 2012-02-07 10:44:07 +0100 Wim Taymans * plugins/elements/gstfakesrc.c: fakesrc: remove custom marshaller Remove our custom marshaller. Make the buffer in the handoff signal static_scope so that it is actually writable. 2012-02-06 09:46:47 +0100 Wim Taymans * gst/gstbuffer.c: * gst/gstminiobject.c: * gst/gstpad.c: gst: improve debugging 2012-01-04 17:10:15 +0100 Havard Graff * gst/gstregistry.c: registry: fix compilation with --disable-registry __registry_reuse_plugin_scanner is only defined when GST_DISABLE_REGISTRY is not defined. gstregistry.c: In function 'gst_registry_scan_plugin_file': gstregistry.c:1131:8: error: '__registry_reuse_plugin_scanner' undeclared (first use in this function) https://bugzilla.gnome.org/show_bug.cgi?id=667284 2012-02-02 17:18:22 +0000 Vincent Penquerc'h * gst/gstbin.c: bin: reset the EOS detection machinery after sending an EOS message This will allow detecting further EOS, for instance after looping a stream without changing states. https://bugzilla.gnome.org/show_bug.cgi?id=668289 2012-01-07 23:00:12 -0500 Ryan Lortie * autogen.sh: autogen.sh: allow calling from out-of-tree https://bugzilla.gnome.org/show_bug.cgi?id=667664 2012-02-02 16:59:12 +0100 Wim Taymans * gst/gsttrace.c: trace: print caps in dump 2012-02-02 16:04:10 +0100 Wim Taymans * win32/common/libgstreamer.def: defs: update 2012-02-02 15:57:48 +0100 Wim Taymans * gst/gstmemory.c: memory: add debug and trace for GstMemory 2012-02-02 15:55:44 +0100 Wim Taymans * gst/gstobject.c: * gst/gsttrace.c: trace: don't check random pointers for objects Only see if the traced pointer is a GObject when it was registered with the special offset of -2. 2012-02-02 15:54:28 +0100 Wim Taymans * gst/gst_private.h: * gst/gstinfo.c: Update debug categories Remove some categories marked for deletion. Add a category for GstMemory. 2012-02-02 15:52:19 +0100 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gstbuffer.h: * gst/gstbufferpool.h: * gst/gstclock.c: * gst/gstclock.h: * gst/gstevent.h: * gst/gstmessage.h: * gst/gstmeta.h: * gst/gstsample.h: remove TRACE_NAME from headers 2012-02-02 13:17:38 +0100 Wim Taymans * tests/check/gst/gstbuffer.c: buffer: add new test 2012-02-02 13:15:24 +0100 Wim Taymans * plugins/elements/gstidentity.c: dentity: remove prepare_output_buffer Correctly mark passthrough on the baseclass so that it can correctly do the allocation of the output buffers. Remove our custom prepare_output_buffer function now that the baseclass is smarter. 2012-02-02 13:10:27 +0100 Wim Taymans * libs/gst/base/gstbasetransform.c: basetransform: improve prepare_output_buffer Clean up the prepare_output_buffer function. Reuse the input buffer when it is writable and when doing an in-place but non-passthrough transform. Move the copy-metadata function call to the prepare_output_buffer default function. If subclasses implement a custom prepare_output_buffer, they must also copy the metadata themselves. Remove a useless memory copy because prepare_output_buffer already did that. 2012-02-02 12:32:49 +0100 Wim Taymans * plugins/elements/gstidentity.c: identity: only map when using the memory 2012-02-02 12:32:07 +0100 Wim Taymans * plugins/elements/gstinputselector.c: * plugins/elements/gstqueue.c: * plugins/elements/gstqueue2.c: plugins: proxy allocation query 2012-02-02 12:30:14 +0100 Wim Taymans * libs/gst/base/gstbasetransform.c: basetransform: simplify code We already checked passthrough a few lines above. 2012-02-02 12:07:28 +0100 Wim Taymans * gst/gstbuffer.c: * gst/gstmemory.c: memory: add some performce debug info Add some PERFORMANCE debug lines where we copy and do other suboptimal things. 2012-02-02 12:05:37 +0100 Wim Taymans * gst/gstpad.c: * gst/gstpad.h: pad: add flag to proxy allocation query Add a flag to force the default query handler to forward the allocation query instead of discarding it. Reorder the pad flags a bit. 2012-02-02 01:30:12 +0000 Tim-Philipp Müller * gst/gsttypefind.c: * gst/gsttypefind.h: * tests/check/libs/typefindhelper.c: typefind: pass extensions as comma-separated list in a simple string Fix annoying gst_type_find_register() function signature. A simple string with comma-separated extensions works just as well and saves lines of code, casts, relocations and ultimately kittens. 2012-01-31 17:41:13 +0100 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: fix race in startup Mark renegotiate before starting the pushing thread. Do also check if we are starting in the get_range function. 2012-01-31 16:27:55 +0100 Wim Taymans * gst/gstelement.c: element: don't crash on missing template Some request pads don't have a padtemplate (mostly those from encodebin). Avoid crashing in this case. 2012-01-31 12:20:41 +0100 Stefan Sauer * libs/gst/controller/gstinterpolationcontrolsource.c: * libs/gst/controller/gstinterpolationcontrolsource.h: * libs/gst/controller/gstlfocontrolsource.c: * libs/gst/controller/gstlfocontrolsource.h: * libs/gst/controller/gsttriggercontrolsource.c: * libs/gst/controller/gsttriggercontrolsource.h: * tests/benchmarks/controller.c: * tests/check/libs/controller.c: * tests/examples/controller/audio-example.c: * tests/examples/controller/control-sources.c: * tests/examples/controller/text-color-example.c: controller: constructures for control sources return GstControlSource Don't return the specific types. In most cases there is no specific api there anyway. 2012-01-31 12:10:21 +0100 Wim Taymans * gst/gstvalue.c: * libs/gst/base/gstadapter.c: * libs/gst/base/gstbasetransform.c: * libs/gst/base/gsttypefindhelper.c: don't do logic in g_assert... 2012-01-30 19:17:00 +0100 Stefan Sauer * gst/gstobject.c: * libs/gst/controller/Makefile.am: * libs/gst/controller/gstargbcontrolbinding.c: * libs/gst/controller/gstargbcontrolbinding.h: * libs/gst/controller/gstdirectcontrolbinding.c: * libs/gst/controller/gstdirectcontrolbinding.h: * tests/benchmarks/controller.c: * tests/check/libs/controller.c: * tests/examples/controller/audio-example.c: * tests/examples/controller/control-sources.c: * tests/examples/controller/text-color-example.c: * win32/common/libgstcontroller.def: controller: rename control-bindings gst_control_binding_xxx -> gst_xxx_control_binding for consistency. 2012-01-30 14:48:44 -0200 João Paulo Pizani Flor * gst/gstpreset.h: Fixes the lack of an include directive in gst/gstpreset.h It blocked the build of external libraries depending on gstreamer-core (namely, gstreamermm). Complete bug report at https://bugzilla.gnome.org/show_bug.cgi?id=669036 2012-01-30 18:17:34 +0100 Stefan Sauer * gst/gstcontrolsource.c: controlsource: sink the floating ref control sources can be used on several control bindings. 2012-01-30 17:15:21 +0100 Wim Taymans * gst/gstbuffer.h: buffer; remove IN_CAPS buffer flag The IN_CAPS buffer flag is deprecated and should be replaced with the HEADER flag. 2012-01-30 16:09:03 +0100 Wim Taymans * win32/common/libgstreamer.def: defs; update for new api 2012-01-30 15:59:02 +0100 Wim Taymans * gst/gstquery.c: * gst/gstquery.h: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: query: pass allocator in query Place the allocator object in the ALLOCATION query instead of the name. This allows us to exchange allocators that are not in the global pool of allocators. Update elements for the new api 2012-01-30 15:57:39 +0100 Wim Taymans * gst/gstmemory.c: * gst/gstmemory.h: memory: add memory type Add memory type when registering memory allocators. Add getter for the memory type. 2012-01-29 22:58:51 +0000 Olivier Crête * plugins/elements/gstvalve.c: * plugins/elements/gstvalve.h: valve: Repush sticky events after disabling dropping 2012-01-30 13:28:34 +0100 Wim Taymans * gst/gstmemory.c: * gst/gstmemory.h: memory: add boxed GType for the allocator 2012-01-30 13:02:13 +0100 Wim Taymans * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstmemory.c: * gst/gstmemory.h: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: * win32/common/libgstreamer.def: memory: make the allocator refcounted Add refcounting to the GstAllocator object. Remove const from functions because the allocator is refcounted now. Rename the vmethods for consistency Expose the constructor for GstAllocator and add a destroy notify for the user_data. This should make it possible to create allocators that are not registered and shared globally along with the possibility to destroy them properly. Update defs with new symbols. 2012-01-30 10:30:58 +0100 Wim Taymans * win32/common/libgstreamer.def: defs: update for gap event 2012-01-30 10:07:51 +0100 Philippe Normand * gst/gst.c: * gst/gst.h: core: don't ship gsttrace.h private header Include it explicitely in gst.c and no longer include it in gst.h. That header was made private in 1969b94267b4f377ea2663876ae8720717889693. 2012-01-28 18:50:23 +0000 Tim-Philipp Müller * gst/gstevent.c: event: require a valid duration for the GAP event 2012-01-28 18:49:44 +0000 Tim-Philipp Müller * gst/gst.c: gst: ref new enum type in gst_init() 2012-01-27 18:57:21 +0000 Tim-Philipp Müller * gst/gstevent.c: docs: add some (out) annotations for stream config parser functions 2012-01-27 18:56:01 +0000 Tim-Philipp Müller * gst/gstevent.c: * gst/gstevent.h: * gst/gstquark.c: * gst/gstquark.h: * tests/check/gst/gstevent.c: event: add constructor and parse function for new GAP event (Whatever you do, don't mention the filler event.) 2012-01-27 18:37:13 +0000 Tim-Philipp Müller * gst/gstevent.h: docs: GST_EVENT_STREAM_CONFIG is implemented now 2012-01-27 17:57:58 +0000 Tim-Philipp Müller * docs/random/porting-to-0.11.txt: docs: mention codec data / stream header change in porting docs 2012-01-28 14:35:51 +0000 Olivier Crête * gst/gstcaps.c: * gst/gstiterator.c: * gst/gstpadtemplate.c: * gst/gstparse.c: * gst/gstsegment.c: * gst/gsttaglist.c: * gst/gsttypefind.c: * gst/gstvalue.c: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstindex.c: Use macros to register boxed types thread safely 2012-01-28 08:38:03 +0100 Olivier Crête * libs/gst/check/gstcheck.c: * libs/gst/check/gstcheck.h: check: Update gst_check_element_push_buffer to 0.11 style caps Pass the desired caps explicitely 2012-01-27 19:00:03 +0100 Sebastian Dröge * tools/gst-inspect.c: gst-inspect: Fix memory leak 2012-01-27 18:53:45 +0100 Sebastian Dröge * tools/gst-inspect.c: gst-inspect: Don't unref plugin features multiple times gst_plugin_feature_list_free() unrefs them too. 2012-01-27 17:50:38 +0000 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: docs: add new stream config functions to docs 2012-01-27 17:49:48 +0000 Tim-Philipp Müller * tests/check/pipelines/simple-launch-lines.c: tests: fix simple-launch-lines compilation Don't use removed API. 2012-01-27 18:46:49 +0100 Sebastian Dröge * gst/gstsegment.h: segment: Add padding to the public struct 2012-01-27 17:45:39 +0000 Tim-Philipp Müller * gst/gst.c: gst: don't ref GType for private enum for which there's no GType any more 2012-01-27 17:45:15 +0000 Tim-Philipp Müller * win32/common/libgstreamer.def: win32: update .def for new and removed API 2012-01-27 17:39:12 +0000 Tim-Philipp Müller * gst/gstevent.c: * gst/gstevent.h: * gst/gstquark.c: * gst/gstquark.h: * tests/check/gst/gstevent.c: event: add construct and parse API for the new STREAM CONFIG event codec data and stream headers don't belong into caps, since they are not negotiated. We signal them using the STREAM CONFIG event instead. 2012-01-27 18:24:43 +0100 Wim Taymans * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * gst/Makefile.am: trace: remove from public headers 2012-01-27 12:16:05 +0100 Andoni Morales Alastruey * gst/gstcaps.c: caps: fix documenation typo 2012-01-27 17:50:42 +0100 Wim Taymans * gst/gst.c: * gst/gstcaps.c: * gst/gstclock.c: * gst/gstminiobject.c: * gst/gstobject.c: * gst/gsttrace.c: * gst/gsttrace.h: * tools/gst-launch.c: trace: rework alloc tracing Remove trace, we use debug log for that Make alloc trace simpler, removing some methods. Activate alloc trace with a GST_TRACE=3 environment variable. Dump leaked objects atexit. Provide an offset in the object where the GType can be found so that more verbose info can be given for objects. Remove -T option from gst-launch because tracing is now triggered with the environment variable. 2012-01-25 12:35:43 +0000 Vincent Penquerc'h * plugins/elements/gsttypefindelement.c: typefind: answer caps queries with our typefound caps This avoids merely forwarding the event to the sink, and getting something useless such as ANY. https://bugzilla.gnome.org/show_bug.cgi?id=667571 2012-01-27 16:18:00 +0100 Sebastian Dröge * plugins/elements/gsttypefindelement.c: * plugins/elements/gsttypefindelement.h: typefind: Do typefinding from a separate thread and not from the state change function 2012-01-27 15:32:37 +0100 Wim Taymans * plugins/elements/gstqueue2.c: queue2: fix memory leak unmap the buffer memory on errors. 2012-01-27 15:32:18 +0100 Wim Taymans * gst/gst.c: * gst/gst_private.h: * gst/gstminiobject.c: trace: make alloc trace work for miniobject again 2012-01-27 15:09:35 +0100 Sebastian Dröge Merge branch 'master' into 0.11 Conflicts: libs/gst/base/gstcollectpads2.c libs/gst/base/gstcollectpads2.h 2012-01-27 15:02:52 +0100 Sebastian Dröge * libs/gst/base/gstcollectpads2.c: * libs/gst/base/gstcollectpads2.h: collectpads2: Move private fields from the public structs to private structs Fixes bug #668764. 2012-01-27 13:05:48 +0100 Stefan Sauer * libs/gst/controller/gstcontrolbindingargb.c: * libs/gst/controller/gstcontrolbindingdirect.c: * libs/gst/controller/gstinterpolationcontrolsource.c: * libs/gst/controller/gstlfocontrolsource.c: * libs/gst/controller/gsttriggercontrolsource.c: controller: no fancy utf8 chars in the gi annotations 2012-01-27 12:50:24 +0100 Wim Taymans * gst/gstdebugutils.c: * gst/gstutils.c: * libs/gst/base/gstbaseparse.c: * tests/check/libs/adapter.c: tests: fix some more leaks 2012-01-27 12:33:32 +0100 Sebastian Dröge * plugins/elements/gstqueue2.c: * plugins/elements/gstqueue2.h: queue2: Fix handling of the new stream-start event 2012-01-27 11:32:12 +0000 Vincent Penquerc'h * gst/gstplugin.c: gstplugin: add a few consts to read only data 2012-01-27 12:22:48 +0100 Stefan Sauer * libs/gst/controller/gstcontrolbindingargb.c: * libs/gst/controller/gstcontrolbindingdirect.c: * libs/gst/controller/gstinterpolationcontrolsource.c: * libs/gst/controller/gstlfocontrolsource.c: * libs/gst/controller/gsttriggercontrolsource.c: controller: add gi annotations 2012-01-27 12:14:28 +0100 Sebastian Dröge * tests/check/gst/gstutils.c: utils: Fix unit test 2012-01-27 12:10:09 +0100 Wim Taymans * tests/check/gst/gstvalue.c: tests: fix leaks 2012-01-27 11:40:37 +0100 Wim Taymans * gst/gstmemory.c: memory: avoid memory leak Unref the old memory in make_mapped. Add some debug info 2012-01-27 11:40:05 +0100 Wim Taymans * libs/gst/base/gstbasetransform.c: basetransform: avoid caps leak 2012-01-27 11:01:27 +0100 Sebastian Dröge * plugins/elements/gstfakesink.c: * plugins/elements/gstfakesrc.c: * plugins/elements/gstidentity.c: identity/fake{src,sink}: Include event type name in the debug output 2012-01-27 10:54:56 +0100 Sebastian Dröge * gst/gstevent.c: * gst/gstevent.h: event: Mark the new GAP event as non-sticky 2012-01-27 10:46:02 +0100 Sebastian Dröge * libs/gst/base/gstcollectpads2.c: * libs/gst/base/gstcollectpads2.h: collectpads2: Drop the stream-start and stream-config events by default 2012-01-27 10:42:09 +0100 Sebastian Dröge * gst/gstevent.c: event rebase 2012-01-27 10:41:07 +0100 Sebastian Dröge * libs/gst/base/gstbasesrc.c: basesrc: Send the stream-start event as first event ever 2012-01-27 10:30:43 +0100 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gstevent.c: * gst/gstevent.h: * win32/common/libgstreamer.def: event: Add constructor and docs for the new STREAM_START event 2012-01-26 19:28:01 +0100 Wim Taymans * gst/gstpad.c: * gst/gstpad.h: pad: add user data to chain functions 2012-01-26 18:56:14 +0100 Wim Taymans * libs/gst/base/gstbasetransform.c: basetransform: fix typo 2012-01-26 18:22:29 +0000 Vincent Penquerc'h * gst/gsttaglist.c: taglist: restore date/time type to GstDateTime The change to GDateTime was apparently accidental, and breaks plugins trying to feed a GstDateTime to the taglist APi. 2012-01-26 19:12:16 +0200 Peteris Krisjanis * gst/gstparse.c: gst: gst_parse_launch now returns a floating reference 2012-01-26 18:53:51 +0100 Edward Hervey * gst/gststructure.c: gststructure: Set "transfer none" to return values that shouldn't be freed 2010-12-04 18:53:55 -0800 David Schleef * gst/gstelement.c: element: call ->release_pad() to clean up pad https://bugzilla.gnome.org/show_bug.cgi?id=636011 https://bugzilla.gnome.org/show_bug.cgi?id=402562 2012-01-26 16:31:50 +0100 Wim Taymans * gst/gstevent.c: * gst/gstevent.h: event: add some more events Add some more new events that we want to implement later. 2012-01-26 15:15:21 +0100 Andoni Morales Alastruey * gst/gstmemory.c: gstmemory: add missing parameter 2012-01-26 14:57:14 +0100 Sebastian Dröge * gst/gstcaps.c: caps: Fix compiler warning 2012-01-26 14:55:30 +0100 Sebastian Dröge * gst/gstcaps.c: caps: Use correct size for caps allocation 2012-01-26 14:45:30 +0100 Sebastian Dröge * gst/gstcaps.c: * gst/gstcaps.h: caps: Make GstCaps public struct more opaque by moving the private pointer into the implementation 2012-01-26 14:33:12 +0100 Sebastian Dröge * gst/gstcaps.c: * gst/gstcaps.h: * gst/gstelementfactory.c: * gst/gstregistrychunks.c: caps: Store a pointer to GstCaps in GstStaticCaps ...instead of using hackish subclass of GstCaps, which also had some thread-safety problems. 2012-01-26 13:24:44 +0100 Wim Taymans * gst/gstevent.c: * gst/gstevent.h: * gst/gstpad.c: event: remove the sticky event index We don't use the sticky event index anymore, ordering of the events are how they were sent initially. Add some more padding between the event numbers so that we can insert new events later. 2012-01-26 10:48:02 +0000 Tim-Philipp Müller * docs/libs/gstreamer-libs-docs.sgml: * docs/libs/gstreamer-libs-sections.txt: * docs/libs/gstreamer-libs.types: * tests/check/libs/.gitignore: docs: remove collectpads from docs, fix build 2012-01-26 10:22:29 +0000 Tim-Philipp Müller * gst/gstbufferpool.c: bufferpool: use GstValueArray instead of GValueArray for storing options in the config Since GValueArray is deprecated. It's all only internal anywhere here, but if we use GstValueArray the option strings get serialized nicely in the debug logs at least. 2012-01-26 09:26:48 +0000 Tim-Philipp Müller * tools/gst-inspect.c: tools: gst-inspect: suppress deprecation warnings for G_TYPE_VALUE_ARRAY For now anyway. 2012-01-26 11:42:29 +0100 Sebastian Dröge * tests/check/Makefile.am: collectpads2: Unit test is valgrind clean now 2012-01-26 11:40:53 +0100 Sebastian Dröge * tests/check/libs/collectpads2.c: collectpads2: Fix unit test to actually work again 2012-01-26 11:38:29 +0100 Sebastian Dröge * tests/check/Makefile.am: * tests/check/libs/collectpads2.c: * tests/check/libs/gstlibscpp.cc: * tests/check/libs/libsabi.c: collectpads2: Port collectpads unit test to collectpads2 Currently fails but really shouldn't. 2012-01-26 11:01:21 +0100 Wim Taymans * gst/gstpad.c: * gst/gstpad.h: pad: add probe id to the info 2012-01-26 10:48:56 +0100 Sebastian Dröge * libs/gst/base/Makefile.am: * libs/gst/base/gstcollectpads.c: * libs/gst/base/gstcollectpads.h: * win32/common/libgstbase.def: collectpads: Remove old collectpads Still have to rename collectpads2 to collectpads before the 1.0 release. 2012-01-26 10:30:25 +0100 Sebastian Dröge * libs/gst/base/gstcollectpads2.c: * libs/gst/base/gstcollectpads2.h: collectpads2: Don't forward CAPS event automatically 2012-01-25 18:49:15 +0100 Sebastian Dröge * libs/gst/base/gstcollectpads2.c: * libs/gst/base/gstcollectpads2.h: collectpads2: Fix handling of the event function and document it The event function is supposed to forward/drop the event in any case now and takes ownership of the event. 2012-01-25 18:36:42 +0100 Jason DeRose * gst/gstpadtemplate.c: gst_pad_template_new() now returns a floating reference 2012-01-25 19:41:03 +0200 Peteris Krisjanis * gst/gstpipeline.c: gst_pipeline_new now returns a floating reference. 2012-01-25 17:27:40 +0200 Peteris Krisjanis * gst/gstutils.c: gst: gst_parse_bin_from_description returns a new reference 2012-01-25 15:14:17 +0000 Tim-Philipp Müller * gst/gstquery.c: query: use GArray for internal arrays instead of the now-deprecated GValueArray 2012-01-25 16:01:02 +0200 Peteris Krisjanis * gst/gstbin.c: * gst/gstghostpad.c: * gst/gstpad.c: gst: Changed introspection transfer flag to (transfer floating) for gst_pad_new, gst_ghost_pad_new and gst_bin_new constuctors. Fixes segfaults due of transfer full and floating ref problem. 2012-01-25 13:46:13 +0100 Thomas Vander Stichele * common: Automatic update of common submodule From c463bc0 to 7fda524 2012-01-24 14:37:25 +0100 Wim Taymans * gst/gstmemory.c: * gst/gstmemory.h: memory: add flags to the mapinfo 2012-01-20 16:10:26 +0100 Wim Taymans * gst/gstmemory.c: * gst/gstmemory.h: * tests/check/gst/gstbuffer.c: * tests/check/gst/gstmemory.c: memory: make guint8 * for easy usage 2012-01-20 14:56:49 +0100 Wim Taymans * gst/gstbuffer.c: * gst/gstmemory.c: * gst/gstmemory.h: * win32/common/libgstreamer.def: memory: add method to create mapped memory Add a method to create a GstMemory with the desired mapping. Makes a copy of the memory if it is currently in use. 2012-01-20 14:23:57 +0100 Wim Taymans * docs/manual/advanced-dataaccess.xml: * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstmemory.c: * gst/gstmemory.h: * gst/gstvalue.c: * libs/gst/base/gstadapter.c: * libs/gst/base/gstbasetransform.c: * libs/gst/base/gsttypefindhelper.c: * libs/gst/check/gstcheck.c: * plugins/elements/gstfakesink.c: * plugins/elements/gstfakesrc.c: * plugins/elements/gstfdsink.c: * plugins/elements/gstfdsrc.c: * plugins/elements/gstfilesink.c: * plugins/elements/gstfilesrc.c: * plugins/elements/gstidentity.c: * plugins/elements/gstqueue2.c: * tests/check/elements/filesink.c: * tests/check/elements/filesrc.c: * tests/check/elements/identity.c: * tests/check/elements/multiqueue.c: * tests/check/gst/gstbuffer.c: * tests/check/gst/gstmemory.c: * tests/check/gst/gstmeta.c: * tests/check/gst/gstpad.c: * tests/check/gst/gststructure.c: * tests/check/gst/gstvalue.c: * tests/check/libs/adapter.c: * tests/check/libs/bitreader.c: * tests/check/libs/bytereader.c: * tests/examples/adapter/adapter_test.c: Add new GstMapInfo Use a structure to hold info about the mapping. The application then keeps track of this state and we can use it to unmap the memory again later. 2012-01-25 11:49:50 +0100 Edward Hervey * gst/gstcontrolbinding.h: controlbindings: name is not a const It gets modified during the life of the object. Fixes build. 2012-01-25 11:43:13 +0100 Sebastian Dröge Merge branch 'master' into 0.11 2012-01-25 11:37:40 +0100 Sebastian Dröge * common: Automatic update of common submodule From 2a59016 to c463bc0 2012-01-24 21:53:14 +0100 Stefan Sauer * gst/gstcontrolbinding.c: * gst/gstcontrolbinding.h: * libs/gst/controller/gstcontrolbindingargb.c: * libs/gst/controller/gstcontrolbindingdirect.c: * libs/gst/controller/gstcontrolbindingdirect.h: * tests/check/gst/gstcontroller.c: * win32/common/libgstcontroller.def: controller: cleanup the control-binding construction This is now bindings firendly as _new is just a classic c convenience and all the work is done in a constructor. As a side effect _new never fails. Fix the tests. 2012-01-24 14:40:33 +0000 Vincent Penquerc'h * gst/gstvalue.c: gstvalue: handle NULL dest in bitmask/bitmask intersection 2011-12-01 12:43:03 +0000 Vincent Penquerc'h * tests/check/gst/gstvalue.c: tests: add basic tests for new stepped ranges https://bugzilla.gnome.org/show_bug.cgi?id=665294 2011-11-30 14:45:12 +0000 Vincent Penquerc'h * gst/gststructure.c: * gst/gstvalue.c: * gst/gstvalue.h: * win32/common/libgstreamer.def: gstvalue: add stepped ranges int and int64 ranges can now have an optional step (defaulting to 1). Members of the range are those values within the min and max bounds which are a multiple of this step. https://bugzilla.gnome.org/show_bug.cgi?id=665294 2011-11-30 17:58:07 +0000 Vincent Penquerc'h * gst/gstutils.c: * gst/gstutils.h: gstutils: add a 64 bit version of GCD calculation https://bugzilla.gnome.org/show_bug.cgi?id=665294 2011-11-04 18:26:15 +0000 Vincent Penquerc'h * gst/gstvalue.c: gstvalue: enforce identical basic types in lists, arrays https://bugzilla.gnome.org/show_bug.cgi?id=322587 2012-01-23 10:32:01 +0000 Tim-Philipp Müller * tests/benchmarks/controller.c: benchmarks: add missing include 2012-01-23 11:03:09 +0100 Stefan Sauer * gst/gstobject.c: object: register all properties in one go 2012-01-23 11:02:45 +0100 Stefan Sauer * docs/design/part-controller.txt: docs: update controller api design 2012-01-21 20:03:52 +0100 Stefan Sauer * docs/gst/gstreamer-sections.txt: * gst/gstcontrolbinding.c: * gst/gstcontrolbinding.h: * gst/gstobject.c: * libs/gst/controller/Makefile.am: * libs/gst/controller/gstcontrolbindingargb.c: * libs/gst/controller/gstcontrolbindingargb.h: * libs/gst/controller/gstcontrolbindingdirect.c: * libs/gst/controller/gstcontrolbindingdirect.h: * tests/benchmarks/controller.c: * tests/check/gst/gstcontroller.c: * tests/check/libs/controller.c: * tests/examples/controller/.gitignore: * tests/examples/controller/Makefile.am: * tests/examples/controller/audio-example.c: * tests/examples/controller/control-sources.c: * tests/examples/controller/text-color-example.c: * win32/common/libgstreamer.def: controller: allow different controlbindings Make controlbinding an abstract baseclass. Move implementation to control- binding-direct and add a control-binding-argb. Add an example. 2012-01-22 22:44:59 +0000 Tim-Philipp Müller * gst/gstformat.c: * gst/gstinfo.c: * gst/gstplugin.c: * gst/gstquery.c: * gst/gstregistry.c: * gst/gstsystemclock.c: * gst/gsttask.c: * tests/check/elements/multiqueue.c: Replace deprecated GStaticMutex with GMutex https://bugzilla.gnome.org/show_bug.cgi?id=662207 2012-01-22 15:23:13 +0000 Tim-Philipp Müller * tools/gst-inspect.c: tools: fix typo in gst-inspect debug message 2012-01-22 01:39:49 +0000 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * docs/random/porting-to-0.11.txt: * gst/gst.c: * gst/gsterror.c: * gst/gsterror.h: * gst/gstmessage.c: * tests/check/gst/gststructure.c: * win32/common/libgstreamer.def: Use GLib's type for GError instead of our own We introduced our own when GLib didn't want to add a GType for GError. But now that there is one, we can use GLib's unconditionally and remove our version. 2012-01-22 01:27:42 +0000 Tim-Philipp Müller * plugins/elements/gstmultiqueue.h: multiqueue: fix size of atomic counter 2012-01-22 01:25:22 +0000 Tim-Philipp Müller * gst/glib-compat-private.h: * gst/gst.c: * gst/gstatomicqueue.c: * gst/gstbufferpool.c: * gst/gstbus.c: * gst/gstdatetime.c: * gst/gstelementfactory.c: * gst/gsterror.c: * gst/gstpoll.c: * gst/gstsystemclock.c: * gst/gsttaglist.c: * gst/gsttagsetter.c: * gst/gsttask.c: * gst/gstutils.c: * libs/gst/base/gstbaseparse.c: * libs/gst/helpers/gst-plugin-scanner.c: * libs/gst/net/gstnetclientclock.c: * libs/gst/net/gstnettimeprovider.c: * plugins/elements/gstfakesink.c: * plugins/elements/gstfakesink.h: * plugins/elements/gstfakesrc.c: * plugins/elements/gstidentity.c: * plugins/elements/gstidentity.h: * plugins/elements/gstinputselector.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gsttee.c: * tests/benchmarks/gstbufferstress.c: * tests/benchmarks/gstclockstress.c: * tests/benchmarks/gstpollstress.c: * tools/gst-inspect.c: * tools/gst-launch.c: * tools/gst-typefind.c: Use recent GLib API unconditionally now that we depend on the latest GLib 2012-01-22 00:42:34 +0000 Tim-Philipp Müller * gst/gst.c: * gst/gsttrace.c: * gst/gsttrace.h: trace: don't use deprecated GStaticMutex API in (still) public header 2012-01-21 12:56:50 +0000 Tim-Philipp Müller * scripts/gst-uninstalled: scripts: set GI_TYPELIB_PATH in gst-uninstalled So pygi finds/uses the local g-i files. 2012-01-20 18:06:04 +0000 Vincent Penquerc'h * libs/gst/check/libcheck/check.h.in: libcheck: make the definition of fail not fail with non GCC compilers 2012-01-20 14:42:31 +0100 Stefan Sauer * docs/gst/gstreamer-sections.txt: * gst/gstobject.c: * gst/gstobject.h: * tests/benchmarks/controller.c: * tests/check/gst/gstcontroller.c: * tests/check/libs/controller.c: * tests/examples/controller/audio-example.c: * tests/examples/controller/control-sources.c: * win32/common/libgstreamer.def: controller: improve control binding handling Change _set_control_binding to _add_control_binding and take ownership. Add a _remove_control_binding function. 2012-01-20 08:27:57 +0100 Stefan Sauer * docs/gst/gstreamer-sections.txt: * gst/gstcontrolbinding.c: * gst/gstcontrolbinding.h: * gst/gstobject.c: * gst/gstobject.h: * tests/benchmarks/controller.c: * tests/check/gst/gstcontroller.c: * tests/check/libs/controller.c: * tests/examples/controller/audio-example.c: * tests/examples/controller/control-sources.c: * win32/common/libgstreamer.def: controller: remove convenience api for control sources This is needed to support multiple kinds of control-bindings. 2012-01-19 15:17:58 +0100 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: handle NULL from getcaps If the getcaps functions returns NULL, return FALSE from the CAPS query. 2012-01-19 15:17:33 +0100 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: handle lists correctly 2012-01-17 16:23:33 -0500 Colin Walters * common: * configure.ac: build: add --disable-fatal-warnings configure option It's reasonable to build from git, but not want to turn all compiler warnings into fatal errors. For example, GNOME's jhbuild helps people get newer versions of software than came from their distribution, but they may not necessarily want to hack on it. 2012-01-19 12:57:48 +0100 Mark Nauwelaerts * tests/benchmarks/gstclockstress.c: tests: clockstress: perform sanity check on thread number argument 2012-01-19 09:12:05 +0100 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gstbuffer.c: * gst/gstmemory.c: * gst/gstmemory.h: * tests/check/gst/gstmemory.c: memory improvements Make the memory object simply manage the data pointer and the maxsize and move the offset and size handling to common functionality. Use the READONLY flag to set a readonly lock. Remove the data and size fields from the unmap method. We need an explicit resize operation instead of using the unmap function. Make internal helper lock and unlock functions. Update unit test and users of the old API. 2012-01-19 11:43:53 +0000 Tim-Philipp Müller * gst/gstbus.c: docs: fix typo in bus docs 2012-01-13 17:45:17 -0500 Matej Knopp * .gitignore: .gitignore: add visual studio IDE files and OS X .DS_Store files https://bugzilla.gnome.org/show_bug.cgi?id=667899 2012-01-19 09:27:04 +0100 Wim Taymans * gst/glib-compat-private.h: * gst/gstbin.c: * gst/gstbufferpool.c: * gst/gstbus.c: * gst/gstbus.h: * gst/gstclock.c: * gst/gstclock.h: * gst/gstelement.c: * gst/gstelement.h: * gst/gstmemory.c: * gst/gstmessage.c: * gst/gstmessage.h: * gst/gstmeta.c: * gst/gstobject.c: * gst/gstobject.h: * gst/gstpad.c: * gst/gstpad.h: * gst/gstpoll.c: * gst/gsttask.c: * gst/gsttask.h: * gst/gstutils.c: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesink.h: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasesrc.h: * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstbasetransform.h: * libs/gst/base/gstcollectpads.c: * libs/gst/base/gstcollectpads.h: * libs/gst/base/gstcollectpads2.c: * libs/gst/base/gstcollectpads2.h: * libs/gst/controller/gstinterpolationcontrolsource.c: * libs/gst/controller/gstlfocontrolsource.c: * libs/gst/controller/gstlfocontrolsource.h: * libs/gst/controller/gsttimedvaluecontrolsource.c: * libs/gst/controller/gsttimedvaluecontrolsource.h: * libs/gst/controller/gsttriggercontrolsource.c: * plugins/elements/gstdataqueue.c: * plugins/elements/gstdataqueue.h: * plugins/elements/gstinputselector.c: * plugins/elements/gstinputselector.h: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstmultiqueue.h: * plugins/elements/gstqueue.c: * plugins/elements/gstqueue.h: * plugins/elements/gstqueue2.c: * plugins/elements/gstqueue2.h: * plugins/elements/gsttee.c: * plugins/elements/gsttee.h: * tests/benchmarks/gstbufferstress.c: * tests/benchmarks/gstpollstress.c: * tests/check/gst/gsttask.c: Update for new gthread API 2012-01-18 16:52:55 +0100 Sebastian Dröge * configure.ac: configure.ac: GIO check is now in gst-glib2.m4 2012-01-18 16:45:51 +0100 Sebastian Dröge * common: Automatic update of common submodule From 0807187 to 2a59016 2012-01-18 16:14:51 +0100 Sebastian Dröge * configure.ac: configure.ac: Require GLib 2.31.10 and improve GIO check 2012-01-18 12:07:46 +0100 Sebastian Dröge * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstbasetransform.h: basetransform: Always call ::propose_allocation vfunc And only forward the allocation query if we're working in passthrough mode if no ::propose_allocation is implemented. In place buffer transformations will change the buffer content and require explicit handling of all metas. 2012-01-18 11:37:57 +0100 Sebastian Dröge * gst/gstpad.c: pad: Don't forward the allocation query by default This has to be handled explicitely by elements to make sure that they support all the metas passed in the allocation query. Metas have to supported explicitely, otherwise the query will fail. All elements in a chain need to support a specific meta to allow its usage. 2012-01-18 01:31:56 +0000 Tim-Philipp Müller * gst/gstbufferpool.c: * gst/gstmemory.c: * gst/gstmeta.c: gst: suppress some more deprecated thread api until we fix it up Which should be soon, since we already depend on an unstable glib for -base. 2012-01-18 01:18:33 +0000 Tim-Philipp Müller * win32/common/libgstnet.def: * win32/common/libgstreamer.def: win32: update .def files for api changes 2012-01-17 23:57:44 +0000 Tim-Philipp Müller * configure.ac: * libs/gst/Makefile.am: configure: remove --disable-net option and always build libgstnet It should work everywhere now, and -base and -good depend on the GstNetMeta API. 2012-01-17 23:52:07 +0000 Tim-Philipp Müller * configure.ac: * libs/gst/net/Makefile.am: configure: remove some socket cruft 2010-05-05 16:33:51 +0100 Tim-Philipp Müller * configure.ac: * libs/gst/net/Makefile.am: * libs/gst/net/gstnetclientclock.c: * libs/gst/net/gstnetclientclock.h: * libs/gst/net/gstnettimepacket.c: * libs/gst/net/gstnettimepacket.h: * libs/gst/net/gstnettimeprovider.c: * libs/gst/net/gstnettimeprovider.h: * tests/check/Makefile.am: * tests/check/libs/gstnettimeprovider.c: net: port to use gio's networking API Some warts still, but it's a start. 2012-01-17 16:50:13 +0100 Sebastian Dröge * libs/gst/net/Makefile.am: net: Add GIO to the gi-scanner packages 2012-01-16 13:34:28 +0100 Sebastian Dröge * configure.ac: * libs/gst/net/Makefile.am: * libs/gst/net/gstnetaddressmeta.c: * libs/gst/net/gstnetaddressmeta.h: * pkgconfig/gstreamer-net-uninstalled.pc.in: * pkgconfig/gstreamer-net.pc.in: netaddressmeta: Use GSocketAddress instead of our own wrapper type 2012-01-16 15:57:35 +0100 Wim Taymans * gst/gstbuffer.c: * gst/gstmemory.c: * gst/gstmemory.h: * tests/check/gst/gstmemory.c: memory: make writability check into a method Use a method to check for writability instead of a macro so that we can change the implementation more easily. 2012-01-16 12:24:48 +0100 Wim Taymans * tests/check/gst/gstmemory.c: tests: improve memory test 2012-01-16 12:24:20 +0100 Wim Taymans * gst/gstbuffer.c: buffer: improve docs 2012-01-11 10:59:53 +0100 Mark Nauwelaerts * libs/gst/base/gstadapter.c: adapter: ensure automagic _unmap in some more cases 2011-11-15 17:42:56 +0000 Vincent Penquerc'h * libs/gst/base/gstadapter.c: adapter: automatically unmap on clearing When _clear gets called between _map and _unmap, buffers will be unreffed. If the adapter was mapped, memory leaks may occur. While calling _clear between _map and _unmap does not seem like such a great idea, this is possible in the audio encoder base class, as _clear may be called in _finish_frame. Since the audio encoder relies on flushing to keep track of timestamps, delaying flushing till after handle_frame seems dangerous. So, we unmap on clear, as the next unmap will do nothing. This makes _clear safe to call between _map and _unmap, while avoiding leaking the mapped buffer. https://bugzilla.gnome.org/show_bug.cgi?id=664133 2012-01-13 14:20:33 +0100 Mark Nauwelaerts * libs/gst/base/gstbasesrc.c: basesrc: prevent unlikely caps leak 2012-01-13 10:43:12 +0000 Vincent Penquerc'h * tools/gst-inspect.c: gst-inspect: plug factory leak on error 2012-01-13 00:22:03 +0000 Tim-Philipp Müller Merge remote-tracking branch 'origin/master' into 0.11 Conflicts: tools/gst-inspect.c 2012-01-12 20:46:27 +0000 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * docs/random/porting-to-0.11.txt: * gst/gstcaps.c: * gst/gststructure.c: * gst/gsttaglist.c: * gst/gstvalue.c: * gst/gstvalue.h: * tests/check/gst/gstvalue.c: * win32/common/libgstreamer.def: Remove GST_TYPE_DATE, our own GDate type Which we had to add because GLib didn't have it back in the day. Port everything to plain old G_TYPE_DATE, which is also a boxed type. Ideally we'd just use GDateTime for everything, but it doesn't support not setting some of the fields unfortuntely (which would be very useful for tag handling in general, if we could express 2012-01 for example). https://bugzilla.gnome.org/show_bug.cgi?id=666351 2012-01-12 19:53:11 +0000 Antoine Tremblay * libs/gst/base/gstbaseparse.c: baseparse: clear adapter in reset so baseparse is reusable GstBaseParse was not clearing its adapter on reset causing problems when a pipeline went for example from PLAYING to NULL state and then back to PLAYING again. The data from the last stream would be used in the parser. https://bugzilla.gnome.org/show_bug.cgi?id=667444 2012-01-12 15:50:53 +0000 Vincent Penquerc'h * tools/gst-inspect.c: gstinspect: fix features and list leaks 2012-01-12 11:03:10 +0100 Edward Hervey * win32/common/libgstreamer.def: win32: add new API to .def file 2012-01-11 12:19:20 +0000 Vincent Penquerc'h * gst/gststructure.c: gststructure: clarify _get docs about the returned reference https://bugzilla.gnome.org/show_bug.cgi?id=667689 2012-01-10 13:00:07 +0100 Sebastian Dröge Merge branch 'master' into 0.11 2012-01-06 16:39:04 +0100 Edward Hervey * plugins/elements/gsttypefindelement.c: typefind: Send caps again after activation Avoids ending up in cases where typefind gets activated in pull-mode and caps never get sent. https://bugzilla.gnome.org/show_bug.cgi?id=667337 2012-01-09 15:59:09 +0000 Christian Fredrik Kalager Schaller * gstreamer.spec.in: Add latest specfile changes 2012-01-09 15:58:45 +0000 Christian Fredrik Kalager Schaller * gst/gstdebugutils.h: Also add headerfile 2012-01-09 15:57:51 +0000 Christian Fredrik Kalager Schaller * gst/gstdebugutils.c: Fix dotfile API to be exported since macros can't be GI bound 2012-01-09 13:19:04 +0000 Tim-Philipp Müller * tests/check/gst/.gitignore: tests: ignore new memory test binary 2012-01-09 03:14:41 -0500 Matej Knopp * gst/gstmemory.c: * libs/gst/controller/gsttriggercontrolsource.c: Fix printf format build warnings 2012-01-09 13:10:10 +0000 Tim-Philipp Müller * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/eo.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: po: update translations for new strings 2012-01-06 15:01:24 +0100 Edward Hervey * gst/gstvalue.c: gstvalue: Allow NULL dest when subtracting bitmask Happens when checking for subsets of caps 2012-01-06 13:32:55 +0100 Wim Taymans * gst/gstbuffer.c: buffer: ensure writable memory in memset 2012-01-06 13:10:18 +0100 Wim Taymans * docs/design/part-memory.txt: * gst/gstmemory.c: * gst/gstmemory.h: * tests/check/gst/gstmemory.c: memory: check semantics of nested mappings Count how many mappings are currently active and also with what access pattern. Update the design doc with restrictions on the access patterns for nested mappings. Check if nested mappings obey the access mode restrictions of the design doc. Add various unit tests to check the desired behaviour. 2012-01-06 13:06:32 +0100 Wim Taymans * plugins/elements/gstqueue2.c: queue2: unmap with the right data pointer Use the original data pointer to unmap the buffer memory. 2012-01-06 10:39:46 +0100 Wim Taymans * gst/gstmemory.c: docs: improve memory docs 2012-01-06 07:02:36 +0100 Wim Taymans * gst/gstmemory.c: * tests/check/gst/gstmemory.c: memory: handle -1 size in unmap handle -1 in unmap correctly when the offset is modified. 2012-01-06 06:43:08 +0100 Wim Taymans * gst/gstmemory.c: * tests/check/gst/gstmemory.c: memory: improve semantics of unmap Make an unmap call with a different data pointer than the map call update the offset field. This allows for both offset and size adjustements in the unmap call. 2011-11-29 14:22:44 +0100 Havard Graff * libs/gst/base/gstbasesink.c: basesink: don't compensate for render-delay twice https://bugzilla.gnome.org/show_bug.cgi?id=667298 2012-01-05 18:15:20 +0100 Wim Taymans * gst/gstmemory.c: * tests/check/gst/gstmemory.c: memory: add more checks Add check for mapping and resizing 2012-01-05 17:28:28 +0100 Wim Taymans * docs/design/part-memory.txt: * gst/gstmemory.c: * tests/check/gst/gstmemory.c: memory: take offset into account Take the offset into account whem mapping and unmapping the buffer. 2012-01-05 17:02:48 +0100 Wim Taymans * docs/design/part-memory.txt: docs: clarify resize and current mappings 2012-01-05 16:41:58 +0100 Wim Taymans * docs/design/part-memory.txt: * tests/check/gst/gstmemory.c: memory: clarify nested mappings, add unit test 2012-01-05 12:30:00 +0000 Tim-Philipp Müller * win32/common/libgstreamer.def: win32: add new API to .def file 2012-01-05 13:22:42 +0100 Wim Taymans * tests/check/gst/gstmemory.c: tests: add more memory unit tests Check for unmap with invalid size 2012-01-05 13:11:05 +0100 Wim Taymans * gst/gstmemory.c: * tests/check/Makefile.am: * tests/check/gst/gstmemory.c: tests: add unit test for GstMemory Add a GstMemory unit test Add some more asserts in GstMemory to catch invalid cases. 2012-01-05 13:09:29 +0100 Wim Taymans * libs/gst/check/gstcheck.h: check: add macro to check for memory refcount 2012-01-05 12:39:17 +0100 Wim Taymans * docs/design/part-memory.txt: improve docs a little 2011-12-16 13:11:36 +0100 Sebastian Dröge * tests/check/gst/gstvalue.c: value: Add tests for the bitmask type 2011-12-16 12:39:15 +0100 Sebastian Dröge * gst/gststructure.c: structure: Add "bitmask" as alias for (GstBitmask) when (de-)serializing values 2011-12-16 12:32:26 +0100 Sebastian Dröge * gst/gstvalue.c: * gst/gstvalue.h: value: Add 64-bit bitmask type 2012-01-01 16:32:27 +0100 Idar Tollefsen * autogen.sh: build: don't output configure options via autogen if $NOCONFIGURE is set https://bugzilla.gnome.org/show_bug.cgi?id=667296 2012-01-05 00:30:30 +0000 Tim-Philipp Müller * gst/gst-i18n-app.h: * gst/gst-i18n-lib.h: gst: include locale.h before any other i18n headers This is also how we do it in -base. https://bugzilla.gnome.org/show_bug.cgi?id=667290 2012-01-01 16:46:04 +0100 Idar Tollefsen * gst/gst_private.h: * gst/gstconfig.h.in: gstconfig.h: adds and uses SunPro visibility attribute for proper function exports Define GST_EXPORT for SunPro. https://bugzilla.gnome.org/show_bug.cgi?id=667289 2012-01-01 16:47:14 +0100 Idar Tollefsen * plugins/elements/gstfdsrc.c: * plugins/elements/gstinputselector.c: plugins: explicitly cast initialization values to the correct type https://bugzilla.gnome.org/show_bug.cgi?id=667288 2012-01-01 20:17:41 +0100 Idar Tollefsen * gst/gstpoll.c: poll: include correct poll.h based on autoconf test https://bugzilla.gnome.org/show_bug.cgi?id=667286 2012-01-04 23:46:19 +0000 Tim-Philipp Müller * configure.ac: configure: check for sys/poll.h https://bugzilla.gnome.org/show_bug.cgi?id=667286 2012-01-04 19:50:01 +0000 Tim-Philipp Müller * common: Automatic update of common submodule From a62f3d4 to 0807187 2012-01-04 10:04:11 +0100 Wim Taymans * gst/gstbuffer.h: buffer: only reserve 6 extra flags Only reserve 6 extra flags instead of 10 so that more media specific flags are available. 2012-01-03 15:26:54 +0100 Wim Taymans * plugins/elements/gstdataurisrc.c: GST_FLOW_UNEXPECTED -> GST_FLOW_EOS 2012-01-03 15:25:31 +0100 Wim Taymans * gst/gstcompat.h: * libs/gst/base/gstcollectpads2.c: GST_FLOW_UNEXPECTED -> GST_FLOW_EOS 2012-01-03 15:05:47 +0100 Wim Taymans * gst/gstcompat.h: compat: restore UNEXPECTED 2012-01-03 15:03:38 +0100 Wim Taymans * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * gst/gstcompat.h: * gst/gstelement.h: * gst/gstmemory.c: * gst/gstregistry.c: * gst/gstsample.c: docs: fix some docs 2012-01-03 14:45:08 +0100 Wim Taymans * win32/common/libgstreamer.def: defs: update 2012-01-03 14:43:05 +0100 Wim Taymans * gst/gsttaglist.c: * gst/gsttaglist.h: taglist: avoid exposing the lists in tags 2012-01-03 13:42:12 +0100 Wim Taymans * gst/gsttaglist.c: * gst/gsttaglist.h: taglist: add missing functions Add missing and essential functions now that we can't directly use GstStructure methods on the taglist anymore. 2012-01-03 10:42:31 +0100 Wim Taymans * gst/gstvalue.h: value: add macro to check if a gvalue holds a sample 2012-01-02 15:47:46 +0100 Wim Taymans * docs/manual/advanced-autoplugging.xml: docs: fix build of docs examples Update for registry method rename 2012-01-02 15:39:02 +0100 Wim Taymans * libs/gst/base/gstbaseparse.c: baseparse: turn assert into a real error Post a real error instead of just asserting. 2012-01-02 15:38:25 +0100 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: handle latency event 2012-01-02 02:32:49 +0000 Tim-Philipp Müller * gst/gstregistry.c: * gst/gstregistry.h: * tests/check/gst/gstplugin.c: * win32/common/libgstreamer.def: registry: get rid of gst_default_registry_*() convenience macros They're not really worth it: hardly save any typing, and aren't great for bindings or gobject-introspection. 2012-01-02 02:22:51 +0000 Tim-Philipp Müller * docs/random/porting-to-0.11.txt: * gst/gst.c: * gst/gstelementfactory.c: * gst/gstplugin.c: * gst/gstpluginfeature.c: * gst/gstpluginloader.c: * gst/gstregistry.c: * gst/gstregistry.h: * gst/gsttypefind.c: * gst/gsttypefindfactory.c: * gst/gsturi.c: * libs/gst/check/gstcheck.c: * tests/check/generic/states.c: * tests/check/gst/gstplugin.c: * tests/check/gst/gstregistry.c: * tools/gst-inspect.c: * win32/common/libgstreamer.def: registry: rename gst_registry_get_default() to gst_registry_get() It's not really a default if there is only one that can't be changed. Should we return a ref like e.g. g_volume_monitor_get() does? 2012-01-02 02:21:40 +0000 Tim-Philipp Müller Merge remote-tracking branch 'origin/master' into 0.11 Conflicts: gst/gsttaglist.c plugins/elements/gstoutputselector.c 2012-01-02 00:17:17 +0000 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gsttaglist.c: * gst/gsttaglist.h: tags: add GST_TAG_LANGUAGE_NAME API: GST_TAG_LANGUAGE_NAME 2012-01-01 20:59:22 +0100 Stefan Sauer * docs/design/part-controller.txt: docs: update controller design doc 2012-01-01 20:57:34 +0100 Stefan Sauer * tests/check/libs/controller.c: controller: rename some tests 2012-01-01 20:55:20 +0100 Stefan Sauer * gst/gstcontrolbinding.c: * tests/check/libs/controller.c: controller: support control mapping for enums Add a mapping for enum types (supporting sparse enums). Add a test. 2012-01-01 20:43:51 +0100 Stefan Sauer * tests/check/gst/gstcontroller.c: * tests/check/libs/controller.c: * tests/examples/controller/control-sources.c: controller: remove nonsense parts from test object property descriptions 2012-01-01 18:54:23 +0100 Stefan Sauer * libs/gst/controller/gstinterpolationcontrolsource.c: interpolationcontrolsource: fix cubic interpolation for arrays 2012-01-01 18:50:55 +0100 Stefan Sauer * tests/examples/controller/control-sources.c: audio-example: also plot reverse-saw 2012-01-01 18:43:23 +0100 Stefan Sauer * libs/gst/controller/gstlfocontrolsource.c: lfocontrolsource: cleanups and fix triangle calculations 2012-01-01 18:34:12 +0100 Stefan Sauer * tests/examples/controller/audio-example.c: audio-example: fix the example We need to scale the frequency values. 2012-01-01 15:16:06 +0100 Stefan Sauer * libs/gst/controller/gstlfocontrolsource.c: * tests/examples/controller/control-sources.c: lfocontrolsource: make chainable Now the properties of this controlsource are in turn controlable. Add an example to show the usage. 2012-01-01 15:01:22 +0100 Stefan Sauer * libs/gst/controller/gstinterpolationcontrolsource.c: controller: add logging and fix array functions 2012-01-01 14:55:35 +0100 Stefan Sauer * tests/check/libs/controller.c: controller: cleanup the tests 2012-01-01 14:28:54 +0100 Stefan Sauer * gst/gstcontrolbinding.c: controller: add more debug logging 2011-12-31 17:37:20 -0800 David Schleef * tests/check/Makefile.am: convert Makefile spaces to tabs 2011-12-31 15:52:18 +0100 Stefan Sauer * tests/examples/controller/control-sources.c: controller: also test array functions Improve the example to also collect value arrays and plot them. 2011-12-31 15:26:26 +0100 Stefan Sauer * gst/gstobject.c: controller: remove obsolete FIXME comment 2011-12-31 09:56:53 +0100 Stefan Sauer * tests/check/libs/controller.c: controller: fix tests Set a defined value to check for no-change. 2011-12-30 18:35:40 +0100 Stefan Sauer * gst/gstcontrolsource.c: * gst/gstcontrolsource.h: * tests/benchmarks/controller.c: * tests/check/gst/gstcontroller.c: * tests/check/libs/controller.c: * tests/examples/controller/audio-example.c: * tests/examples/controller/control-sources.c: control-sources: turn into GstObjects This is a preparation for chaining them. 2011-12-30 19:37:31 +0000 Tim-Philipp Müller * gst/gstmarshal.list: * gst/gstregistry.c: * gst/gstregistry.h: registry: remove padding and signal vfuncs And fix signal GTypes and marshaller. No one will ever need to subclass our registry, so just remove the padding and the signal vfuncs. 2011-12-30 15:39:55 +0000 Tim-Philipp Müller * tests/check/Makefile.am: tests: disable GstIndex unit test 2011-12-30 15:31:17 +0000 Tim-Philipp Müller * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstindex.c: * libs/gst/base/gstindex.h: * libs/gst/base/gstmemindex.c: index: rename GstAssocFlags to GstIndexAssociationFlags Just in case we resurrect this later. 2011-12-30 15:24:52 +0000 Tim-Philipp Müller * libs/gst/base/gstindex.c: * libs/gst/base/gstindex.h: * libs/gst/base/gstmemindex.c: base: disable unused index API and make functions static It's simply private helper API for now, until someone fixes up GstBaseParse not to need it any more. 2011-12-30 15:24:32 +0000 Tim-Philipp Müller * win32/common/libgstreamer.def: win32: remove index API from .def file 2011-12-30 15:06:34 +0000 Tim-Philipp Müller * gst/gstelement.h: element: add LARGE padding to class structure Four slots for expansion is not a lot. 2011-12-30 15:03:02 +0000 Tim-Philipp Müller * configure.ac: * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * docs/gst/gstreamer.types.in: * gst/Makefile.am: * gst/gst.c: * gst/gst.h: * gst/gstbin.c: * gst/gstelement.c: * gst/gstelement.h: * gst/gstindexfactory.c: * gst/gstindexfactory.h: * gst/gstregistrybinary.c: * gst/gstregistrychunks.c: * libs/gst/base/Makefile.am: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstindex.c: * libs/gst/base/gstindex.h: * libs/gst/base/gstmemindex.c: * plugins/Makefile.am: * plugins/indexers/.gitignore: * plugins/indexers/Makefile.am: * plugins/indexers/gstfileindex.c: * plugins/indexers/gstindexers.c: * plugins/indexers/gstindexers.h: * tools/gst-inspect.c: * tools/gst-launch.c: index: remove GstIndex and GstIndexFactory for now There are many good use cases for GstIndex and we want to add it back again in some form, but possibly not with the current API, which is very powerful (maybe too powerful), but also a bit confusing. At the very least we'd need to make the API bindings-friendly. 2011-12-30 17:57:41 +0100 Stefan Sauer * gst/gst.c: gst: unref the two cotnroller types in _deinit() 2011-12-30 17:51:01 +0100 Stefan Sauer * tests/check/gst/gstcontroller.c: controller: add more tests to core controller suite Extend the dummy control-source to allow testing the sync code path. Add test for 1:1 and 2:1 value <-> control-source sync. 2011-12-30 13:52:08 +0100 Stefan Sauer * tests/check/gst/gstcontroller.c: controller: add a test for bindings control sources multiple times 2011-12-30 12:59:46 +0000 Tim-Philipp Müller * gst/math-compat.h: math-compat: move static variable for NAN into #ifndef NAN block And use G_GNUC_UNUSED instead of __attribute_used__ 2011-12-30 13:32:18 +0100 Stefan Sauer * gst/math-compat.h: * libs/gst/controller/gstinterpolationcontrolsource.c: * libs/gst/controller/gsttriggercontrolsource.c: controller: use NAN instead of FP_NAN (which is the class) Also add a fallback define to math-compat.h. Fixes #666887 2011-12-29 16:56:46 -0300 Thiago Santos * plugins/elements/gstoutputselector.c: output-selector: Do not false warn about unlinked pad When output-selector didn't receive a newsegment event it would warn about pad being unlinked when switching pads. Making the logs wrong and misleading. 2011-12-29 16:49:39 +0100 Edward Hervey Merge remote-tracking branch 'origin/master' into 0.11 2011-12-28 15:13:09 +0100 Edward Hervey * tests/check/gst/gstpad.c: tests: Fix leak in pad check 2011-12-28 14:51:50 +0100 Wim Taymans * gst/gst.c: gst: deinit meta flags too 2011-12-28 12:25:59 +0100 Edward Hervey * gst/gst.c: gst: Initialize new GstMetaFlags in init_post() 2011-12-01 19:05:59 +0100 Edward Hervey * gst/gstquery.c: gstquery: Small doc fixups 2011-12-16 02:20:27 +0100 Matej Knopp * gst/gstbuffer.h: * gst/gstbufferlist.h: * gst/gstcaps.h: * gst/gstevent.h: * gst/gstinfo.h: * gst/gstmemory.h: * gst/gstsample.h: * gst/gststructure.h: * gst/gsttrace.h: win32: fix exported variables for VS 2010 https://bugzilla.gnome.org/show_bug.cgi?id=666219 2011-12-27 13:48:36 +0100 Stefan Sauer * libs/gst/controller/gsttriggercontrolsource.c: triggercontrolsource: fix control reaches end of non-void function Return NAN and check the value further up. Fixes #666890 2011-12-27 11:40:40 +0000 Tim-Philipp Müller * libs/gst/controller/gsttriggercontrolsource.c: controller: quick-fix compiler warning breaking the build This is likely not the proper fix. https://bugzilla.gnome.org/show_bug.cgi?id=666890 2011-12-27 11:35:28 +0000 Tim-Philipp Müller * tests/check/gst/gstplugin.c: tests: can't access private registry structure members directly any longer 2011-12-27 11:24:48 +0000 Tim-Philipp Müller * libs/gst/controller/gstinterpolationcontrolsource.c: controller: fix compiler warning in interpolation control source gstinterpolationcontrolsource.c:54: warning: type qualifiers ignored on function return type https://bugzilla.gnome.org/show_bug.cgi?id=666890 2011-12-26 18:44:39 +0000 Tim-Philipp Müller * plugins/elements/gstfilesrc.c: filesrc: remove "fd" property It's no longer useful, since we don't use mmap any more anyway, and we might use a different API for I/O in future (such as GIO). 2011-12-26 18:41:13 +0000 Tim-Philipp Müller * gst/gst_private.h: * gst/gstplugin.c: * gst/gstregistry.c: * gst/gstregistry.h: * gst/gstregistrybinary.c: registry: move private bits into private struct 2011-12-26 11:26:05 +0000 Tim-Philipp Müller * gst/gstvalue.c: value: micro-optimisation: avoid some unnecessary g_value_unset() We know there's nothing to do here and can save us the function calls and GValueTable lookups. 2011-12-25 23:41:03 +0000 Tim-Philipp Müller * Android.mk: * configure.ac: * docs/libs/gstreamer-libs-docs.sgml: * docs/libs/gstreamer-libs-sections.txt: * gstreamer.spec.in: * libs/gst/Makefile.am: * libs/gst/dataprotocol/.gitignore: * libs/gst/dataprotocol/Makefile.am: * libs/gst/dataprotocol/dataprotocol.c: * libs/gst/dataprotocol/dataprotocol.h: * libs/gst/dataprotocol/dp-private.h: * pkgconfig/Makefile.am: * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in: * pkgconfig/gstreamer-dataprotocol.pc.in: * scripts/gst-uninstalled: * tests/check/Makefile.am: * tests/check/gst/.gitignore: * tests/check/libs/gdp.c: * tests/check/libs/gstlibscpp.cc: * tests/check/libs/libsabi.c: * win32/MANIFEST: * win32/vs6/gstreamer.dsw: * win32/vs6/libgstdataprotocol.dsp: libs: remove gdp dataprotocol library Made private and moved to gdp plugin in -base for the time being, until we figure out what we do with gdp and 0.11. 2011-12-25 21:02:41 +0000 Tim-Philipp Müller * tests/benchmarks/controller.c: tests: fix unused-variable compiler warning 2011-12-25 21:01:43 +0000 Tim-Philipp Müller * win32/common/libgstcontroller.def: * win32/common/libgstreamer.def: win32: update exports for new API 2011-12-25 20:49:41 +0100 Stefan Sauer * docs/design/part-controller.txt: docs: add the start of a design document for controller 2011-12-25 18:49:01 +0100 Stefan Sauer * tests/check/Makefile.am: * tests/check/gst/gstcontroller.c: * tests/check/libs/controller.c: controller: split and cleanup the tests The controller object was once copied from buzztards unit tests. Change TestMonoSource to TestObj as it is not a full fledged element. Split the tests into a core and library test suite. 2011-12-22 23:48:30 +0100 Stefan Sauer * docs/gst/gstreamer-sections.txt: * docs/random/porting-to-0.11.txt: * gst/gstcontrolbinding.c: * gst/gstcontrolbinding.h: * gst/gstcontrolsource.c: * gst/gstcontrolsource.h: * gst/gstobject.c: * gst/gstobject.h: * libs/gst/controller/Makefile.am: * libs/gst/controller/gstinterpolation.c: * libs/gst/controller/gstinterpolationcontrolsource.c: * libs/gst/controller/gstinterpolationcontrolsourceprivate.h: * libs/gst/controller/gstlfocontrolsource.c: * libs/gst/controller/gstlfocontrolsourceprivate.h: * libs/gst/controller/gsttimedvaluecontrolsource.c: * libs/gst/controller/gsttimedvaluecontrolsource.h: * libs/gst/controller/gsttriggercontrolsource.c: * tests/benchmarks/controller.c: * tests/check/libs/controller.c: * tests/check/libs/gstlibscpp.cc: * tests/examples/controller/.gitignore: * tests/examples/controller/Makefile.am: * tests/examples/controller/audio-example.c: * tests/examples/controller/control-sources.c: controller: move GValue handling from control-sources to -binding ControlSources are now gdouble based. A control source is mapped to a particullar GObject property using a ControlBinding. 2011-12-20 22:36:18 +0100 Stefan Sauer * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * docs/gst/gstreamer.types.in: * gst/Makefile.am: * gst/gst.c: * gst/gstcontrolbinding.c: * gst/gstcontrolbinding.h: * gst/gstcontrolsource.c: * gst/gstobject.c: * gst/gstobject.h: * libs/gst/controller/gsttimedvaluecontrolsource.c: * tests/check/libs/controller.c: controller: move GstControlledProperty into a separate class Add a GstControlBinding class. This is a preparation for making the controlsources generate double valued control curves and do the gparamspec mapping in the control binding. Now the API in GstObject is again mostly for convenience. 2011-12-25 12:47:55 +0000 Tim-Philipp Müller Merge remote-tracking branch 'origin/master' into 0.11 Conflicts: plugins/elements/gstfilesrc.c 2011-12-25 12:39:49 +0000 Tim-Philipp Müller * plugins/elements/gstfilesrc.c: filesrc: return any remaining data on EOS before returning FLOW_UNEXPECTED 2011-12-25 12:29:46 +0000 Tim-Philipp Müller * plugins/elements/gstfilesrc.c: filesrc: minor cosmetic changes Rename woffset variable, maintain separate bytes_read in addition to length variable. 2011-12-25 12:13:57 +0000 Tim-Philipp Müller * libs/gst/base/gstcollectpads2.c: collectpads2: fix up compilation after merge 2011-12-25 11:58:12 +0000 Tim-Philipp Müller Merge remote-tracking branch 'origin/master' into 0.11 Conflicts: libs/gst/base/gstbasetransform.c libs/gst/controller/gstinterpolationcontrolsource.c libs/gst/controller/gstlfocontrolsource.c plugins/elements/gstfilesrc.c Dit not merge controller or basetransform changes. 2011-12-24 14:59:16 -0300 Thiago Santos * docs/random/porting-to-0.11.txt: porting: update porting-to-0.11 Update gst_pad_get_caps -> gst_pad_query_caps change 2011-12-23 15:37:45 +0100 Wim Taymans * gst/gstbufferpool.c: * gst/gstbufferpool.h: bufferpool: cleanup metadata in reset_buffer Use the reset_buffer vmethod to remove the unpooled metadata from the buffer. 2011-12-22 16:00:28 +0100 Wim Taymans * win32/common/libgstreamer.def: def: update for new symbols 2011-12-22 15:55:29 +0100 Wim Taymans * gst/gstbufferpool.c: bufferpool: handle metadata in the pool Mark all metadata on the allocated buffers with a POOLED flag. When a buffer returns to the pool, remove all metadata that did not have the POOLED flag. This makes sure that we never leave unknown metadata to the buffers in the pool. 2011-12-22 15:54:03 +0100 Wim Taymans * gst/gstbuffer.c: * gst/gstbuffer.h: buffer: add foreach function for the metadata 2011-12-22 15:53:19 +0100 Wim Taymans * gst/gstbufferlist.c: bufferlist: small doc fix 2011-12-22 15:52:08 +0100 Wim Taymans * gst/gstbuffer.c: * gst/gstmeta.h: meta: add metadata flags Add metadata flags so that we can set extra properties of the metadata 2011-12-02 14:10:32 +0100 Mark Nauwelaerts * gst/gstpipeline.c: pipeline: only have a top-level pipeline do pipeline management Fixes #665390. 2011-12-22 11:08:42 +0000 Tim-Philipp Müller * libs/gst/controller/gstinterpolationcontrolsource.c: controller: fix GType name of interpolation mode enum 2011-12-21 11:13:47 +0100 Wim Taymans * win32/common/libgstreamer.def: def: update 2011-12-21 11:08:34 +0100 Wim Taymans * gst/gstcaps.c: * gst/gstcaps.h: caps: rename variable for consistency Rename the variable for GST_CAPS_NONE to _gst_caps_none for consistency and to hie the fact that NONE caps are also accidentally empty caps. 2011-12-19 14:27:47 +0100 Sebastian Dröge * libs/gst/base/gstbasetransform.c: basetransform: If the filtered peer caps are already empty error out early 2011-12-20 13:21:36 +0100 Wim Taymans * win32/common/libgstreamer.def: def: update defs 2011-12-20 13:14:07 +0100 Wim Taymans * gst/gstcaps.c: * gst/gstcaps.h: caps: add ANY and EMPTY singletons Add a singleton for ANY and EMPTY caps and make the GST_CAPS_ANY and GST_CAPS_NONE point to them. This makes the API more consistent now that the macro does not magically create a ref. It also solves some leaks in places where the macro was used to register a padtemplate. 2011-12-20 13:13:04 +0100 Wim Taymans * gst/gsttypefind.c: * gst/gsttypefind.h: remove const in gst_type_find_register() Remove the const from the GstCaps in gst_type_find_register() because the function takes a ref to the caps. 2011-12-20 12:59:37 +0100 Wim Taymans * win32/common/libgstcontroller.def: defs: update 2011-12-20 11:38:19 +0100 Stefan Sauer * gst/gstcontrolsource.c: controller: remove unused parent_class varriable from controlsource 2011-12-19 23:32:57 +0100 Stefan Sauer * docs/libs/gstreamer-libs-sections.txt: * docs/random/porting-to-0.11.txt: * gst/gstobject.c: * libs/gst/controller/gstinterpolation.c: * libs/gst/controller/gstinterpolationcontrolsource.c: * libs/gst/controller/gstinterpolationcontrolsource.h: * tests/benchmarks/controller.c: * tests/check/libs/controller.c: * tests/examples/controller/audio-example.c: controller: cleanup interpolation modes Remove deprecated/unimplemented modes. Turn interpolation mode into a gobject property. Update docs and examples. 2011-12-19 11:13:45 +0100 Stefan Sauer * docs/libs/gstreamer-libs-docs.sgml: * docs/libs/gstreamer-libs-sections.txt: * docs/libs/gstreamer-libs.types: * docs/random/porting-to-0.11.txt: * gst/gstobject.c: * libs/gst/controller/Makefile.am: * libs/gst/controller/gstinterpolation.c: * libs/gst/controller/gstinterpolationcontrolsource.c: * libs/gst/controller/gstinterpolationcontrolsource.h: * libs/gst/controller/gstinterpolationcontrolsourceprivate.h: * libs/gst/controller/gsttimedvaluecontrolsource.c: * libs/gst/controller/gsttimedvaluecontrolsource.h: * libs/gst/controller/gsttriggercontrolsource.c: * libs/gst/controller/gsttriggercontrolsource.h: * tests/benchmarks/controller.c: * tests/check/libs/controller.c: * tests/examples/controller/audio-example.c: controlsources: refactor interpolation control source Move most of the code to a GstTimedValueControlSource. Split out the trigger 'interpolation mode' to a new control source class. Move tests and examples to new api. Update docs. Fixes #610338 2011-12-19 22:01:02 +0100 Stefan Sauer * libs/gst/controller/gstlfocontrolsource.c: controlsource: clean up lfo control source Remove parent_class and use var from G_DEFINE_TYPE macro. Remove unused dispose implementation. 2011-12-19 20:57:44 +0000 Tim-Philipp Müller * win32/common/libgstbase.def: win32: add new collectpads2 function to .def file 2011-12-16 17:59:22 +0100 Mark Nauwelaerts * libs/gst/base/gstcollectpads2.c: * libs/gst/base/gstcollectpads2.h: collectpads2: add convenience clipping function ... which also converts to running time; useful for typical muxer. 2011-12-19 17:38:18 +0100 Mark Nauwelaerts * libs/gst/base/gstbasetransform.c: basetransform: do not delay sparse stream newsegment updates 2011-12-19 17:00:18 +0100 Wim Taymans * gst/gstmemory.h: memory: make subclasses add other flags Add GST_MAP_FLAG_LAST so that implementations can add additional flags when mapping memory. 2011-12-19 12:33:18 +0100 Mark Nauwelaerts * libs/gst/base/gstbasetransform.c: basetransform: suggestion compatible with upstream is not much of a suggestion ... in that upstream is already complying with that suggestion. Fixes #666174. 2011-12-15 14:31:05 +0100 Mark Nauwelaerts * libs/gst/base/gstcollectpads2.c: collectpads2: delay collecting buffer if a pad newly set waiting ... as commented; make code correspond to it (again). 2011-12-15 16:06:30 +0100 Stefan Sauer * libs/gst/controller/gstinterpolationcontrolsource.c: * libs/gst/controller/gstlfocontrolsource.c: controller: user the parent_class vars from G_DEFINE_TYPE 2011-12-14 12:13:36 +0000 Tim-Philipp Müller * gst/gstutils.c: pad: allow NULL as filter caps argument with query_caps() https://bugzilla.gnome.org/show_bug.cgi?id=666154 2011-12-12 13:05:36 +0000 Vincent Penquerc'h * plugins/elements/gstfilesrc.c: filesrc: do not mistake short reads for EOS While local filesystems will usually not cause short reads, this may happen on seekable files on some remote filesystems. Instead, loop till we get the requested amount of data, or an actual EOS (ie, 0 bytes). https://bugzilla.gnome.org/show_bug.cgi?id=665921 2011-11-14 02:26:31 +0100 Matej Knopp * libs/gst/base/gstbaseparse.c: baseparse: Clear queued frames with other queues 2011-12-12 12:11:40 +0000 Tim-Philipp Müller * configure.ac: * gst/gstelementfactory.c: elementfactory: use new 'transfer floating' annotation for gst_element_factory_make() Requires gobject-introspection 1.31.1 (older versions will error out with that). https://bugzilla.gnome.org/show_bug.cgi?id=664099 2011-12-12 12:09:02 +0000 Tim-Philipp Müller * po/cs.po: * po/eo.po: * po/es.po: * po/sr.po: po: update languages 2011-12-12 12:00:16 +0000 Tim-Philipp Müller Merge remote-tracking branch 'origin/master' into 0.11 2011-12-12 11:54:56 +0100 Sebastian Dröge * gst/glib-compat-private.h: * gst/glib-compat.c: glib-compat: Add license boilerplate for LGPL 2011-12-10 01:16:05 +0000 Tim-Philipp Müller * po/LINGUAS: * po/cs.po: * po/eo.po: * po/es.po: * po/gl.po: * po/sl.po: * po/sr.po: * po/uk.po: po: update translations 2011-12-10 11:08:22 +0100 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: say we handle RECONFIGURE event We handle the RECONFIGURE event so return TRUE from the event handler. 2011-12-10 11:07:02 +0100 Wim Taymans * gst/gstpad.c: pad: don't forward on NULL pads The iterator can return NULL in some cases, avoid pushing on those NULL pads. 2011-12-07 16:01:07 +0100 Stefan Sauer * docs/gst/gstreamer-sections.txt: * gst/gstpreset.c: * gst/gstpreset.h: * win32/common/libgstreamer.def: preset: allow applications to specify an extra preset dir An extra application preset dir help to organize presets created for special purposes. Fixes #660760 API: gst_preset_set_app_dir(), gst_preset_get_app_dir() 2011-12-09 10:01:16 +0100 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: stop when negotiation fails 2011-12-08 17:32:19 +0000 Tim-Philipp Müller Merge remote-tracking branch 'origin/master' into 0.11 2011-12-08 18:00:00 +0100 Sebastian Dröge * libs/gst/base/gstbasetransform.c: basetransform: Fix code path to come up with possible caps if incompatible caps are provided to buffer_alloc() Previous code could almost never work and this should be slightly better. 2011-12-08 17:21:30 +0100 Sebastian Dröge * libs/gst/base/gstbasetransform.c: basetransform: Fall back to upstream provided caps if suggested caps are not supported by the sinkpad 2011-12-08 17:07:05 +0100 Sebastian Dröge * libs/gst/base/gstbasetransform.c: basetransform: Fall back to upstream provided caps if fixation of suggested caps failed 2011-12-08 17:02:28 +0100 Sebastian Dröge * libs/gst/base/gstbasetransform.c: basetransform: Refactor gst_base_transform_buffer_alloc() code Don't check if upstream provided caps are compatible with upstream and don't try to fixate these caps. They must be fixated in any case. 2011-12-08 00:49:17 +0000 Tim-Philipp Müller * win32/common/libgstbase.def: * win32/common/libgstreamer.def: win32: update .def files for latest API additions 2011-12-08 00:47:46 +0000 Tim-Philipp Müller * tests/check/elements/selector.c: tests: fix up selector test after merge 2011-12-08 00:39:10 +0000 Tim-Philipp Müller Merge remote-tracking branch 'origin/master' into 0.11 Conflicts: gst/gstindexfactory.c libs/gst/base/gstbasetransform.c plugins/elements/gstfakesink.c plugins/elements/gstfakesrc.c plugins/elements/gstidentity.c plugins/elements/gstinputselector.c plugins/elements/gstoutputselector.c Note: did not merge any of the basetransform changes from 0.10. 2011-12-07 17:57:49 +0000 Vincent Penquerc'h * libs/gst/base/gstbaseparse.c: baseparse: do not use a byte value instead of a time value when bisecting This fixes FLAC seeking on some FLAC files. 2011-12-07 11:04:42 +0100 Sebastian Dröge * tests/check/elements/selector.c: selector: Push newsegment events before any buffers are pushed in the unit test 2011-12-07 11:01:49 +0100 Sebastian Dröge * plugins/elements/gstinputselector.c: inputselector: Don't send a NEWSEGMENT event if a buffer arrived before the segment was configured 2011-12-07 11:01:31 +0100 Sebastian Dröge * plugins/elements/gstoutputselector.c: outputselector: Don't send last segment/buffer when no segment was configured yet 2011-12-07 09:50:40 +0100 Sebastian Dröge * libs/gst/base/gstbasetransform.c: basetransform: If suggested caps are not compatible with upstream try to come up with compatible caps Fixes bug #662199. 2011-12-06 23:52:53 +0000 Tim-Philipp Müller * gst/gstindexfactory.c: indexfactory: fix memory leak Introduced by commit bd302bb6 pluginfeature: avoid duplicating feature->name https://bugzilla.gnome.org/show_bug.cgi?id=459466 https://bugzilla.gnome.org/show_bug.cgi?id=665703 2011-12-06 18:09:13 +0100 Wim Taymans * gst/gstpad.c: * gst/gstpad.h: pad: put new event probe type next to other event types 2011-12-05 21:20:52 +0100 Matej Knopp * gst/gstpad.c: * gst/gstpad.h: Add GST_PAD_PROBE_TYPE_HANDLE_FLUSH 2011-12-06 14:55:15 +0100 Sebastian Dröge * plugins/elements/gstfakesink.c: fakesink: Make event/buffer verbose output consistent with identity 2011-12-06 14:55:11 +0100 Sebastian Dröge * plugins/elements/gstidentity.c: identity: Print buffer flags in the verbose output 2011-12-06 14:53:47 +0100 Sebastian Dröge * plugins/elements/gstfakesrc.c: fakesrc: Make event/buffer verbose output consistent with identity and print buffer flags 2011-12-06 14:46:46 +0100 Stefan Sauer * tests/check/gst/gstpad.c: tests: don't include glib/gthread.h directly The g_thread functions are available after including glib.h as per docs. 2011-12-06 14:23:39 +0100 Stefan Sauer * tests/check/libs/controller.c: controller: port the test to new api as well 2011-12-06 14:23:12 +0100 Stefan Sauer * gst/gstcontrolsource.c: * gst/gstcontrolsource.h: * gst/gstobject.c: * gst/gstobject.h: controller: fix gpointer vs. gpointer* mess up 2011-12-06 14:24:15 +0100 Wim Taymans * gst/gstpad.c: * gst/gstpad.h: * tests/check/gst/gstpad.c: pad: remove GST_FLOW_RESEND It is unused and undefined. 2011-12-06 14:01:50 +0100 Wim Taymans * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasesrc.h: * plugins/elements/gstfakesrc.c: basesrc: add async start option Add a method to enable async start behaviour. The subclass can then complete the start operation from any other thread by caling gst_base_src_start_complete(). The base class can wait for the start to complete with gst_base_src_start_wait(). 2011-12-06 13:58:00 +0100 Wim Taymans * tests/check/libs/controller.c: fix compilation 2011-12-06 13:47:29 +0100 Wim Taymans * plugins/elements/gstfilesrc.c: filesrc: cleanup error path 2011-12-06 13:39:05 +0100 Wim Taymans * libs/gst/controller/gstinterpolation.c: fix compilation 2011-12-06 08:48:57 +0100 Stefan Sauer * gst/gstobject.c: controller: use _OBJECT logging variants more 2011-12-06 08:35:57 +0100 Stefan Sauer * docs/random/porting-to-0.11.txt: * gst/gstcontrolsource.c: * gst/gstcontrolsource.h: * gst/gstobject.c: * gst/gstobject.h: * libs/gst/controller/gstinterpolation.c: * libs/gst/controller/gstlfocontrolsource.c: * tests/benchmarks/controller.c: controller: remove GstValueArray Instead pass the values as arguments. This simplifies that code and helps bindings. 2011-12-06 08:35:10 +0100 Stefan Sauer * docs/random/porting-to-0.11.txt: * gst/gstobject.c: * gst/gstobject.h: controller: remove gst_object_get_value_arrays One can easilly loop over the controlled properties manually. This is step 1 in removing GstValueArray. 2011-12-04 07:33:32 +0100 Matej Knopp * gst/gstpad.c: correct return value in gst_push_sticky 2011-12-05 11:07:24 +0100 Wim Taymans * gst/gstmessage.h: * gst/gstquery.h: make some macros into inline functions 2011-12-05 10:24:34 +0100 Wim Taymans * gst/gstcaps.h: * gst/gstevent.h: * libs/gst/base/gsttypefindhelper.c: make some more macros as inline functions Make some macros as inline functions for added type checking. USe new gst_caps_take() in typefind 2011-12-05 10:23:04 +0100 Wim Taymans * docs/gst/gstreamer-sections.txt: docs: remove some old methods 2011-12-04 21:19:04 +0000 Tim-Philipp Müller * libs/gst/check/gstcheck.h: check: allow non-joinable threads in private g_thread_create() copy Looks like some tests use non-joinable threads after all. 2011-12-04 15:42:07 +0000 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: docs: remove removed tag list functions from docs as well 2011-12-04 15:38:09 +0000 Tim-Philipp Müller Merge remote-tracking branch 'origin/master' into 0.11 Conflicts: gst/gstobject.h libs/gst/check/gstcheck.h libs/gst/controller/gstcontroller.c plugins/elements/gstidentity.c tools/gst-xmlinspect.c 2011-12-04 14:38:26 +0000 Tim-Philipp Müller * gst/gstbin.c: * gst/gstelement.c: * gst/gstpad.c: * gst/gsttask.c: * gst/gstutils.c: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstcollectpads2.c: * plugins/elements/gstmultiqueue.c: Suppress deprecation warnings in selected files, for g_static_rec_mutex_* mostly GStaticRecMutex is part of our API/ABI, not much we can do here in 0.10. 2011-12-04 13:35:38 +0000 Tim-Philipp Müller * gst/glib-compat-private.h: * gst/gstbus.c: * gst/gstclock.c: * gst/gstelement.c: * gst/gstobject.h: * gst/gsttask.c: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstcollectpads.c: * libs/gst/base/gstcollectpads2.c: * libs/gst/base/gstdataqueue.c: * libs/gst/check/gstcheck.h: * libs/gst/controller/gstcontroller.c: * libs/gst/controller/gstinterpolationcontrolsource.c: * libs/gst/controller/gstlfocontrolsource.c: * plugins/elements/gstinputselector.c: * plugins/elements/gstqueue.c: * plugins/elements/gstqueue2.c: * plugins/elements/gsttee.c: Work around deprecated thread API in glib master Add private replacements for deprecated functions such as g_mutex_new(), g_mutex_free(), g_cond_new() etc., mostly to avoid the deprecation warnings. We can't change most of these in 0.10 because they're part of our API and ABI. 2011-12-04 13:09:53 +0000 Tim-Philipp Müller * tests/benchmarks/gstbufferstress.c: * tests/benchmarks/gstclockstress.c: * tests/benchmarks/gstpollstress.c: benchmarks: g_thread_create() is deprecated in GLib master, use g_thread_try_new() instead 2011-12-04 13:04:35 +0000 Tim-Philipp Müller * libs/gst/net/gstnetclientclock.c: * libs/gst/net/gstnettimeprovider.c: net: initialise GError variables to NULL 2011-12-04 11:43:10 +0100 Edward Hervey * win32/common/libgstreamer.def: win32: Update defs files 2011-12-04 11:42:39 +0100 Edward Hervey * gst/gstquery.c: gstquery: Fix unitialized variable 2011-12-04 11:32:57 +0100 Edward Hervey * gst/gstsegment.c: gstsegment: Initialize with proper type 2011-12-03 17:40:53 +0000 Tim-Philipp Müller * gst/gst.c: * libs/gst/helpers/gst-plugin-scanner.c: * tools/gst-inspect.c: * tools/gst-launch.c: * tools/gst-typefind.c: * tools/gst-xmlinspect.c: g_thread_init() is deprecated in glib master It's not needed any longer. 2011-12-03 16:02:36 +0000 Tim-Philipp Müller * gst/gsttagsetter.c: tagsetter: update for thread API deprecations in glib master 2011-12-03 15:36:58 +0000 Tim-Philipp Müller * gst/gsttaglist.c: taglist: update for thread API deprecations in glib master 2011-12-03 15:18:21 +0000 Tim-Philipp Müller * gst/gsttaglist.c: * gst/gsttaglist.h: taglist: remove gst_tag_list_get_{char,uchar} Those are unused and should never be used anywhere anyway really. 2011-12-03 14:06:58 +0000 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: docs: remove some macros that no longer exist 2011-12-03 13:58:51 +0000 Tim-Philipp Müller * gst/gstsystemclock.c: * libs/gst/check/gstcheck.h: * libs/gst/net/gstnetclientclock.c: * libs/gst/net/gstnettimeprovider.c: g_thread_create() is deprecated in GLib master, use g_thread_try_new() instead 2011-12-03 07:06:11 +0100 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: use dts and pts for sync First use DTS, then fall back to PTS for synchronization. 2011-12-03 07:01:45 +0100 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: small cleanups 2011-12-03 06:45:26 +0100 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: merge preroll functions Inline a function that is only called from one place to make things a little easier to follow. 2011-12-03 06:29:42 +0100 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: more cleanups Don't pass around the object type, we can find that very efficiently from the object itself now. 2011-12-02 23:13:23 +0100 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: clean up method names 2011-12-02 22:50:55 +0100 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: merge render_object into chain Merge the render_object code with the chain method. It is only called from there and there are quite a few variables that can be reused to makes things less confusing. 2011-12-02 22:36:38 +0100 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: remove obsolete code Remove some more code now that the render_object ethod is only called with buffers or bufferlsts. 2011-12-02 22:20:08 +0100 Wim Taymans * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesink.h: * plugins/elements/gstfakesink.c: * plugins/elements/gstfdsink.c: * plugins/elements/gstfilesink.c: basesink: clean up event handling Add new wait_eos vmethod to wait for the eos timeout before posting the EOS message on the bus. Add default event handler. Move the default event actions in there. Call the event vmethod from the pad event handler. Subclasses are now supposed to chain up to the parent event handler or unref the event and do their own thing. Avoid passing unused parameters to functions. 2011-12-02 13:19:38 +0100 Mark Nauwelaerts * plugins/elements/gstidentity.c: identity: unlock clock wait when appropriate ... notably FLUSH and state change to READY. 2011-12-02 13:35:58 +0100 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: small cleanup Avoid passing around the segment. 2011-12-02 13:28:18 +0100 Wim Taymans * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesink.h: basesink: remove clip_segment We only need one segment now that the preroll queue is gone. 2011-12-02 12:42:50 +0100 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: more cleanups Remove some unneeded functions, inline the code. Remove the queue_object functions, we can proceed with the rendering immediately. 2011-12-02 12:20:02 +0100 Wim Taymans * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesink.h: basesink: remove obsolete code Remove the preroll queue and proceed directly to the rendering of objects. 2011-12-01 23:35:26 +0000 Tim-Philipp Müller Merge remote-tracking branch 'origin/master' into 0.11 Conflicts: gst/gstbus.c gst/gstevent.c libs/gst/base/gstbasetransform.c 2011-12-01 18:50:32 +0100 Wim Taymans * gst/gsttaglist.c: * gst/gsttaglist.h: taglist: make some tags of type GstSample Make the image and attachment tags of type GstSample so that we can include extra caps and info along with the buffer data. 2011-12-01 18:49:34 +0100 Wim Taymans * gst/gstsample.c: * gst/gstsample.h: sample: remove const The writability of the structure is ensured by the refcount of the parent miniobject and we're fine if the parent is writable. 2011-12-01 16:46:06 +0100 Wim Taymans * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesink.h: * tests/check/libs/basesink.c: * win32/common/libgstbase.def: basesink: last-buffer -> last-sample Rename the last-buffer property to last-sample and make it return the new GstSample type so that we can include caps and timing info in one nice bundle. 2011-12-01 16:37:46 +0100 Wim Taymans * gst/Makefile.am: * gst/gst.c: * gst/gst.h: * gst/gst_private.h: * gst/gstsample.c: * gst/gstsample.h: * win32/common/libgstreamer.def: sample: add new sample miniobject Add a new simple miniobject that is a combination of a GstBuffer, GstCaps, GstSegment and other arbitrary info organized in a GstStructure. This object can be used to exchange samples between an element and the application or for storing album art in tags etc. 2011-12-01 16:25:07 +0100 Stefan Sauer * gst/gstbus.c: bus: use GST_MESSAGE_SOURCE_NAME() which also takes care of src=NULL. 2011-12-01 15:35:26 +0100 Wim Taymans * libs/gst/base/gstbasetransform.c: basetrans: add some more debug 2011-12-01 15:35:02 +0100 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: add some more debug 2011-12-01 15:34:06 +0100 Wim Taymans * gst/gstbuffer.c: * gst/gstbuffer.h: buffer: add copy flag for meta Add a flag to control if the meta should be copied or not instead of always copying. 2011-11-29 19:08:41 +0100 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: remove old property 2011-11-30 13:59:46 +0100 Sebastian Dröge * libs/gst/base/gstbasetransform.c: basetransform: Always intersect the suggested sink caps with the peer caps This makes sure that we get correct and complete caps. The suggested caps could be incomplete, e.g. video/x-raw-rgb without any fields, and by intersecting with the peer caps we get something usable. Fixes bug #662199. 2011-11-30 12:39:34 +0000 Tim-Philipp Müller * gst/gstinfo.h: info: move FIXME log level after WARNING So it's now ERROR < WARNING < FIXME < INFO and *:5 becomes *:6. 2011-11-30 00:24:32 +0000 Tim-Philipp Müller * gst/gstevent.c: event: warn and fail instead of creating newsegment events in GST_FORMAT_UNDEFINED 2011-11-29 15:53:01 +0100 Wim Taymans * gst/gstbin.c: bin: keep the element flags up-to-date Keep the require/provide_clock flags up to date. 2011-11-29 11:47:34 +0100 Edward Hervey * plugins/elements/gstqueue.c: queue: source and sink pads proxy caps 2011-11-28 23:20:32 +0000 Tim-Philipp Müller Merge commit '7521b597f4dc49d8d168f368f0e7ebaf98a72156' into 0.11 2011-11-28 21:15:31 +0000 Tim-Philipp Müller Merge remote-tracking branch 'origin/master' into 0.11 2011-11-28 18:23:41 +0100 Wim Taymans * libs/gst/base/gstbaseparse.c: update for indexable change 2011-11-28 18:12:34 +0100 Wim Taymans * gst/gstelement.c: * gst/gstelement.h: * tools/gst-inspect.c: * win32/common/libgstreamer.def: element: add indexable flag Remove the is_indexable method check and use an element flag to check if the element can use an index. 2011-11-28 17:50:17 +0100 Wim Taymans * win32/common/libgstreamer.def: defs: update 2011-11-28 17:22:44 +0100 Wim Taymans * gst/gstbin.c: * gst/gstelement.c: * gst/gstelement.h: * tools/gst-inspect.c: element: use flags for require/provide clock Remove the _require/_provide_clock() methods and use element flags to mark elements instead of looking at the implementation of the vmethod. 2011-11-28 16:54:55 +0100 Wim Taymans * gst/gstbin.c: * gst/gstelement.c: * gst/gstelement.h: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * tests/check/gst/gstbin.c: element: clean up element flags Clean up the element flags 2011-11-28 15:35:21 +0100 Wim Taymans * gst/gstevent.c: event: add sticky custom quark 2011-11-28 14:24:16 +0100 Wim Taymans * gst/gstcaps.c: * gst/gstcaps.h: caps: _CAPS_FLAGS_ -> CAPS_FLAG_ 2011-11-28 12:30:15 +0000 Vincent Penquerc'h * gst/gstelement.c: * gst/gstelement.h: * win32/common/libgstreamer.def: gstelement: add gst_element_class_add_pad_template_from_static This function helps ensure the pad template is unreffed without having to complicate the calling code. https://bugzilla.gnome.org/show_bug.cgi?id=662664 2011-11-28 13:08:27 +0000 Vincent Penquerc'h * plugins/elements/gstdataurisrc.c: various: fix pad template ref leaks https://bugzilla.gnome.org/show_bug.cgi?id=662664 2011-11-28 13:54:43 +0100 Wim Taymans * gst/gstpad.c: pad: Handle sticky event errors Use GstFlowReturn to internally pass events between pads. When we sticky events cause an error, translate this error into a GstFlowReturn. Caps events will, for example, generate a NOT_NEGOTIATED return when the event function returns an error. This allows us then to refuse sending buffers if one of the sticky events is refused and generate a correct error return value. 2011-11-28 13:52:00 +0100 Wim Taymans * tests/check/elements/fakesrc.c: * tests/check/elements/fdsrc.c: tests: don't return FALSE from events Returning FALSE from the event handler shuts down the sender. 2011-11-28 13:51:11 +0100 Wim Taymans * tests/check/gst/gstpad.c: test: fix refcount error 2011-11-28 11:15:27 +0100 Edward Hervey * gst/gstmeta.c: gstmeta: Some more docs 2011-11-28 10:55:28 +0100 Wim Taymans * gst/gstevent.h: event: add custom downstream sticky event 2011-11-28 01:12:48 +0000 Tim-Philipp Müller * plugins/elements/gstqueue2.c: queue2: fix up comment after merge from 0.10 2011-11-28 01:11:47 +0000 Tim-Philipp Müller Merge remote-tracking branch 'origin/master' into 0.11 2011-11-28 01:10:20 +0000 Tim-Philipp Müller * plugins/elements/gstqueue2.c: queue2: fix refactoring of draining-on-eos, munge flow return to FLOW_OK 2011-11-28 01:00:28 +0000 Tim-Philipp Müller * plugins/elements/gstqueue2.c: queue2: fix up new bufferlist code for 0.11 2011-11-28 00:40:55 +0000 Tim-Philipp Müller Merge remote-tracking branch 'origin/master' into 0.11 Conflicts: plugins/elements/gstqueue2.c 2011-11-03 10:34:49 +0000 Tim-Philipp Müller * plugins/elements/gstqueue2.c: queue2: add bufferlist support We want to maintain buffer lists if possible. 2011-11-03 13:02:36 +0000 Tim-Philipp Müller * plugins/elements/gstqueue2.c: queue2: split out draining of queue on FLOW_UNEXPECTED into separate function 2011-11-03 08:55:20 +0000 Tim-Philipp Müller * plugins/elements/gstqueue2.c: queue2: pass item type enum to _enqueue instead of simple isbuffer boolean Avoids some unnecessary GST_IS_EVENT() 2011-11-27 20:32:14 +0100 Matej Knopp * gst/gstcaps.h: caps: fix compilation warning GST_STATIC_CAPS is missing initializer for GstMiniObject's n_weak_refs and weak_refs resulting in compilation warning (llvm-gcc -Wall) https://bugzilla.gnome.org/show_bug.cgi?id=664927 2011-11-27 22:26:12 +0000 Tim-Philipp Müller Merge remote-tracking branch 'origin/master' into 0.11 2011-11-27 20:36:31 +0100 Stefan Sauer * gst/gstbin.c: * gst/gstelement.c: * tools/gst-inspect.c: * tools/gst-xmlinspect.c: warnings: avoid set-but-unused warnings with load-save disabled 2011-11-26 17:34:12 +0100 Matej Knopp * libs/gst/base/gstbaseparse.c: baseparse: fix broken default caps query https://bugzilla.gnome.org/show_bug.cgi?id=664880 2011-11-26 19:51:37 +0000 Tim-Philipp Müller Merge remote-tracking branch 'origin/master' into 0.11 2011-11-26 19:45:48 +0000 Tim-Philipp Müller * gst/gsturi.h: uri: fix wrong G_GNUC_MALLOC _get_protocols() points to const memory in 0.10 despite the non-const return value. 2011-11-26 19:44:23 +0000 Tim-Philipp Müller Merge remote-tracking branch 'origin/master' into 0.11 Conflicts: gst/gstbuffer.h gst/gstbufferlist.h gst/gstcaps.h gst/gstdatetime.h gst/gstelementfactory.h gst/gstevent.h gst/gstghostpad.h gst/gstindexfactory.h gst/gstiterator.h gst/gstmessage.h gst/gstminiobject.h gst/gstpipeline.h gst/gstquery.h gst/gstsegment.h gst/gststructure.h gst/gsttaglist.h gst/gsturi.h gst/gstvalue.h libs/gst/base/gstbitreader.h libs/gst/base/gstbytereader.h libs/gst/base/gstbytewriter.h Note: can't use G_GNUC_MALLOC with GstCaps return values in 0.11 because of the EMPTY+ANY singletons. 2011-11-26 18:58:38 +0000 Tim-Philipp Müller * libs/gst/base/gstadapter.h: * libs/gst/base/gstbitreader.h: * libs/gst/base/gstbytereader.h: * libs/gst/base/gstbytewriter.h: * libs/gst/base/gstdataqueue.h: libs: sprinkle some G_GNUC_MALLOC Maybe gcc can do something clever with that, or at least warn us if we don't save the return value somewhere. 2011-11-26 18:57:44 +0000 Tim-Philipp Müller * gst/gstatomicqueue.h: * gst/gstbuffer.h: * gst/gstbufferlist.h: * gst/gstcaps.h: * gst/gstdatetime.h: * gst/gstelementfactory.h: * gst/gstevent.h: * gst/gstghostpad.h: * gst/gstindexfactory.h: * gst/gstiterator.h: * gst/gstmessage.h: * gst/gstminiobject.h: * gst/gstpadtemplate.h: * gst/gstparamspecs.h: * gst/gstparse.h: * gst/gstpipeline.h: * gst/gstpluginfeature.h: * gst/gstpoll.h: * gst/gstpreset.h: * gst/gstquery.h: * gst/gstsegment.h: * gst/gststructure.h: * gst/gsttaglist.h: * gst/gsturi.h: * gst/gstvalue.h: gst: sprinkle some G_GNUC_MALLOC Maybe gcc can do something clever with that, or at least warn us if we don't save the return value somewhere. 2011-11-25 23:54:57 +0000 Tim-Philipp Müller Merge remote-tracking branch 'origin/master' into 0.11 2011-11-25 23:15:23 +0100 Stefan Sauer * docs/random/porting-to-0.11.txt: docs: update porting docs. 2011-11-16 01:04:45 +0000 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gstbuffer.c: * gst/gstbuffer.h: * tests/check/gst/gstbuffer.c: * win32/common/libgstreamer.def: buffer: add gst_buffer_{set,get}_qdata() Allows people/us to attach arbitrary metadata to buffers. https://bugzilla.gnome.org/show_bug.cgi?id=664720 API: gst_buffer_set_qdata() API: get_buffer_get_qdata() 2011-11-25 07:11:24 +0100 Wim Taymans * gst/gstpad.c: * tests/check/gst/gstpad.c: pad: fix blocking probe emission If we are dealing with a blocking probe, only then check if one the blocking flags of the hook matches. Add some more debug. Make the pad unit test less racy. 2011-11-24 17:47:09 +0100 Matej Knopp * tests/check/gst/gstpad.c: Add test for PAD_PROBE_TYPE_BLOCK and PAD_PROBE_TYPE_BLOCKING 2011-11-25 05:54:09 +0100 Wim Taymans * gst/gstutils.c: utils: fix debug of query result 2011-11-24 22:52:19 +0100 René Stadler * gst/gstquery.c: query: fix typo in doc Causes a warning from the introspection scanner. 2011-11-24 21:36:12 +0100 René Stadler * libs/gst/check/gstcheck.c: * libs/gst/check/gstcheck.h: * tests/check/elements/capsfilter.c: * tests/check/elements/fakesrc.c: * tests/check/elements/fdsrc.c: * tests/check/elements/filesink.c: * tests/check/elements/filesrc.c: * tests/check/elements/identity.c: * tests/check/elements/queue.c: * tests/check/elements/selector.c: check: drop caps argument from gst_check_setup_{src,sink}_pad Calling set_caps at that point is not useful in 0.10 (FIXME comment!), and in 0.11 it is totally pointless: the caps event doesn't stick to a flushing pad. 2011-11-24 14:07:14 +0100 René Stadler * win32/common/libgstbase.def: defs: update for byte_writer_put_buffer 2011-11-24 11:23:07 +0100 Sebastian Dröge Merge branch 'master' into 0.11 Conflicts: gst/gstpad.c libs/gst/base/gstbaseparse.c 2011-11-24 11:15:29 +0100 Sebastian Dröge * gst/gstpad.c: pad: Remove g_warning() if pad accepted caps that are not a subset of the pad caps This check is correct but unfortunately it's impossible to implement in a threadsafe way because the caps could have changed in the meantime. Fixes bug #659606. 2011-10-03 12:34:20 +0100 Vincent Penquerc'h * plugins/elements/gstmultiqueue.c: multiqueue: check filled state of queues even if another one is empty This will avoid a case where overrun is never signalled if some stream never produces any data, causing playbin2 to not end preroll. https://bugzilla.gnome.org/show_bug.cgi?id=660778 2011-11-24 09:31:14 +0100 Edward Hervey * tests/check/gst/gstpad.c: tests: Check for dataflow with incompatible caps This test currently fails, but is there to ensure we fix this issue and keep it fixed, since it completely breaks delayed negotiation use-cases. This behaviour started breaking since dd65aae9a177f7b11dcef0f690a78d698f667cd4 2011-11-24 09:31:02 +0100 Edward Hervey * tests/check/gst/gstpad.c: tests: Add comments to gstpad tests 2011-11-24 09:30:14 +0100 Edward Hervey * tests/check/gst/gstpad.c: tests: Remove "#if 0" block for behaviour that now works 2011-11-24 09:28:32 +0100 Edward Hervey * tests/check/gst/gstpad.c: tests: Remove commented block This behaviour is actually tested in test_push_unlinked 2011-11-24 01:06:52 +0000 Tim-Philipp Müller * tools/gst-inspect.c: tools: make gst-inspect print a nasty debug message for non-grata property type Try to eradicate properties of long/ulong/char/uchar type. 2011-11-23 17:50:17 +0100 Wim Taymans * gst/gstevent.h: * gst/gstpad.c: * gst/gstpad.h: * plugins/elements/gstoutputselector.c: * plugins/elements/gsttee.c: event: add STICKY_MULTY events Add a new event flag for sticky events so that multiple events of that type can be stored on a pad at the same time. Change the _get_sticky_event() function to loop over the multiple events of a type. Change the foreach function to make it possible to removed and modify the sticky events on a pad. Use an variable size array now to store the events. This could later be optimized some more. 2011-11-23 17:39:43 +0100 Wim Taymans * gst/gstbus.c: bus: handle NULL message src in debug 2011-11-23 17:38:24 +0100 Wim Taymans * gst/gstbufferlist.c: bufferlist: avoid reading past the array When the foreach function told us to remove the buffer from the list, decrease the length of the array or else we might read past the last item in the array. 2011-11-23 13:42:56 +0100 Sebastian Dröge * libs/gst/base/gstbaseparse.c: baseparse: Return template caps instead of other side's peer caps if get_sink_caps vfunc is not implemented Using gst_pad_proxy_get_caps() breaks backwards compatibility with old parsers because it will propagate the other side's fields like "parsed" and "framed" and also breaks parser/converters. Fixes bug #664221. 2011-11-23 11:03:19 +0100 René Stadler * libs/gst/base/gstbytewriter.c: * libs/gst/base/gstbytewriter.h: bytewriter: add method to write out a buffer In 0.10, this can be done with a one-liner by using GST_BUFFER_DATA/SIZE with put_data. A 0.11 user has to resort to gst_buffer_map, which is less convenient and might require a memcpy internally. API: gst_byte_writer_put_buffer() 2011-11-23 08:17:36 +0100 Wim Taymans * gst/gstpad.c: pad: take peerpad correctly Don't take the peerpad too early, it might change because of the probes. 2011-11-22 18:32:51 +0100 Wim Taymans * gst/gstpad.c: * gst/gstpad.h: pad: rework sticky events Rewrite sticky events, trying to make it a bit more simple. When sticky events are pushed on a srcpad, store them in the sticky event array and mark the event with received = FALSE. When the sticky event is successfully sent to the peer pad, make received = TRUE. Keep a PENDING_EVENTS pad flag that is set when one of the events is in the received = FALSE state for some reason. when activating a sinkpad, mark all events received = FALSE on the peer srcpad. When pushing a buffer, check the PENDING_EVENTS flag and if it is set, push all events to the peer pad first. 2011-11-22 18:32:23 +0100 Wim Taymans * libs/gst/base/gstbaseparse.c: baseparse: also let caps events go through 2011-11-22 16:43:34 +0100 Wim Taymans * gst/gst.c: gst: add new flags 2011-11-21 18:56:19 +0100 Matej Knopp * libs/gst/base/gstadapter.c: * libs/gst/base/gstadapter.h: adapter: fix return type of _map() to gconstpointer Fixes compiler warnings on OSX: gstadapter.h:82: warning: type qualifiers ignored on function return type gstadapter.c:412: warning: type qualifiers ignored on function return type const gpointer is not the same as gconstpointer or const void *. https://bugzilla.gnome.org/show_bug.cgi?id=664491 2011-11-22 12:46:39 +0100 Wim Taymans * win32/common/libgstbase.def: * win32/common/libgstreamer.def: defs: update defs files 2011-11-22 12:45:41 +0100 Wim Taymans * gst/gstbuffer.h: * gst/gstevent.h: padd return value from _mini_object_replace() 2011-11-21 18:56:19 +0100 Matej Knopp * gst/gstutils.c: * libs/gst/base/gstbasesrc.c: * plugins/elements/gstqueue2.c: Fix printf format compiler warnings on OSX/64bit https://bugzilla.gnome.org/show_bug.cgi?id=664491 2011-11-21 17:46:45 +0100 Wim Taymans * tests/check/gst/gstpad.c: tests: improve pad tests 2011-11-21 17:43:51 +0100 Wim Taymans * gst/gstpad.c: pad: fix locking order error 2011-11-21 17:43:04 +0100 Wim Taymans * gst/gstghostpad.c: ghostpad: fix print format 2011-11-21 15:47:01 +0100 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gstpad.c: * gst/gstpad.h: pad: Add destroy notify to pad functions Add _full variants of the pad function setters that take a destroy notify. Make some macros that make the old method name pass NULL to this new function. 2011-11-21 13:29:05 +0100 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gstghostpad.c: * gst/gstghostpad.h: * gst/gstpad.c: * gst/gstpad.h: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstqueue.c: * plugins/elements/gstqueue2.c: * plugins/elements/gsttee.c: * plugins/elements/gsttypefindelement.c: * tests/check/elements/filesrc.c: pad: Merge pad mode activation functions Add the pad mode to the activate function so that we can reuse the same function for all activation modes. This makes the core logic smaller and allows for some elements to make their activation code easier. It would allow us to add more scheduling modes later without having to add more activate functions. 2011-11-18 18:08:21 +0100 Wim Taymans * docs/design/part-scheduling.txt: * gst/gstquery.c: docs: update design doc also fix default alignment value (0 == no-alignment) 2011-11-18 17:27:16 +0100 Wim Taymans * gst/gstpad.h: * gst/gstquark.c: * gst/gstquark.h: * gst/gstquery.c: * gst/gstquery.h: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstpushsrc.c: * plugins/elements/gstqueue2.c: * plugins/elements/gsttypefindelement.c: query: improve scheduling query Turns some boolean arguments in the scheduling query to flags, which are easier to extend and makes the code easier to read. Make extra methods for configuring and querying the supported scheduling modes. This should make it easier to add new modes later. 2011-11-18 14:08:45 +0100 Wim Taymans * gst/gstquery.h: query: move flags closer to buffering query 2011-11-18 13:46:46 +0100 Wim Taymans * gst/gstghostpad.c: * gst/gstghostpad.h: * gst/gstpad.c: * gst/gstpad.h: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstqueue.c: * plugins/elements/gstqueue2.c: * plugins/elements/gsttee.c: * plugins/elements/gsttypefindelement.c: pad: add parent to activate functions 2011-11-18 12:35:46 +0100 Wim Taymans * docs/gst/gstreamer-sections.txt: * docs/random/porting-to-0.11.txt: * gst/gst.c: * gst/gstpad.c: * gst/gstpad.h: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesink.h: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: * plugins/elements/gsttee.c: * plugins/elements/gsttee.h: pad: fix scheduling mode enums GstPadActivateMode -> GstPadMode GST_PAD_ACTIVATE_* -> GST_PAD_MODE_* 2011-11-17 16:14:34 +0100 Wim Taymans * libs/gst/base/gsttypefindhelper.c: * libs/gst/base/gsttypefindhelper.h: * plugins/elements/gsttypefindelement.c: typefind: fix for new getrange method signature gst_type_find_helper_get_range_ext -> gst_type_find_helper_get_range 2011-11-17 12:40:45 +0100 Wim Taymans * gst/gstghostpad.c: * gst/gstghostpad.h: * gst/gstpad.c: * gst/gstpad.h: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstcollectpads.c: * libs/gst/base/gstcollectpads2.c: * libs/gst/check/gstcheck.c: * libs/gst/check/gstcheck.h: * plugins/elements/gstfunnel.c: * plugins/elements/gstidentity.c: * plugins/elements/gstinputselector.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstoutputselector.c: * plugins/elements/gstqueue.c: * plugins/elements/gstqueue.h: * plugins/elements/gstqueue2.c: * plugins/elements/gsttee.c: * plugins/elements/gsttypefindelement.c: * plugins/elements/gstvalve.c: * tests/check/elements/fakesrc.c: * tests/check/elements/fdsrc.c: * tests/check/elements/filesrc.c: * tests/check/elements/funnel.c: * tests/check/elements/identity.c: * tests/check/elements/multiqueue.c: * tests/check/elements/queue.c: * tests/check/elements/tee.c: * tests/check/elements/valve.c: * tests/check/gst/gstpad.c: * tests/check/libs/test_transform.c: pad: add parent to other functions Add parent to chain, chain_list, getrange and event functions. 2011-11-17 08:21:05 +0100 Stefan Sauer * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstcollectpads.c: * libs/gst/base/gstcollectpads.h: * tests/check/libs/collectpads.c: collectpads: move fields out of reserved and restore padding Do the 0.11 ABI changes. Add extra fields for destroy_notify and drop the qdata hack. Rename _add_pad_full to _add_pad and remove the old _add_pad. 2011-11-16 17:49:46 +0100 Wim Taymans * gst/gstghostpad.c: * gst/gstghostpad.h: * gst/gstpad.c: * gst/gstpad.h: * plugins/elements/gstinputselector.c: * plugins/elements/gstmultiqueue.c: add parent to internal links 2011-11-16 17:22:56 +0100 Wim Taymans * gst/gstghostpad.c: * gst/gstghostpad.h: * gst/gstpad.c: * gst/gstpad.h: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: * plugins/elements/gstfdsink.c: * plugins/elements/gstfunnel.c: * plugins/elements/gstinputselector.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstoutputselector.c: * plugins/elements/gstqueue.c: * plugins/elements/gstqueue2.c: * plugins/elements/gsttee.c: * plugins/elements/gsttypefindelement.c: * plugins/elements/gstvalve.c: * tests/check/elements/multiqueue.c: pad: add parent to the query function 2011-11-16 12:36:51 +0100 Wim Taymans * docs/random/porting-to-0.11.txt: * gst/gstdebugutils.c: * gst/gstelement.c: * gst/gstpad.c: * gst/gstpad.h: * gst/gstutils.c: * libs/gst/base/gstbasetransform.c: * plugins/elements/gstinputselector.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstqueue2.c: * plugins/elements/gsttee.c: GstPadFlags: rename flags GST_PAD_* -> GST_PAD_FLAG_* 2011-11-16 12:10:55 +0100 Wim Taymans * plugins/elements/gstfunnel.c: * plugins/elements/gstinputselector.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstoutputselector.c: * plugins/elements/gstqueue.c: * plugins/elements/gstqueue2.c: * plugins/elements/gsttee.c: * plugins/elements/gstvalve.c: plugins: remove obsolete parent checks 2011-11-16 12:08:22 +0100 Wim Taymans * gst/gstelement.c: * gst/gstpad.c: * gst/gstpad.h: pad: keep the parent alive when requested Add a new pad flag NEED_PARENT that ensures that the parent of a pad is reffed and not NULL when the event, query and internal links functions are called. When a pad is added to an element automatically make sure the NEED_PARENT flag is enabled. 2011-11-16 10:29:47 +0100 Wim Taymans * gst/gstutils.c: don't require parent element to proxy 2011-11-16 10:16:55 +0100 Wim Taymans * docs/random/porting-to-0.11.txt: update porting doc 2011-11-15 18:16:24 +0100 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gstpad.c: * gst/gstpad.h: * gst/gstutils.c: * gst/gstutils.h: pad: move query convenience functions together Move the caps convenience functions to the other query functions. 2011-11-15 17:50:34 +0100 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gstutils.c: * gst/gstutils.h: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasesink.c: * plugins/elements/gstqueue2.c: _query_peer_*() -> _peer_query_*() 2011-11-15 17:40:19 +0100 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gstpad.c: * gst/gstpad.h: * libs/gst/base/gstbasetransform.c: * plugins/elements/gstcapsfilter.c: _accept_caps() -> _query_accept_caps() 2011-11-15 17:11:46 +0100 Wim Taymans * gst/gstpad.c: * gst/gstpad.h: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: * tests/check/elements/selector.c: _peer_get_caps() -> peer_query_caps() 2011-11-15 16:46:37 +0100 Wim Taymans * docs/gst/gstreamer-sections.txt: * docs/manual/advanced-autoplugging.xml: * docs/manual/highlevel-components.xml: * gst/gstpad.c: * gst/gstpad.h: * gst/gstutils.c: * gst/gstutils.h: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: * tests/check/elements/selector.c: * tests/check/elements/valve.c: * tests/check/gst/gstghostpad.c: * tests/check/gst/gstutils.c: pad: _get_caps() -> _query_caps() 2011-11-15 16:16:53 +0100 Wim Taymans * gst/gstutils.c: utils: fix docs 2011-11-15 16:13:59 +0100 Wim Taymans * gst/gstutils.c: utils: fix the proxy functions fix the proxy functions for query_accept_caps and query_caps to use the pad forward helper functions which correctly forwards on the internally linked pads. 2011-11-15 16:13:28 +0100 Wim Taymans * gst/gstpad.h: pad: improve some flag macros 2011-11-15 16:13:15 +0100 Wim Taymans * gst/gstpad.c: pad: fix debug line 2011-11-15 11:20:48 +0100 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gstdebugutils.c: * gst/gstelement.c: * gst/gstghostpad.c: * gst/gstghostpad.h: * gst/gstobject.c: * gst/gstpad.c: * gst/gstpad.h: * gst/gstquark.c: * gst/gstquark.h: * gst/gstquery.c: * gst/gstquery.h: * gst/gstutils.c: * gst/gstutils.h: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: * plugins/elements/gstfunnel.c: * plugins/elements/gstinputselector.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstoutputselector.c: * plugins/elements/gstqueue.c: * plugins/elements/gstqueue2.c: * plugins/elements/gsttee.c: * plugins/elements/gstvalve.c: * tests/check/elements/multiqueue.c: * tests/check/gst/gstutils.c: * tools/gst-inspect.c: pad: remove getcaps and use caps query Remove the getcaps function on the pad and use the CAPS query for the same effect. Add PROXY_CAPS to the pad flags. This instructs the default caps event and query handlers to pass on the CAPS related queries and events. This simplifies a lot of elements that passtrough caps negotiation. Make two utility functions to proxy caps queries and aggregate the result. Needs to use the pad forward function instead later. Make the _query_peer_ utility functions use the gst_pad_peer_query() function to make sure the probes are emited properly. 2011-11-14 11:26:17 +0100 Wim Taymans * gst/gstquark.c: * gst/gstquark.h: * gst/gstquery.c: * gst/gstquery.h: query: add caps query 2011-11-14 09:57:32 +0000 Tim-Philipp Müller * gst/gstquery.h: query: remove GST_QUERY_LAST 2011-11-14 10:27:01 +0100 Wim Taymans * gst/gstbufferpool.h: * gst/gstmemory.h: * gst/gstmeta.h: * gst/gstpad.h: * gst/gstquery.h: fix docs 2011-11-12 10:29:30 +0200 Stefan Sauer * docs/gst/gstreamer-sections.txt: * docs/random/porting-to-0.11.txt: * gst/gstobject.c: * gst/gstobject.h: * tests/benchmarks/controller.c: * tests/check/libs/controller.c: * tests/examples/controller/audio-example.c: controller: remove functions to add/remove controlled properties Make that implizit with attaching/detaching controlsources. This is a lot easier and has less invalid state (controlled property without control source). 2011-11-13 23:55:56 +0000 Tim-Philipp Müller * plugins/elements/gstdataurisrc.c: Update for GstURIHandler get_protocols() changes 2011-11-13 23:25:23 +0000 Tim-Philipp Müller * plugins/elements/gstfdsink.c: * plugins/elements/gstfdsrc.c: * plugins/elements/gstfilesink.c: * plugins/elements/gstfilesrc.c: * tools/gst-inspect.c: plugins, tools: update for get_protocols() return value change 2011-11-13 23:14:15 +0000 Tim-Philipp Müller * gst/gsturi.h: uri: clean up header files Tabs to spaces. 2011-11-13 23:07:58 +0000 Tim-Philipp Müller * gst/gstelementfactory.c: * gst/gstelementfactory.h: * gst/gsturi.c: * gst/gsturi.h: urihandler: fix return type of get_protocols() 2011-11-13 20:56:02 +0000 Tim-Philipp Müller * gst/gstelementfactory.c: * gst/gstelementfactory.h: * gst/gsturi.h: urihandler: fix return type of _get_uri_type() Return a GstURIType and not a plain guint. 2011-11-13 17:45:19 +0000 Tim-Philipp Müller * tests/check/elements/filesink.c: * tests/check/elements/filesrc.c: tests: update unit tests for URI handler API changes 2011-11-13 17:44:57 +0000 Tim-Philipp Müller * plugins/elements/gstfdsink.c: * plugins/elements/gstfdsrc.c: * plugins/elements/gstfilesink.c: * plugins/elements/gstfilesrc.c: elements: update fd + file sources and sinks for GstUriHandler changes 2011-11-13 17:44:06 +0000 Tim-Philipp Müller * docs/random/porting-to-0.11.txt: * gst/gst.c: * gst/gsturi.c: * gst/gsturi.h: * win32/common/libgstreamer.def: urihandler: pass GError argument to gst_uri_handler_set_uri() Also let gst_uri_handler_set_uri check already if the protocol is supported, so that not every uri handler has to do that itself. 2011-11-13 15:51:44 +0000 Tim-Philipp Müller * gst/gsturi.c: * gst/gsturi.h: urihandler: make _get_uri() return a copy For thread-safety. 2011-11-13 15:37:40 +0000 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gsturi.c: * gst/gsturi.h: * plugins/elements/gstfilesrc.c: urihandler: remove "new-uri" signal No one but filesrc used that API. Should probably be replaced by requiring an "uri" property instead, and then objects can do a notify on that. Also removed interface structure padding, it's not needed. 2011-11-13 13:23:09 +0000 Tim-Philipp Müller Merge remote-tracking branch 'origin/master' into 0.11 Conflicts: tools/gst-inspect.c 2011-11-12 16:42:14 +0000 Tim-Philipp Müller * tools/gst-inspect.c: gst-inspect: print current value as default value Instead of printing separate 'Current' and 'Default' values (the former obtained via g_object_get() and the latter from the property GParamSpec), simply print the Current value as the Default value. This is the right thing to do for almost all elements and avoids confusion if a subclass of a base class chooses a different default than the base class. 2011-11-12 14:55:07 +0000 Tim-Philipp Müller * gst/gstelementfactory.c: * gst/gstparse.c: * gst/gstplugin.c: * libs/gst/controller/gstinterpolationcontrolsource.c: gst, controller: replace g_list_prepend + reverse with GQueue 2011-11-12 14:04:10 +0000 Tim-Philipp Müller * gst/gstbuffer.h: docs: fix typo in buffer docs 2011-11-12 01:54:44 +0100 René Stadler * libs/gst/base/gstbasetransform.c: basetransform: fix caps unref in transform_caps filter subset check I did not test this, but the code looked very wrong. 2011-11-12 01:51:11 +0100 René Stadler * gst/gstquery.c: query: do not return a ref from parse_accept_caps Makes this exactly like gst_event_parse_caps. This is what current code expects, so it fixes some leaks. 2011-11-11 17:17:43 +0100 Wim Taymans * libs/gst/base/gstbaseparse.h: * libs/gst/base/gstbitreader-docs.h: * libs/gst/base/gstbitreader.h: * libs/gst/base/gstbytereader-docs.h: * libs/gst/base/gstbytereader.h: * libs/gst/base/gstbytewriter.h: * libs/gst/base/gstcollectpads.h: * libs/gst/base/gstcollectpads2.h: * libs/gst/check/gstbufferstraw.h: * libs/gst/check/gstcheck.h: * libs/gst/controller/gstinterpolationcontrolsource.h: * libs/gst/controller/gstinterpolationcontrolsourceprivate.h: * libs/gst/controller/gstlfocontrolsource.h: * libs/gst/controller/gstlfocontrolsourceprivate.h: * libs/gst/dataprotocol/dataprotocol.h: * libs/gst/net/gstnetaddressmeta.h: * libs/gst/net/gstnetclientclock.h: * libs/gst/net/gstnettimepacket.h: * libs/gst/net/gstnettimeprovider.h: .h: fix header files Ensure correct indentation and retab Make sure all structure have padding 2011-11-11 16:52:41 +0100 Wim Taymans * gst/gst.h: * gst/gstbufferpool.h: * gst/gstbus.h: * gst/gstchildproxy.h: * gst/gstclock.c: * gst/gstclock.h: * gst/gstcontrolsource.h: * gst/gstdatetime.h: * gst/gstelement.h: * gst/gstelementfactory.h: * gst/gstformat.h: * gst/gstghostpad.h: * gst/gstindex.h: * gst/gstindexfactory.h: * gst/gstiterator.h: * gst/gstmemory.h: * gst/gstmeta.h: * gst/gstminiobject.h: * gst/gstobject.h: * gst/gstpad.h: * gst/gstpadtemplate.h: * gst/gstparamspecs.h: * gst/gstpipeline.h: * gst/gstplugin.h: * gst/gstpluginfeature.h: * gst/gstpluginloader.h: * gst/gstpreset.h: * gst/gstregistry.h: * gst/gsttagsetter.h: * gst/gsttask.h: * gst/gsttaskpool.h: * gst/gsttrace.h: * gst/gsttypefindfactory.h: * gst/gstutils.h: * gst/gstvalue.h: .h: fix header files Ensure correct indentation and :retab. Make sure all structures have padding Fix up some old ABI additions. 2011-11-11 17:04:52 +0200 Stefan Sauer * gst/gstobject.c: docs: fix invalid xml 2011-11-11 10:00:35 +0100 Wim Taymans * gst/gstbuffer.c: buffer: avoid < -1 sizes 2011-11-11 01:47:30 +0000 Tim-Philipp Müller * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstmemory.c: * gst/gstmemory.h: buffer, memory: make size arguments where -1 is allowed signed 2011-11-11 01:44:16 +0000 Tim-Philipp Müller * win32/common/libgstreamer.def: win32: update .def file for latest API changes 2011-11-10 19:37:28 +0200 Stefan Sauer * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * docs/gst/gstreamer.types.in: * docs/random/porting-to-0.11.txt: * gst/Makefile.am: * gst/gst.h: * gst/gstcontroller.c: * gst/gstcontroller.h: * gst/gstcontrolsource.c: * gst/gstobject.c: * gst/gstobject.h: * tests/benchmarks/controller.c: * tests/check/libs/controller.c: * tests/examples/controller/audio-example.c: controller: merge controller into gstobject This make the controller even more lightweight (no extra object, no extra lock, less indirections). For object that don't use the controller the only 'overhead' is a 3 unused fields in the gst_object structure. 2011-11-10 18:58:35 +0100 Wim Taymans * libs/gst/net/gstnetaddressmeta.c: * libs/gst/net/gstnetaddressmeta.h: netmeta: avoid using g[u]long in headers 2011-11-10 18:18:24 +0100 Wim Taymans * libs/gst/base/gstadapter.c: * libs/gst/base/gstadapter.h: * libs/gst/base/gstbaseparse.c: * plugins/elements/gsttypefindelement.c: * tests/check/libs/adapter.c: adapter: remove flush from _unmap 2011-11-10 16:02:59 +0100 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: implement a default get_caps function Don't rely on the return value of a vmethod to trigger the default implementation but make a real defaul implementation of the method that the subclass can chain up to. 2011-11-10 14:13:54 +0000 Vincent Penquerc'h * gst/gstbuffer.c: gstbuffer: remove incorrect assertion Offset and sizes have no bearing on each other here. 2011-11-10 13:59:28 +0100 Edward Hervey * win32/common/libgstcontroller.def: * win32/common/libgstreamer.def: win32: Update def files 2011-11-10 13:53:33 +0100 Edward Hervey * gst/gstbuffer.c: * gst/gstbufferpool.c: * gst/gstmemory.c: gst: More introspection annotations 2011-11-10 13:51:28 +0100 Edward Hervey * gst/gstmemory.c: * gst/gstmemory.h: gstmemory: Register a GBoxed GType Allows using it from g-i 2011-11-10 13:50:23 +0100 Edward Hervey * gst/Makefile.am: * libs/gst/base/Makefile.am: * libs/gst/check/Makefile.am: * libs/gst/controller/Makefile.am: * libs/gst/net/Makefile.am: introspection: Add --warn-all to introspection scanner ... and let's get fixing all those docs ! 2011-11-10 13:38:58 +0100 Wim Taymans * libs/gst/base/gstbasetransform.c: basetransform: fix vmethods Make a default implementation of the transform_caps vmethod so that subclasses can call into it. Make a default implementation of transform_size. Avoid doing something in the vmethod trampoline. 2011-11-10 13:37:12 +0100 Wim Taymans * tests/check/libs/test_transform.c: tests: only override when != NULL Only override the methods in the unit tests when != NULL otherwise we might override the default implementation. 2011-11-10 13:36:10 +0100 Wim Taymans * libs/gst/base/gstpushsrc.c: * libs/gst/base/gstpushsrc.h: pushsrc: make alloc method a vmethod 2011-11-10 12:33:49 +0100 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: reorder vmethod according to .h file 2011-11-10 12:33:33 +0100 Wim Taymans * libs/gst/base/gstbasesink.h: basesink: improve comments 2011-11-10 12:33:10 +0100 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: don't do things in the vmethod trampoline 2011-11-10 12:09:57 +0100 Wim Taymans * gst/gstbin.c: * gst/gstelement.c: element: add a default set_clock implementation Add a default set_clock implementation and avoid doing work in the vmethod trampoline. This requires subclasses to chain up. 2011-11-10 12:08:51 +0100 Wim Taymans * gst/gstelement.c: element: don't do anything in the vmethod trampoline Avoid doing stuff in the vmethod trampoline, just let the default implementation of the method take care of things. 2011-11-10 12:08:15 +0100 Wim Taymans * gst/gstelement.c: element: fix some docs 2011-11-10 11:42:26 +0100 Wim Taymans * libs/gst/base/gstadapter.c: * libs/gst/base/gstadapter.h: adapter: use gpointer for return types 2011-11-10 11:12:36 +0100 Wim Taymans * docs/random/porting-to-0.11.txt: porting: update doc 2011-11-10 10:58:42 +0100 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gstghostpad.c: * gst/gstghostpad.h: * gst/gstpad.c: * gst/gstpad.h: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: * tests/check/gst/gstpad.c: * tools/gst-inspect.c: pad: remove GstPadFixateCapsFunction The fixate caps function was not used externally and we have vmethods in the base classes where it is needed. Update some docs. simplify some fixate functions in the base classes. Also pass the untruncated caps to the vmethod. 2011-11-09 17:43:49 +0100 Wim Taymans * gst/gstpad.c: pad: don't store events on flushing pads check the flushing state of the pad before storing the event. 2011-11-09 17:36:00 +0100 Wim Taymans * gst/gstghostpad.c: * gst/gstpad.c: * gst/gstpad.h: * gst/gstquark.c: * gst/gstquark.h: * gst/gstquery.c: * gst/gstquery.h: * libs/gst/base/gstbasetransform.c: * plugins/elements/gstinputselector.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstqueue.c: * plugins/elements/gstqueue2.c: * plugins/elements/gsttee.c: * tools/gst-inspect.c: pad: make an ACCEPT_CAPS query Replace the acceptcaps function with a query. 2011-11-09 17:25:30 +0100 Wim Taymans * gst/gstpad.c: * plugins/elements/gsttypefindelement.c: pad: refuse events in flushing when we are flushing, don't store the event on the pad but simply return FALSE. Don't deactivate the srcpad, we need it to be active in order to push the caps. Downstream can change the scheduling mode of an active pad. 2011-11-09 17:19:12 +0100 Wim Taymans * gst/gstelement.h: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: element: remove more query_types 2011-11-09 11:05:59 +0100 Stefan Sauer * Android.mk: * tests/examples/controller/Makefile.am: Android: build audio controller example Add buildsystem hooks for building the audiocontroller example with the NDK. Signed-off-by: Reynaldo H. Verdejo Pinochet 2011-11-09 12:21:17 +0100 René Stadler * tests/check/gst/gstpad.c: tests: pad: add tests for sticky caps handling test_sticky_caps_flushing is currently failing. 2011-11-09 12:12:26 +0100 Wim Taymans * common: update common 2011-11-09 12:03:28 +0100 Wim Taymans Merge branch 'master' into 0.11 2011-11-09 12:02:12 +0100 Wim Taymans * docs/random/porting-to-0.11.txt: porting: update porting doc 2011-11-09 11:47:10 +0100 Wim Taymans * gst/gstelement.c: * gst/gstelement.h: * gst/gstghostpad.c: * gst/gstghostpad.h: * gst/gstpad.c: * gst/gstpad.h: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasetransform.c: * tools/gst-inspect.c: remove query types It was not really useful 2011-11-08 18:09:28 +0000 Vincent Penquerc'h * gst/gstvalue.c: gstvalue: consider lists and ranges equal if they hold the same set This fixes caps operations when different elements advertise some of their caps' properties differently (eg, for audio channels, either a range from 1 to 2, or a list of 1 and 2). https://bugzilla.gnome.org/show_bug.cgi?id=663643 2011-11-09 11:24:26 +0100 Stefan Sauer * tests/check/gst/gststructure.c: tests: add a subset test for structure 2011-11-09 11:22:36 +0100 Wim Taymans * gst/gstghostpad.c: * plugins/elements/gstinputselector.c: * plugins/elements/gstmultiqueue.c: pad: add more queries Add more query functions to prepare for doing more with queries 2011-10-28 13:39:58 +0200 Stefan Sauer * docs/manual/advanced-dparams.xml: docs: also fix wrong call order for controller in manual 2011-11-08 17:32:11 +0100 Wim Taymans * docs/design/part-probes.txt: * gst/gstpad.c: * gst/gstpad.h: pad: install query probes Fire query probes according to updated design doc. 2011-11-08 15:51:48 +0100 Wim Taymans * gst/gstpad.h: pad: remove lock/unlock_full versions of stream-lock 2011-11-08 15:48:34 +0100 Wim Taymans * gst/gstpad.h: pad: add defines for query probes 2011-11-08 13:30:18 +0100 Wim Taymans * tests/check/gst/gstpad.c: pad: fix unit test 2011-11-08 13:13:55 +0100 Wim Taymans * gst/gstbuffer.c: buffer: update docs 2011-11-08 13:02:04 +0100 Wim Taymans * tests/check/gst/gstpad.c: test: port to 0.11 2011-11-08 12:54:15 +0100 Wim Taymans Merge branch 'master' into 0.11 Conflicts: gst/gstelement.h gst/gstghostpad.c gst/gstminiobject.c 2011-11-08 12:47:33 +0100 Wim Taymans * docs/design/part-probes.txt: * gst/gstpad.c: * gst/gstpad.h: pad: add pull mode probes Allow probes to inspect the offset and size from a probe in pull mode and allow the probe to modify the buffer. Update design doc a little. 2011-11-08 12:22:21 +0100 René Stadler * tests/check/gst/gstpad.c: tests: pad: add test to verify flushing behaviour Seems like a trivial case, but this was actually broken in 0.11 recently. 2011-11-08 11:04:19 +0100 Wim Taymans * gst/gstpad.c: * gst/gstpad.h: * libs/gst/check/gstbufferstraw.c: * libs/gst/check/gstconsistencychecker.c: * tests/check/elements/selector.c: * tests/check/generic/sinks.c: * tests/check/gst/gstevent.c: * tests/check/gst/gstghostpad.c: * tests/check/gst/gstpad.c: * tests/check/gst/gstutils.c: * tests/check/libs/basesrc.c: * tests/check/pipelines/queue-error.c: pad: Add GstPadProbeInfo Make a new GstPadProbeInfo structure and pass this in the probe callback. This allows us to add more things later and also allow the callback to replace or modify the passed object. 2011-11-08 08:26:29 +0100 Stefan Sauer * gst/gstevent.c: event: log creation of qos events at LOG level instead at INFO 2011-11-07 16:57:37 +0100 Stefan Sauer * gst/gstbuffer.c: buffer: improve parameter docs 2011-11-08 00:32:36 +0000 Tim-Philipp Müller * gst/gstcaps.c: * gst/gstelement.h: * gst/gstghostpad.c: * gst/gstminiobject.c: * gst/gststructure.c: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasesrc.c: * plugins/elements/gstinputselector.c: * plugins/elements/gstmultiqueue.c: docs: fix Since: markers for API added after 0.10.35 2011-11-08 00:15:49 +0000 Tim-Philipp Müller * win32/common/libgstreamer.def: win32: update .def file for new API API: gst_caps_is_strictly_equal() 2011-11-07 17:17:39 +0100 Wim Taymans Merge branch 'master' into 0.11 Conflicts: gst/gstvalue.c 2011-11-07 17:04:13 +0100 Wim Taymans * gst/gstpad.c: * gst/gstpad.h: * libs/gst/check/gstconsistencychecker.c: * tests/check/elements/selector.c: * tests/check/generic/sinks.c: * tests/check/gst/gstevent.c: * tests/check/gst/gstpad.c: * tests/check/gst/gstutils.c: * tests/check/libs/basesrc.c: * tests/check/pipelines/queue-error.c: pad: rework pad probes Make a separate cookie to detect chancges in the list of probes and keeping track of what hooks have been invoked yet. Remove the requirement to have probes on srcpads in push mode and sinkpads in pull mode. Add some more debug. Keep track of what callbacks got executed. If no callback is called and we are a blocking pad, let the item pass. This allows you to block pads on selected items only. Explicitly have an UPSTREAM and DOWNSTREAM PadProbeType. This allows you to only block the pad on upstream or downstream items. Add convenience macros to only block on downstream/upstream items. 2011-10-27 12:59:57 +0100 Vincent Penquerc'h * gst/gstcaps.c: gstcaps: remove unneeded use of gint64 https://bugzilla.gnome.org/show_bug.cgi?id=662777 2011-10-27 12:24:13 +0100 Vincent Penquerc'h * gst/gststructure.c: * gst/gstvalue.c: gstvalue: quicker version of intersection when we do not need the result https://bugzilla.gnome.org/show_bug.cgi?id=662777 2011-10-27 12:02:43 +0100 Vincent Penquerc'h * gst/gststructure.c: gststructure: simplify return statement in gst_structure_can_intersect https://bugzilla.gnome.org/show_bug.cgi?id=662777 2011-10-27 11:41:30 +0100 Vincent Penquerc'h * gst/gststructure.c: gststructure: early out when we know a value cannot be a subset If two values can be ordered, but are unequal, they are necessarily distinct, thus one cannot be a subset of the other. https://bugzilla.gnome.org/show_bug.cgi?id=662777 2011-10-27 10:35:53 +0100 Vincent Penquerc'h * gst/gststructure.c: * gst/gstvalue.c: gstvalue: quicker test for substraction emptiness When we do not care about the actual resulting set, but only whether it is empty of not, we can skip a fair bit of GValue juggling. Add a function that does so, since we cannot just pass NULL to the existing API as it may be part of the API contract. https://bugzilla.gnome.org/show_bug.cgi?id=662777 2011-10-27 09:45:41 +0100 Vincent Penquerc'h * gst/gststructure.c: gststructure: rejig test ordering for speed https://bugzilla.gnome.org/show_bug.cgi?id=662777 2011-11-07 12:28:22 +0100 Stefan Sauer * docs/random/porting-to-0.11.txt: docs: mention more api changes in the porting guide 2011-11-07 10:40:23 +0100 Wim Taymans * gst/gstcaps.c: caps: fix compilation 2011-11-07 10:01:27 +0100 Wim Taymans Merge branch 'master' into 0.11 Conflicts: libs/gst/base/gstbasetransform.c 2011-11-06 00:07:10 +0000 Tim-Philipp Müller * gst/gstcontroller.c: Revert "controller: fix g_return statement" This reverts commit 593d2b297bd7b5ce9dbcdf2f1ae2b7624d94d6ae. gst_controller_set_disabled () returns a void. 2011-11-05 12:10:29 +0000 Tim-Philipp Müller * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: docs: remove refs to removed API 2011-11-04 21:37:45 +0100 Stefan Sauer * gst/gstcontroller.c: * gst/gstobject.c: controller: the object needs a ref to the controller for the convenience api Add a hack to ensure the object will have a ref to the controller once we create it. Fixes the audio example (that uses the controller api directly). 2011-11-04 21:37:21 +0100 Stefan Sauer * gst/gstcontroller.c: controller: fix g_return statement 2011-11-04 21:35:55 +0100 Stefan Sauer * gst/gstcontroller.c: controller: logging tweaks Don't log in _new before we have the log category. Use _OBJECT variants. 2011-11-05 01:27:54 +0000 Tim-Philipp Müller * gst/gstcontroller.c: * gst/gstobject.c: gst: fix some compiler warnings gstobject.c: In function 'gst_object_has_active_automation': gstobject.c:1076:3: error: 'return' with no value, in function returning non-void gstcontroller.c: In function 'gst_controller_is_active': gstcontroller.c:509:3: error: 'return' with no value, in function returning non-void 2011-11-04 20:50:58 +0100 Stefan Sauer * docs/gst/gstreamer-sections.txt: * gst/gstcontroller.c: * gst/gstcontroller.h: * gst/gstobject.c: * gst/gstobject.h: controller: add api to check for active controllers (needed for e.g. volume) 2011-11-04 20:32:32 +0100 Stefan Sauer * gst/gstobject.h: controller: remove obsolete comments from api transition 2011-11-04 14:00:24 +0100 Stefan Sauer * tests/check/libs/controller.c: * tests/check/libs/gstlibscpp.cc: controller: fix tests after move and API changes 2011-11-04 11:42:34 +0100 Stefan Sauer * tests/benchmarks/controller.c: * tests/examples/controller/audio-example.c: * tools/gst-inspect.c: controller: port to new controller api 2011-11-04 11:39:25 +0100 Stefan Sauer * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * docs/gst/gstreamer.types.in: * docs/libs/Makefile.am: * docs/libs/gstreamer-libs-docs.sgml: * docs/libs/gstreamer-libs-sections.txt: * docs/libs/gstreamer-libs.types: controller: update docs for controller move 2011-11-04 11:34:11 +0100 Stefan Sauer * gst/Makefile.am: * gst/gst.h: * gst/gstclock.h: * gst/gstcontroller.c: * gst/gstcontroller.h: * gst/gstcontrolsource.c: * gst/gstcontrolsource.h: * gst/gstobject.c: * gst/gstobject.h: * libs/gst/controller/Makefile.am: * libs/gst/controller/gstcontrollerprivate.h: * libs/gst/controller/gsthelper.c: * libs/gst/controller/gstinterpolationcontrolsource.c: * libs/gst/controller/gstinterpolationcontrolsource.h: * libs/gst/controller/gstlfocontrolsource.c: * libs/gst/controller/gstlfocontrolsource.h: * libs/gst/controller/lib.c: controller: move to core/gstobject Move the controller to gstobject as a simple delegate. The controller and controlsource are not classes in core. The controlsources stay separate as a lib for now. This way we can avoid the qdata lookups. Also remove controller_init(). There is no more need to link to controller for elements. Also sanitize the API. We now have functions to add properties like we had methods to remove that. That avoids then ref count hacks we had in _new. 2011-11-03 18:23:13 +0100 Stefan Sauer * docs/random/porting-to-0.11.txt: docs: small clarification 2011-11-03 18:22:16 +0100 Stefan Sauer * docs/gst/gstreamer-sections.txt: docs: missing rename iface->interface in the docs 2011-11-04 19:17:06 +0100 Wim Taymans * gst/gstbin.c: bin: fix the iterator copy 2011-11-04 19:11:19 +0100 Wim Taymans Merge branch 'master' into 0.11 Conflicts: gst/gstbin.c 2011-11-03 15:36:59 +0000 Sjoerd Simons * libs/gst/base/gstbasetransform.c: basetransform: Only use the cached transform on strictly equal caps https://bugzilla.gnome.org/show_bug.cgi?id=663333 2011-11-03 15:35:32 +0000 Sjoerd Simons * gst/gstcaps.c: * gst/gstcaps.h: caps: Add gst_caps_is_strictly_equal 2011-11-04 18:47:10 +0100 Wim Taymans * tests/check/generic/sinks.c: * tests/check/gst/gstevent.c: tests: fix tests Since blocks are not on both directions, we need to check in the block callback if we are not blocking on an upstream event and let it pass. 2011-11-04 18:19:14 +0100 Wim Taymans * docs/design/part-probes.txt: * gst/gstpad.c: pad: make probes work on all pads fixes #644907 2011-10-15 22:52:25 +0300 Peteris Krisjanis * gst/gstclock.h: introspection: add Value annotations for GST_SECOND, GST_MSECOND, GST_USECOND, GST_NSECOND constants gobject-introspection won't parse them properly otherwise. Still need to force the right type though (either GstClockTime or guint64), but Type: xyz has no effect for me here, so someone with a newer g-i needs to test this. Some other defines are also missing, e.g. GST_CLOCK_TIME_NONE. 2011-11-04 00:03:05 +0000 Tim-Philipp Müller * configure.ac: configure: suppress unused variable warnings if gst debugging is disabled https://bugzilla.gnome.org/show_bug.cgi?id=662952 2011-11-04 00:02:07 +0000 Tim-Philipp Müller * configure.ac: configure: fix typo around GLIB_EXTRA_CFLAGS in GST_ALL_CXXFLAGS 2011-11-03 23:08:52 +0000 Tim-Philipp Müller * plugins/elements/gstqueue.c: * plugins/elements/gstqueue.h: queue: use statically allocated GQueue 2011-11-03 22:58:50 +0000 Tim-Philipp Müller * gst/gstbin.c: bin: use statically allocated GQueue Because we can. 2011-11-03 22:51:57 +0000 Tim-Philipp Müller * libs/gst/base/gstcollectpads2.h: collectpads2: use flags enum instead of guint in structure 2011-11-03 08:47:20 +0000 Tim-Philipp Müller * plugins/elements/gstqueue2.c: * plugins/elements/gstqueue2.h: queue2: use statically allocated GQueue 2011-11-03 17:49:45 +0100 Wim Taymans * plugins/elements/gstfunnel.c: * plugins/elements/gstinputselector.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstoutputselector.c: * plugins/elements/gsttee.c: * plugins/elements/gsttee.h: * tests/check/elements/funnel.c: * tests/check/elements/multiqueue.c: * tests/check/elements/selector.c: * tests/check/elements/tee.c: * tests/check/gst/gstutils.c: * tests/check/pipelines/parse-launch.c: fix request pad Make all request pads take _%u in the template. Fix up unit tests. 2011-11-03 16:49:48 +0100 Wim Taymans * win32/common/libgstnet.def: def: update defs 2011-11-03 16:46:35 +0100 Wim Taymans * common: * libs/gst/net/Makefile.am: * libs/gst/net/gstnetaddressmeta.c: * libs/gst/net/gstnetaddressmeta.h: net: add net address metadata 2011-11-03 14:26:12 +0100 Wim Taymans * libs/gst/net/gstnettimeprovider.c: * libs/gst/net/gstnettimeprovider.h: nettime: clean up header 2011-11-03 14:14:54 +0100 Wim Taymans * gst/gsttask.c: task: don't use lock/unlock_full 2011-11-03 11:30:52 +0100 Wim Taymans Merge branch 'master' into 0.11 Conflicts: gst/gstghostpad.c 2011-11-02 12:37:15 +0100 Wim Taymans * gst/gstpad.c: pad: small cleanup 2011-10-25 17:26:50 -0400 Nicolas Dufresne * gst/gstghostpad.c: * tests/check/gst/gstghostpad.c: ghostpad: Don't cache internal proxy pad target The internal proxy pad target is simply a cache of the internal proxy pad peer. This patch uses the well implement GstPad peer handling to obtain the target. This fixes issues with target not being set in both direction when two ghostpads are linked together (empty bin). https://bugzilla.gnome.org/show_bug.cgi?id=658517 2011-11-02 12:06:47 +0100 Wim Taymans * docs/random/porting-to-0.11.txt: * gst/gstutils.c: * gst/gstutils.h: * libs/gst/base/gstbaseparse.c: * tests/check/gst/gstutils.c: * win32/common/libgstreamer.def: utils: remove _found_tags_ API remove gst_element_found_tags() and gst_element_found_tags_for_pad(), they are nothing more than a wrapper around gst_pad_push_event() 2011-11-02 10:29:04 +0100 Wim Taymans Merge branch 'master' into 0.11 Conflicts: common configure.ac 2011-10-30 21:33:11 +0100 Wim Taymans * gst/gstbuffer.h: buffer: improve docs 2011-10-29 09:43:04 +0200 Wim Taymans * gst/gstevent.c: * gst/gstevent.h: event: make GstSegment argument const 2011-10-29 09:41:08 +0200 Wim Taymans * docs/gst/gstreamer-sections.txt: docs: remove metatiming from docs 2011-10-29 09:26:49 +0200 Wim Taymans * docs/gst/gstreamer-sections.txt: * docs/random/porting-to-0.11.txt: * gst/gstpad.c: * gst/gsttask.c: * gst/gsttask.h: * tests/check/gst/gstmessage.c: * tests/check/gst/gsttask.c: * win32/common/libgstreamer.def: task: api cleanup gst_task_create() -> gst_task_new() 2011-10-29 09:02:00 +0200 Wim Taymans * docs/gst/gstreamer-sections.txt: * docs/random/porting-to-0.11.txt: * gst/gstbufferpool.c: * gst/gstcaps.c: * gst/gstelement.c: * gst/gstevent.c: * gst/gstmessage.c: * gst/gstquery.c: * gst/gststructure.c: * gst/gststructure.h: * gst/gsttaglist.c: * tests/check/gst/gstevent.c: * tests/check/gst/gstiterator.c: * tests/check/gst/gststructure.c: * tests/check/pipelines/simple-launch-lines.c: * win32/common/libgstreamer.def: structure: cleanup API gst_structure_empty_new() -> gst_structure_new_empty() gst_structure_id_empty_new() -> gst_structure_new_id_empty() gst_structure_id_new() -> gst_structure_new_id() 2011-10-29 08:38:51 +0200 Wim Taymans * gst/gstmeta.c: * gst/gstmeta.h: meta: remove timing metadata This is now on buffers by default 2011-10-29 08:24:12 +0200 Wim Taymans * docs/gst/gstreamer-sections.txt: * docs/random/porting-to-0.11.txt: * gst/gstbufferlist.c: * gst/gstbufferlist.h: * gst/gstpad.c: * libs/gst/base/gstbasesink.c: * plugins/elements/gstmultiqueue.c: * tests/check/gst/gstbufferlist.c: * win32/common/libgstreamer.def: bufferlist: clean up API gst_buffer_list_len() -> gst_buffer_list_length() gst_buffer_list_sized_new() -> gst_buffer_list_new_sized() 2011-11-01 14:17:21 +0000 Tim-Philipp Müller * libs/gst/base/gstadapter.c: adapter: simplify gst_adapter_take_list() Use a stack-allocated GQueue to assemble our GList. 2011-11-01 10:56:39 +0000 Tim-Philipp Müller * docs/random/porting-to-0.11.txt: docs: mention GstActivateMode rename in porting doc 2011-11-01 00:25:02 +0000 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gst.c: * gst/gstpad.c: * gst/gstpad.h: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesink.h: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: * plugins/elements/gsttee.c: * plugins/elements/gsttee.h: * win32/common/gstenumtypes.c: * win32/common/libgstreamer.def: pad: rename GstActivateMode to GstPadActivateMode These might be useful: sed -i -e 's/GstActivateMode/GstPadActivateMode/g' `git grep GstActivateMode | sed -e 's/:.*//' | sort -u` sed -i -e 's/GST_ACTIVATE_/GST_PAD_ACTIVATE_/g' `git grep GST_ACTIVATE_ | sed -e 's/:.*//' | sort -u` 2011-11-01 00:13:35 +0000 Tim-Philipp Müller * docs/design/part-probes.txt: * docs/gst/gstreamer-sections.txt: * docs/random/porting-to-0.11.txt: * gst/gst.c: * gst/gstpad.c: * gst/gstpad.h: * libs/gst/check/gstbufferstraw.c: * libs/gst/check/gstconsistencychecker.c: * tests/check/elements/selector.c: * tests/check/generic/sinks.c: * tests/check/gst/gstevent.c: * tests/check/gst/gstghostpad.c: * tests/check/gst/gstpad.c: * tests/check/gst/gstpipeline.c: * tests/check/gst/gstutils.c: * tests/check/libs/basesrc.c: * tests/check/pipelines/queue-error.c: * win32/common/gstenumtypes.c: * win32/common/libgstreamer.def: pad: rename GstProbeType and GstProbeReturn to GstPadProbe{Type,Return} Better now than later in the cycle. These might come in handy: sed -i -e 's/GstProbeReturn/GstPadProbeReturn/g' `git grep GstProbeReturn | sed -e 's/:.*//' | sort -u` sed -i -e 's/GST_PROBE_/GST_PAD_PROBE_/g' `git grep GST_PROBE_ | sed -e 's/:.*//' | sort -u` sed -i -e 's/GstProbeType/GstPadProbeType/g' `git grep GstProbeType | sed -e 's/:.*//' | sort -u` 2011-10-31 23:32:17 +0000 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gsttaglist.c: * gst/gsttaglist.h: * win32/common/libgstreamer.def: taglist: remove gst_tag_list_get_*long*() No one uses this or should ever need to use it, since the size is architecture-specific anyway. If normal integers don't do, one should use 64-bit integers. 2011-10-31 19:04:20 +0000 Tim-Philipp Müller * win32/common/libgstreamer.def: Update .def file for removed/changed API 2011-10-31 19:23:41 +0100 René Stadler * libs/gst/base/gstbasetransform.c: basetransform: fix crash/warning in find_transform when pad is unlinked Looks like the revert conflict in commit a44271 was resolved incorrectly. 2011-10-31 17:45:44 +0000 Tim-Philipp Müller * common: * configure.ac: configure: make GLIB_EXTRA_CFLAGS overwritable Make 'make GLIB_EXTRA_CFLAGS=...' work. 2011-10-31 14:16:05 +0000 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/Makefile.am: * gst/gstfilter.c: * gst/gstfilter.h: * gst/gstpluginfeature.c: * gst/gstpluginfeature.h: * gst/gstregistry.c: filter: remove gst_filter_run() and deprecated filter func If someone wants to resurrect this, please use a less generic name space for it. 2011-10-31 14:03:15 +0000 Tim-Philipp Müller Merge remote-tracking branch 'origin/master' into 0.11 Conflicts: gst/gstpluginfeature.c 2011-10-30 10:26:11 +0000 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * docs/random/porting-to-0.11.txt: * gst/gsttaglist.c: * gst/gsttaglist.h: * gst/gsttagsetter.c: * libs/gst/base/gstbaseparse.c: * tests/check/gst/gstevent.c: * tests/check/gst/gstmessage.c: * tests/check/gst/gsttag.c: * tests/check/gst/gsttagsetter.c: * tests/check/gst/gstutils.c: taglist: rename _new() to _new_empty() and new_full*() to new*() 2011-10-30 21:54:36 +0000 Tim-Philipp Müller * gst/gstfilter.c: * gst/gstfilter.h: filter: deprecate gst_filter_run() It's not really used outside of core at all, and has serious namespace issues. If anyone feels the need to revive this one, please use a less generic name space. API: deprecate gst_filter_run() API: deprecate GstFilterFunc 2011-10-30 21:39:36 +0000 Tim-Philipp Müller * gst/gstregistry.c: registry: don't use soon-to-be-deprecated gst_filter_run() Lines-of-code savings are negligible anyway. 2011-10-30 21:21:59 +0000 Tim-Philipp Müller * gst/gstpluginfeature.c: * gst/gstpluginfeature.h: * gst/gstregistry.c: * tests/check/gst/struct_x86_64.h: pluginfeature: deprecate gst_plugin_feature_type_name_filter() It's only used internally anyway and the helper struct has namespace issues. API: deprecated gst_plugin_feature_type_name_filter() API: deprecated GstTypeNameData 2011-10-30 10:05:23 +0000 Tim-Philipp Müller * gst/gsttaglist.c: * gst/gsttaglist.h: taglist: make opaque Hide the fact that it's just a GstStructure from the API. We may want to change this in future (e.g. to add refcounting). Also, it caused problems for bindings (though that's mostly the way we typedefed it to GstStructure). 2011-10-30 10:00:28 +0000 Tim-Philipp Müller Merge remote-tracking branch 'origin/master' into 0.11 2011-10-30 09:58:16 +0000 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gsttaglist.c: * gst/gsttaglist.h: * tests/check/gst/gsttag.c: * win32/common/libgstreamer.def: taglist: add to_string and new_from_string functions We want to make GstTagList opaque and not have people use GstStructure API on it. API: gst_tag_list_to_string() API: gst_tag_list_new_from_string() 2011-10-30 09:31:39 +0000 Tim-Philipp Müller Merge remote-tracking branch 'origin/master' into 0.11 2011-10-30 01:46:22 +0100 Tim-Philipp Müller * gst/gsttaglist.c: taglist: avoid pointless tag name -> quark lookups We never get a tag name quark from a caller, it's always a string, from which we'll try to look up our tag info in the hash table, so change the hash table key from quark to string. Avoids a bunch of pointless string => quark lookup in the global quark table. We need to do an extra string => quark conversion now when we copy a taglist, but in that case we're in a slow path anyway. 2011-10-30 00:44:44 +0100 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gsttaglist.c: * gst/gsttaglist.h: * tests/check/gst/gsttag.c: * win32/common/libgstreamer.def: taglist: add gst_tag_list_is_equal() API: gst_tag_list_is_equal() 2011-10-29 23:52:22 +0100 Tim-Philipp Müller * gst/gststructure.c: structure: identical structures are definitely equal 2011-10-29 20:06:54 +0100 Tim-Philipp Müller * gst/gsttaglist.h: taglist: fix string for GST_TAG_ARTIST_SORTNAME For historical reasons it was mapped to a musicbrainz prefix, but it's not really musicbrainz-specific at all. 2011-10-29 19:59:05 +0100 Tim-Philipp Müller * gst/gst_private.h: * gst/gstelementfactory.h: elementfactory: move private functions for registry to private header 2011-10-28 21:40:47 +0200 René Stadler * libs/gst/base/gstbasetransform.c: basetransform: fix invalid access to unreffed allocation query 2011-10-28 16:45:23 +0200 Wim Taymans * gst/gstbuffer.h: buffer: fix docs some more 2011-10-28 16:27:43 +0200 Wim Taymans Merge branch 'master' into 0.11 Conflicts: libs/gst/base/gstbasetransform.c 2011-10-28 16:08:37 +0200 Wim Taymans * tests/check/gst/gstsegment.c: tests: fix segment check 2011-10-28 15:52:58 +0200 Wim Taymans * gst/gstsegment.c: * gst/gstsegment.h: segment: remove GST_SEEK_TYPE_CUR 2011-10-28 15:52:41 +0200 Wim Taymans * gst/gstbuffer.h: buffer: improve docs 2011-10-28 15:16:43 +0200 Wim Taymans * plugins/elements/gstdataurisrc.c: make elements compile again 2011-10-28 13:02:26 +0200 Sebastian Dröge * libs/gst/base/gstbytewriter.h: bytewriter: Add padding 2011-10-28 13:02:19 +0200 Sebastian Dröge * libs/gst/base/gstbitreader.h: bitreader: Add padding 2011-10-28 13:02:10 +0200 Sebastian Dröge * libs/gst/base/gstbytereader.h: bytereader: Add padding 2011-10-28 12:31:03 +0200 Wim Taymans * docs/random/porting-to-0.11.txt: porting: update 2011-10-28 12:28:46 +0200 Wim Taymans * docs/gst/gstreamer-sections.txt: * docs/libs/gstreamer-libs-sections.txt: docs: update 2011-10-28 12:27:43 +0200 Wim Taymans * win32/common/libgstbase.def: defs: update for new api 2011-10-28 12:17:58 +0200 Wim Taymans * libs/gst/check/gstconsistencychecker.c: check: also debug the DTS 2011-10-28 12:16:21 +0200 Wim Taymans * libs/gst/base/gstadapter.c: * libs/gst/base/gstadapter.h: adapter: use pts/dts on buffers 2011-10-28 12:24:02 +0200 Wim Taymans * gst/gstcompat.h: compat: add timestamp compat defines 2011-10-28 12:15:44 +0200 Wim Taymans * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstbufferpool.c: * gst/gstinfo.c: buffer: add pts/dts to buffers 2011-10-28 11:53:32 +0200 Sjoerd Simons * libs/gst/base/gstbasetransform.c: basetransform: Also fush the cache when changing the upstream caps suggestion 2011-10-28 11:50:23 +0200 Sjoerd Simons * libs/gst/base/gstbasetransform.c: basetransform: Add debug output when returning a cached transform 2011-10-28 11:33:44 +0200 Wim Taymans Merge branch 'master' into 0.11 2011-10-28 11:30:57 +0200 Wim Taymans * libs/gst/base/gstcollectpads2.c: * libs/gst/base/gstcollectpads2.h: coolectpads2: port to 0.11 2011-10-28 11:13:55 +0200 Wim Taymans Merge branch 'master' into 0.11 2011-10-28 10:54:19 +0200 Sebastian Dröge * libs/gst/base/gstcollectpads2.c: collectpads2: Fix refcount handling if a buffer was dropped due to clipping 2011-10-28 10:37:21 +0200 Sebastian Dröge * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstcollectpads2.c: * libs/gst/base/gstcollectpads2.h: * win32/common/libgstbase.def: collectpads2: Merge the clip and prepare_buffer function into one 2011-10-28 10:17:06 +0200 Sebastian Dröge * libs/gst/base/gstcollectpads2.c: * libs/gst/base/gstcollectpads2.h: collectpads2: Merge clipping API from old collectpads 2011-10-28 09:19:29 +0100 Tim-Philipp Müller * libs/gst/base/gstbasesink.c: basesink: make default query function name show up in gst-inspect 2011-09-27 15:48:52 +0200 Mark Nauwelaerts * libs/gst/base/gstcollectpads2.c: collectpads2: avoid hanging in case of sparse newsegment events ... in the extent that a non-waiting pad (so indicated by newsegment) turns out to provide the best buffer, which is then forced to waiting for book-keeping purposes, but that should only be temporary. See bug #415754. 2011-10-28 09:38:35 +0200 Sebastian Dröge * libs/gst/base/gstcollectpads2.c: collectpads2: Use G_DEFINE_TYPE instead of GST_BOILERPLATE 2011-10-28 09:35:50 +0200 Sebastian Dröge * docs/libs/gstreamer-libs-docs.sgml: * docs/libs/gstreamer-libs-sections.txt: collectpads2: Add to the documentation 2011-10-28 09:26:11 +0200 Sebastian Dröge * win32/common/libgstbase.def: win32: Add new collectpads2 API 2011-10-28 09:18:55 +0200 Sebastian Dröge * libs/gst/base/Makefile.am: * libs/gst/base/gstcollectpads2.c: * libs/gst/base/gstcollectpads2.h: base: Add collectpads2 This handles muxing of sparse/subtitle streams and has lots of cleanup. Still missing is special support for live streams but this can be added later without breaking API/ABI. Based on the version from the videomixer plugin. https://bugzilla.gnome.org/show_bug.cgi?id=415754 2011-10-27 17:09:51 +0200 Wim Taymans * tests/check/elements/funnel.c: * tests/check/elements/selector.c: * tests/check/elements/tee.c: * tests/check/gst/gstbufferlist.c: * tests/check/gst/gstelementfactory.c: * tests/check/gst/gststructure.c: * tests/check/gst/gstutils.c: * tests/check/libs/transform1.c: * tests/check/pipelines/queue-error.c: tests: fix compilation 2011-10-27 17:09:34 +0200 Wim Taymans * win32/common/libgstreamer.def: defs: update 2011-10-27 17:09:04 +0200 Wim Taymans * gst/gstcaps.c: * gst/gstcaps.h: caps: add empty_simple variants 2011-10-27 16:51:16 +0200 Wim Taymans * tests/check/gst/gstiterator.c: * tests/check/gst/gststructure.c: * tests/check/pipelines/simple-launch-lines.c: tests: fix compilation 2011-10-27 14:56:24 +0100 Johan Boulé * gst/gstcaps.h: caps: use G_GNUC_NULL_TERMINATED for gst_caps_new_simple() and gst_caps_new_full() If you get warnings, use gst_caps_new_empty(). https://bugzilla.gnome.org/show_bug.cgi?id=343346 2011-10-27 15:27:19 +0200 Wim Taymans Merge branch 'master' into 0.11 Conflicts: libs/gst/base/gstbasetransform.c 2011-10-27 13:25:08 +0100 Tim-Philipp Müller * gst/gststructure.h: structure: use G_GNUC_NULL_TERMINATED for gst_structure_new() If you get a warning, use gst_structure_empty_new(). https://bugzilla.gnome.org/show_bug.cgi?id=343346 2011-10-27 23:08:14 +1100 Jan Schmidt * libs/gst/base/gstbasetransform.c: basetransform: Fix refcount leak Don't leak peercaps and a ref to the basetransform when returning the cached caps. 2011-10-27 10:38:10 +0200 Stefan Sauer * libs/gst/controller/gstcontroller.c: controller: fix wrong order of calls in the docs. 2011-10-26 12:23:07 +0200 Stefan Sauer * gst/gstevent.c: event: clarify docs for step event 2011-10-18 23:19:47 +0100 Tim-Philipp Müller * gst/gstregistry.c: registry: add support for GST_REGISTRY_REUSE_PLUGIN_SCANNER=no This will make sure we spawn a new plugin scanner helper for each plugin to be introspected, which helps with making sure we don't load too many shared objects (libs, plugins) at the same time on systems where there is a hard limit like on Android. A better version might re-use the scanner for up to N times, though it's not clear whether that would actually improve things dramatically. https://bugzilla.gnome.org/show_bug.cgi?id=662091 2011-10-21 10:23:04 -0300 Thiago Santos * gst/gstcaps.c: caps: No need to require writable caps for _append/_merge second caps The second caps ownership is transfered, no need to require it to be writable from the caller function. Instead, _append and _merge make it writable on their own. Discovered because of an assertion on encoding-profile.c in _get_input_caps using _merge but not passing writable caps. 2011-10-21 14:20:40 +0200 Stefan Sauer * gst/gsttagsetter.c: * gst/gsttagsetter.h: * tests/check/gst/struct_arm.h: * tests/check/gst/struct_hppa.h: * tests/check/gst/struct_i386.h: * tests/check/gst/struct_ppc32.h: * tests/check/gst/struct_ppc64.h: * tests/check/gst/struct_sparc.h: * tests/check/gst/struct_x86_64.h: interfaces: clean up the use of iface and class/klass 2011-10-21 11:15:11 +0200 Stefan Sauer * docs/random/porting-to-0.11.txt: * docs/random/status-0.11-14-jun-2011.txt: * gst/gstquery.c: docs: spelling and formatting fixes 2011-10-21 10:52:46 +0200 Edward Hervey Merging origin/master Conflicts: gst/gstbin.c gst/gstbus.c gst/gstdebugutils.c gst/gstpad.c libs/gst/base/gstbaseparse.c libs/gst/base/gstbasesrc.c 2011-10-20 16:59:01 +0200 Sebastian Dröge * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbaseparse.h: baseparse: Fix documentation, it's pre_push_frame and not pre_push_buffer 2011-10-20 14:02:44 +0100 Vincent Penquerc'h * libs/gst/base/gstbasetransform.c: basetransform: cache transformed caps where appropriate Speeds up negotiation a fair bit on a contrived pipeline with a dozen colorspace conversions. Hopefully clears out the cache every time it ought to. https://bugzilla.gnome.org/show_bug.cgi?id=662291 2011-10-20 10:45:30 -0300 Reynaldo H. Verdejo Pinochet * Android.mk: Fix broken android building due to name change in 01d87250a845e55d6 2011-10-20 08:31:18 +0200 Sebastian Dröge * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbaseparse.h: basebarse: Add detect vfunc to allow subclasses to do format detection before anything else API: GstBaseParseClass::detect() This is called with the first buffers until the subclass has finished detection and only afterwards the original buffers are handled as before. The vfunc allows detection of the stream format without breaking the upstream framing. 2011-10-20 08:57:57 +0200 Stefan Sauer * gst/gstpad.c: pad: not only describe conditions in the docs, also check them in the code When blocking pads, check if the pad is in the rigt direction. Log some info for the developer and return FALSE, instead of just locking up. 2011-10-19 23:07:46 +0200 René Stadler * gst/gstpluginfeature.h: * gst/gstregistry.c: * tests/check/generic/states.c: * tests/check/gst/gstregistry.c: Revert gst_plugin_feature_get_name to const string return Returning a newly allocated string makes no sense. It's unexpected for a getter, and also this behaves differently in 0.10, so it would make future merges harder. Except for these two places here in core which were updated for the new semantic, the return value is getting leaked all over the place. 2011-10-19 12:12:36 +0200 Edward Hervey * gst/gstobject.c: gstobject: Add (skip) annotation to gst_object_ref_sink 2011-10-19 11:59:29 +0200 Edward Hervey * gst/gstiterator.c: gstiterator: Add skip annotation for creating GstIterator Not really useful for bindings 2011-08-29 13:56:19 -0300 Johan Dahlin * gst/gstpoll.c: introspection: Skip gst_poll apis https://bugzilla.gnome.org/show_bug.cgi?id=657640 2011-08-29 13:55:13 -0300 Johan Dahlin * gst/gstvalue.c: introspection: Skip GType and GValue transform apis These do not make sense to expose to language bindings https://bugzilla.gnome.org/show_bug.cgi?id=657640 2011-08-29 13:54:21 -0300 Johan Dahlin * gst/gst.c: introspection: Skip gst_init_get_option_group It uses GOptionGroup which is not wrappable https://bugzilla.gnome.org/show_bug.cgi?id=657640 2011-08-29 13:53:39 -0300 Johan Dahlin * gst/gstbufferpool.c: * gst/gstparamspecs.c: introspection: Add missing annotations https://bugzilla.gnome.org/show_bug.cgi?id=657640 2011-08-29 13:52:26 -0300 Johan Dahlin * gst/gstbus.c: introspection: Rename gst_bus_add_watch_full to gst_bus_add_watch https://bugzilla.gnome.org/show_bug.cgi?id=657640 2011-08-29 13:50:40 -0300 Johan Dahlin * gst/gstindex.h: Sync documentation arguments The introspection scanner warns if the header and the source uses mismatching parameter names. https://bugzilla.gnome.org/show_bug.cgi?id=657640 2011-08-29 13:50:02 -0300 Johan Dahlin * gst/gststructure.c: * gst/gststructure.h: * win32/common/libgstreamer.def: Add gst_structure_get_type https://bugzilla.gnome.org/show_bug.cgi?id=657640 2011-10-18 19:21:58 -0300 Thiago Santos * gst/gstmessage.c: message: protect against null message sources Message sources can be null, check if it is before trying to access its name. 2011-10-18 08:48:37 -0300 Thiago Santos * libs/gst/base/gstbaseparse.h: baseparse: add since doc to new getcaps function 2011-10-18 14:08:19 +0200 Stefan Sauer * gst/gstbin.c: * gst/gstbus.c: * gst/gstmessage.c: * libs/gst/base/gstbasesink.c: logging: more logging and prefer human readable details over memory locations 2011-10-18 14:05:37 +0200 Stefan Sauer * gst/gstdebugutils.c: debugutils: improve display of ghost- and proxypads Handle virtual links between ghost and proxypads when iterating pads instead of when linking. Besides using less code this provides a more accurate picture. 2011-10-18 13:54:52 +0200 Edward Hervey * libs/gst/controller/gstcontroller.c: * libs/gst/controller/gsthelper.c: * libs/gst/controller/gstinterpolationcontrolsource.c: controller: Add g-i annotations and remove "Since:" markers 2011-10-17 14:42:08 -0300 Thiago Santos * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbaseparse.h: baseparse: add getcaps function Adds a getcaps function to the sink pad to make parsers propagate downstream caps restrictions to upstream. The pipeline "audiotestsrc num-buffers=100 ! faac ! aacparse ! "audio/mpeg, version=(int)4, stream-format=(string)adts" ! filesink" wouldn't work because aacparse wouldn't propagate the adts restriction upstream to faac. This patch adds a default getcaps to the sink pad to simply proxy downstream caps and also adds a 'get_sink_caps' function pointer to GstBaseParseClass for subclasses that need more refined getcaps. https://bugzilla.gnome.org/show_bug.cgi?id=661874 2011-10-18 12:39:03 +0200 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: also update the stream time 2011-10-18 10:58:14 +0200 Sebastian Dröge * libs/gst/base/gstbaseparse.c: baseparse: Fix handling of queued frames gst_base_parse_push_frame() already frees the frame, no need to do it another time again. 2011-10-17 21:38:56 +0200 René Stadler * tests/check/elements/selector.c: tests: fix padtemplate leak in selector test In 0.11, gst_pad_get_pad_template returns a reference. 2011-10-17 21:37:17 +0200 René Stadler * gst/gstpad.c: pad: fix buffer/event leak when pad is flushing Apparently this got lost while refactoring probes. 2011-10-17 17:00:04 +0200 Wim Taymans * libs/gst/base/gstbaseparse.c: baseparse: remove the memory from the tmpbuf We use a tmpbuf to hold a temporary pointer to the adapter memory. We need to remove that memory when we no longer need it. 2011-10-17 13:55:35 +0200 René Stadler * gst/gstcaps.c: caps: fix race condition and memory leak in gst_static_caps_get This was leaking the PtrArray from caps->priv, as set up by the other call to gst_caps_init. Also, the thread safety issue presented in the comment above was not taken care of anymore. We now zero the refcount again when publishing the structure. Fixes #661629. 2011-10-17 09:28:43 +0200 Edward Hervey * libs/gst/check/gstcheck.h: gstcheck: Make ASSERT_MINI_OBJECT_REFCOUNT more useful knowing which miniobject failed helps us locate it in debug logs 2011-10-17 09:28:24 +0200 Edward Hervey * libs/gst/check/gstcheck.c: gstcheck: Make _check_buffer_data a bit more verbose 2011-10-17 09:27:49 +0200 Edward Hervey * tests/check/gst/gstregistry.c: check: Don't leak the feature name 2011-10-17 09:27:26 +0200 Edward Hervey * gst/gstregistry.c: gstregistry: Don't leak feature name 2011-10-16 21:12:07 +0100 Tim-Philipp Müller * gst/gstbus.c: bus: give watch source a name Give our GSource a meaningful name. Source names can be used for debugging and profiling, for example with systemtap or gdb. 2011-10-14 09:35:09 +0200 Edward Hervey * gst/gstutils.c: gstbuffer: Add transfer annotations for gst_buffer_join() 2011-10-16 17:42:22 +0200 Wim Taymans * docs/random/wtay/porting-list-0.11.txt: porting: update 2011-10-16 17:03:27 +0200 Wim Taymans * docs/random/wtay/porting-list-0.11.txt: porting: update 2011-10-16 17:00:09 +0200 Wim Taymans * docs/random/wtay/porting-list-0.11.txt: porting: update porting list 2011-10-16 14:45:03 +0200 Wim Taymans * gst/gstbus.c: * gst/gstclock.c: * gst/gstindex.c: * gst/gstindexfactory.c: * gst/gstregistry.c: * gst/gstsystemclock.c: * gst/gsttypefindfactory.c: fix more parent_class 2011-10-16 14:20:33 +0200 Wim Taymans Merge branch 'master' into 0.11 Conflicts: gst/gstevent.h 2011-10-16 14:17:25 +0200 Wim Taymans * gst/gstpadtemplate.c: padtemplate: clean up parent_class 2011-10-14 12:57:38 +0200 Wim Taymans * gst/gstpad.c: pad: clean up parent_class handling 2011-10-14 09:35:09 +0200 Edward Hervey * gst/gstutils.c: gstbuffer: Add transfer annotations for gst_buffer_join() 2011-10-14 09:27:38 +0200 Edward Hervey * tools/gst-inspect.c: gst-inspect: Don't leak plugin feature list 2011-10-13 17:33:06 +0200 Stefan Sauer * gst/gstbus.c: bus: fix typo in the docs 2011-10-13 16:48:02 +0200 Stefan Sauer * gst/gstdebugutils.c: debugutils: show if an element is state-locked 2011-10-13 16:42:10 +0200 Stefan Sauer * gst/gstbin.c: logging: use _OBJECT variants more 2011-10-13 12:23:59 +0200 René Stadler * libs/gst/base/gstbasesrc.c: basesrc: fix caps leak 2011-10-13 10:19:34 +0200 Sebastian Dröge * gst/gstbuffer.h: buffer: Use an inline function instead of a macro for gst_buffer_replace() This gives us type checks by the compiler and more useful compiler errors. 2011-10-13 10:18:51 +0200 Sebastian Dröge * gst/gstevent.h: event: Use an inline function instead of a macro for gst_event_replace() This gives us type checks by the compiler and more useful compiler errors. 2011-10-13 08:51:42 +0200 Wim Taymans Merge branch 'master' into 0.11 Conflicts: gst/gstutils.c libs/gst/base/gstbasesrc.c 2011-10-12 18:14:00 -0300 Thiago Santos * gst/gstghostpad.c: ghostpad: Do not unref the internal pad twice g_value_unset should already unref the internal proxypad, no need to do it again 2011-10-12 17:17:09 +0200 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: properly adjust start time When we do a non-flushing seek and closed the current segment, make sure that we open the next segment from where we closed. 2011-10-12 14:37:31 +0200 René Stadler * gst/gstevent.c: event: add transfer type for gst_event_new_caps argument These annotations are useful to humans as well... 2011-10-12 14:34:24 +0200 René Stadler * plugins/elements/gstcapsfilter.c: capsfilter: fix caps leak gst_event_new_caps does not steal a reference to the caps. 2011-10-12 13:31:48 +0200 René Stadler * gst/gstevent.c: event: fix gst_event_new_segment transfer type 2011-10-11 13:54:45 +0200 Edward Hervey * tests/check/generic/states.c: * tests/check/gst/gstevent.c: * tests/check/gst/gstghostpad.c: * tests/check/gst/gstpad.c: * tests/check/gst/gstutils.c: * tests/check/gst/gstvalue.c: tests: Fix more leaks 2011-10-11 13:53:39 +0200 Edward Hervey * plugins/elements/gstcapsfilter.c: capsfilter: Don't leak caps 2011-10-11 13:51:54 +0200 Edward Hervey * libs/gst/base/gstbasetransform.c: basetransform: Fix a caps leak and move a codeblock The result from the block of code that was moved would only have been used if 'peercaps' was present. 2011-10-11 13:51:37 +0200 Edward Hervey * gst/gstpadtemplate.c: * gst/gstvalue.c: gst: More 'transfer' annotations 2011-10-10 19:41:33 +0100 Tim-Philipp Müller * gst/gstutils.c: utils: catch invalid instance sizes in gst_type_register_static_full() Add guards to catch overly large instance sizes. https://bugzilla.gnome.org/show_bug.cgi?id=660955 2011-10-10 19:30:34 +0100 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gstutils.c: * gst/gstutils.h: * win32/common/libgstreamer.def: utils: remove gst_type_register_static_full() It was only really used by GST_BOILERPLATE, and that is no more. https://bugzilla.gnome.org/show_bug.cgi?id=660955 2011-10-10 11:47:42 -0300 Thiago Santos * libs/gst/base/gstbasesrc.c: basesrc: avoid trying to alloc enormous buffer If a class extending basesrc doesn't set blocksize, basesrc would try to allocate a (guint)-1 sized buffer, which is enormous and likely would fail. Avoid it and error out. 2011-10-10 17:17:37 +0200 Edward Hervey * docs/random/wtay/porting-list-0.11.txt: porting: update 2011-10-10 17:04:39 +0200 Edward Hervey * gst/gstghostpad.c: ghostpad: If we don't control a pad/template, return proper caps If there's a filter, we can return that in _get_caps() 2011-10-10 16:52:43 +0200 Edward Hervey * gst/gstpad.c: gstpad: Specify transfer full for gst_pad_get_caps() It increments the reference count of the returned caps. 2011-10-10 11:02:08 +0200 Edward Hervey * gst/gstpad.c: gstpad: Add debug to know what events are transferred between pads 2011-10-10 10:38:12 +0200 Edward Hervey * gst/gstpad.c: gstpad: Unset EOS event on FLUSH_STOP 2011-10-07 11:49:19 +0200 Edward Hervey * gst/gstpad.c: gstpad: Don't ignore downstream FlowReturn with IDLE probes If pushgin downstream returned a non-ok value (like GST_FLOW_WRONG_STATE), we don't want to end up returning a different value (GST_FLOW_OK in this case) if IDLE probes are present. 2011-10-10 13:23:09 +0200 Wim Taymans * docs/random/wtay/porting-list-0.11.txt: porting: update 2011-10-10 12:54:54 +0200 Wim Taymans * docs/random/wtay/porting-list-0.11.txt: porting: update 2011-10-10 12:38:35 +0200 Wim Taymans * docs/random/wtay/porting-list-0.11.txt: porting: update 2011-10-10 12:27:52 +0200 Wim Taymans * docs/random/wtay/porting-list-0.11.txt: porting: update 2011-10-10 11:49:46 +0200 Wim Taymans * docs/random/wtay/porting-list-0.11.txt: porting: update 2011-10-10 11:36:23 +0200 Wim Taymans * gst/gstcompat.h: compat: add compat define for UNEXPECTED 2011-10-10 11:33:51 +0200 Wim Taymans * docs/random/porting-to-0.11.txt: * gst/gstbufferpool.c: * gst/gstpad.c: * gst/gstpad.h: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstcollectpads.c: * plugins/elements/gstfakesink.c: * plugins/elements/gstfdsrc.c: * plugins/elements/gstfilesrc.c: * plugins/elements/gstidentity.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstqueue.c: * plugins/elements/gstqueue2.c: * plugins/elements/gsttee.c: * tests/check/elements/fakesink.c: * tests/check/elements/filesrc.c: * tests/check/gst/gstpad.c: pad: GST_FLOW_UNEXPECTED -> GST_FLOW_EOS 2011-10-10 11:30:21 +0200 Wim Taymans * docs/random/wtay/porting-list-0.11.txt: porting: update 2011-10-09 11:49:45 -0300 Thiago Santos * tests/check/elements/tee.c: tests: tee: Remember to initialize variables to NULL app_thread needs to be initialized to NULL, otherwise tests will try to use it and crash 2011-10-08 20:56:59 +0100 Tim-Philipp Müller * common: Update common for check-exports script changes 2011-10-08 20:46:22 +0100 Tim-Philipp Müller * gst/gstelement.c: * gst/gstelementfactory.c: * win32/common/libgstreamer.def: elementfactory: don't export private _gst_elementclass_factory quark 2011-10-08 20:15:46 +0100 Tim-Philipp Müller * gst/gst.c: * gst/gst_private.h: * gst/gstinfo.c: * gst/gstinfo.h: info: make _gst_debug_init() private for now This was a FIXME for 0.11. I guess a case could be made to keep it around separately for apps or libraries that only want to use GStreamer's debugging system, but it seems more likely they'd just copy the two source files into their own tree if the case. Also, things like types wouldn't be initialised without gst_init(). We can still make it public again if anyone needs it, but then we should make it a proper function and not hide it behind underscores. 2011-10-08 19:54:06 +0100 Tim-Philipp Müller Merge remote-tracking branch 'origin/master' into symbol-exports 2011-10-08 14:17:25 +0100 Tim-Philipp Müller * gst/gstparse.c: * gst/parse/.gitignore: * gst/parse/Makefile.am: * gst/parse/grammar.y: * gst/parse/types.h: gstparse: prefix generated parser functions so they don't get exported Don't export those 35-something random _gst_parse_yy* symbols. These were never in any header files and also blacklisted from our .def files, in case anyone wonders. 2011-10-08 13:37:09 +0100 Tim-Philipp Müller * configure.ac: * gst/gstinfo.c: * gst/gstinfo.h: * gst/gstobject.c: * win32/common/libgstreamer.def: info: rename __gst_debug_* to _gst_debug_* and fix symbol export regexp Only export GStreamer symbols with one leading underscore, not two or more leading underscores. Requires a rebuild of the entire stack, sorry. 2011-10-08 15:16:59 +0200 Wim Taymans * docs/random/wtay/porting-list-0.11.txt: porting: update doc 2011-10-08 14:25:02 +0200 Wim Taymans Merge branch 'master' into 0.11 2011-10-08 14:23:30 +0200 Wim Taymans * docs/random/wtay/porting-list-0.11.txt: porting: update 2011-10-08 12:08:49 +0200 Wim Taymans * docs/random/wtay/porting-list-0.11.txt: porting: upate porting list 2011-10-08 09:41:54 +0200 Wim Taymans * gst/gstinfo.c: info: port to 0.11 2011-10-08 09:28:02 +0200 Wim Taymans Merge branch 'master' into 0.11 Conflicts: gst/gstpad.c 2011-10-07 09:45:20 -0300 Thiago Santos * gst/gstpipeline.c: pipeline: Use pipeline category for one more log message Makes debugging easier. 2011-10-07 16:36:10 +0200 Robert Swain * gst/gstinfo.c: * gst/gstpad.c: GST_PTR_FORMAT: Add GstBuffer ptr format and use in GST_SCHEDULING GstBuffer pointers can now be printed using GST_PTR_FORMAT. This is used in the very useful GST_SCHEDULING debug logs in gstpad.c and allows for easier and more information tracking of buffer progress through a pipeline with just debug logging. 2011-10-07 13:55:18 +0100 Tim-Philipp Müller * tests/check/generic/sinks.c: tests: fix compiler warnings in sinks test 2011-10-07 13:54:51 +0100 Tim-Philipp Müller * docs/libs/gstreamer-libs-docs.sgml: * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/Makefile.am: * plugins/elements/Makefile.am: * plugins/elements/gstdataqueue.c: * plugins/elements/gstdataqueue.h: * plugins/elements/gstmultiqueue.h: * tests/check/libs/gstlibscpp.cc: * tests/check/libs/libsabi.c: * win32/common/libgstbase.def: base: make GstDataQueue private API for multiqueue There's no code that uses it other than multiqueue, so make it private to multiqueue for now. That way we can also do optimisations that require API/ABI breaks. If anyone ever wants to use it, we can still make it public again. 2011-10-06 17:27:47 +0200 Wim Taymans Merge branch 'master' into 0.11 2011-10-06 17:26:02 +0200 Wim Taymans * docs/random/wtay/porting-list-0.11.txt: porting: update list 2011-10-06 14:34:09 +0200 Mark Nauwelaerts * libs/gst/base/gstbaseparse.c: baseparse: send duration message when updating internal duration 2011-10-06 14:04:05 +0200 Wim Taymans * docs/random/wtay/porting-list-0.11.txt: porting: update list 2011-10-06 10:59:09 +0200 Wim Taymans * docs/random/wtay/porting-list-0.11.txt: update porting list 2011-10-05 20:06:51 +0200 Wim Taymans * docs/random/wtay/porting-list-0.11.txt: porting: update list 2011-10-05 13:43:46 +0200 Wim Taymans * docs/random/wtay/porting-list-0.11.txt: porting: update porting status 2011-10-05 11:20:37 +0200 Edward Hervey * gst/gstbufferpool.c: gstbufferpool: Use glib compat macros for atomic pointers 2011-10-04 18:55:20 +0200 Wim Taymans * docs/random/wtay/porting-list-0.11.txt: update porting list 2011-10-04 18:55:09 +0200 Wim Taymans * gst/gstbuffer.c: buffer: improve docs 2011-10-04 18:38:50 +0200 Wim Taymans * plugins/elements/gstdataurisrc.c: dataurisrc: port to 0.11 2011-10-04 17:39:17 +0200 Wim Taymans Merge branch 'master' into 0.11 2011-10-04 17:36:26 +0200 Wim Taymans * docs/random/wtay/porting-list-0.11.txt: update porting list 2011-10-04 15:55:05 +0200 Edward Hervey * gst/gstevent.c: gstevent: specify (transfer) for gst_event_new_segment 2011-10-04 13:16:14 +0200 Wim Taymans * docs/random/wtay/porting-list-0.11.txt: add porting list 2011-09-26 14:36:46 +0400 Stas Sergeev * libs/gst/base/gstbaseparse.c: baseparse: Return success if optional start/stop method is not provided This allows to not implement the optional start/stop methods. 2011-10-03 10:06:17 +0200 Wim Taymans Merge branch 'master' into 0.11 Conflicts: libs/gst/base/gstbaseparse.c 2011-10-03 09:29:10 +0200 Edward Hervey * gst/gstquery.c: gstquery: Make debugging message more informative For all the newcomers out there who still don't know the values of GstQueryType enum by heart... ... and old-timers who've got better things to do :) 2011-09-30 15:25:20 +0100 Tim-Philipp Müller * libs/gst/base/gstbaseparse.c: baseparse: make estimating the position in query handler actually work No point estimating if we don't set the result afterwards. 2011-09-26 13:14:42 +0100 Vincent Penquerc'h * libs/gst/base/gstbaseparse.c: baseparse: answer position query in stream time and try upstream first Let the demuxer have first say as well. https://bugzilla.gnome.org/show_bug.cgi?id=659485 2011-09-30 14:52:01 +0100 Tim-Philipp Müller * gst/gst.h: gst.h: include header for atomic queue 2011-09-30 14:50:51 +0100 Tim-Philipp Müller * tests/check/Makefile.am: * tests/check/gst/.gitignore: * tests/check/gst/gstatomicqueue.c: tests: add minimal test for GstAtomicQueue Just new + free. 2011-09-29 18:06:25 +0200 Wim Taymans * docs/random/release: update release notes Change the mail addresses to the freedesktop ones 2011-09-29 17:04:57 +0200 Wim Taymans * configure.ac: * win32/common/config.h: * win32/common/gstversion.h: back to development === release 0.11.1 === 2011-09-29 16:50:21 +0200 Wim Taymans * ChangeLog: * NEWS: * RELEASE: * configure.ac: * gstreamer.doap: * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: * win32/common/config.h: * win32/common/gstenumtypes.c: * win32/common/gstenumtypes.h: * win32/common/gstversion.h: RELEASE 0.11.1 2011-09-28 18:46:09 +0200 Wim Taymans * gst/gstmemory.c: memory: fix memory alignment Fix compilation when POSIX_MEMALIGN is not set. Debug the configured alignment. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=660300 2011-09-28 18:44:12 +0200 Wim Taymans * gst/gstpad.c: pad: improve debug 2011-09-28 11:28:25 +0200 Wim Taymans * libs/gst/base/gstbasetransform.c: transform: fix after merge 2011-09-28 11:24:42 +0200 Wim Taymans Merge branch 'master' into 0.11 2011-09-28 11:16:33 +0200 Wim Taymans * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasesrc.h: * libs/gst/base/gstbasetransform.h: docs: fix some more docs 2011-09-26 19:52:13 +0100 Vincent Penquerc'h * libs/gst/base/gstbasetransform.c: basetransform: send delayed events earlier Some elements (such as videorate) might push buffers early, for instance in in transform_ip. We want events (and in particular any NEWSEGMENT event) to be pushed before that. This fixes transmageddon wedging on converting a file starting with a non zero offset to Ogg. https://bugzilla.gnome.org/show_bug.cgi?id=660165 2011-09-26 20:47:35 +0200 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstbufferlist.c: * gst/gstbufferpool.h: * gst/gstcaps.h: * gst/gstevent.h: * gst/gstiterator.h: * gst/gstmemory.c: * gst/gstmessage.h: * gst/gstmeta.h: * gst/gstminiobject.c: * gst/gstminiobject.h: * gst/gstpad.h: * gst/gstquery.c: docs: fix docs 2011-09-26 19:25:22 +0200 Wim Taymans Merge branch 'master' into 0.11 2011-09-26 19:24:19 +0200 Wim Taymans * gst/gstsegment.h: segment: improve API docs a little 2011-09-26 00:30:47 +0300 Raimo Järvi * gst/gstregistry.c: * gst/gststructure.c: gst: Fix compiler warnings on 64 bit mingw-w64 Fixes bug #660083. 2011-09-25 16:10:53 +0100 Tim-Philipp Müller * tests/examples/helloworld/helloworld.c: examples: fix bogus g_object_unref in helloworld example GMainLoop is not a GObject. https://bugzilla.gnome.org/show_bug.cgi?id=424143 2011-09-23 13:09:25 +0200 Edward Hervey Merge branch 'master' into 0.11 Conflicts: gst/gstcaps.c gst/gstpad.c libs/gst/base/gstbasesink.c libs/gst/base/gstbasesink.h libs/gst/base/gstbasetransform.c 2011-09-21 13:43:48 +0200 Edward Hervey * common: Update common to 0.11 branch 2011-09-20 13:04:06 +0100 Vincent Penquerc'h * libs/gst/base/gstbasetransform.c: basetransform: delay serialized events when src caps are not set yet https://bugzilla.gnome.org/show_bug.cgi?id=659571 2011-09-13 17:04:31 +0400 Stas Sergeev * gst/gstpad.c: pad: Set caps on pad before checking if the pad is linked This allows the setcaps handler and notify::caps to link the pad downstream and doesn't require hacks to always provide a peer to the pad, like in decodebin2. 2011-09-15 11:49:43 -0700 Fabrizio (Misto) Milo * gst/gstcaps.c: caps: use g_value_take_string() and gst_value_get_caps() instead of accessing internal fields 2011-09-16 13:38:41 +0100 Tim-Philipp Müller * gst/gstpad.c: pad: add more debug logging for other chain function code path as well 2011-09-16 13:13:30 +0100 Tim-Philipp Müller * gst/gstpad.c: pad: fix up printf format in debug message Which I messed up. 2011-09-15 13:20:15 +0100 Vincent Penquerc'h * gst/gstpad.c: pad: make some debug traces more useful https://bugzilla.gnome.org/show_bug.cgi?id=659139 2011-09-14 22:54:18 +0100 Tim-Philipp Müller * scripts/gstcvstest.sh: scripts: remove gstcvstest.sh 2011-09-13 23:04:09 +0100 Tim-Philipp Müller * libs/gst/controller/gstlfocontrolsource.c: lfocontrolsource: fix clang compiler warning Cast enum to int before checking for negative values, which are impossible according to the enum list. gstlfocontrolsource.c:652:45: error: comparison of unsigned enum expression < 0 is always false [-Werror,-Wtautological-compare] if (waveform >= num_waveforms || waveform < 0) { ~~~~~~~~ ^ ~ https://bugzilla.gnome.org/show_bug.cgi?id=653137 2011-09-13 21:58:21 +0100 Tim-Philipp Müller * tests/check/elements/filesrc.c: tests: make sure filesrc returns escaped URIs even if the input was unescaped https://bugzilla.gnome.org/show_bug.cgi?id=654673 2011-09-10 18:15:49 +0100 Tim-Philipp Müller * gst/gstcaps.c: caps: move log messages for caps creation/freeing into TRACE category Reduce SPAM for GST_CAPS:5. 2011-09-09 12:56:20 +0200 Sebastian Dröge * gst/gstpad.c: pad: Only do the subset check in gst_pad_accept_caps() if the pad claims to accept the caps 2011-09-07 17:21:55 -0400 Nicolas Dufresne * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesink.h: * plugins/elements/gstfilesink.c: basesink: make it easy to override the pad query Add a vmethod to handle the pad query. Install a default handler for the pad query. Use the new query function in filesink 2011-09-08 14:39:30 +0200 Sebastian Dröge * libs/gst/base/gstbasetransform.c: Revert "Revert "basetransform: Use check for subsets and not non-empty intersection to check if caps are compatible"" This reverts commit 0bc6d49c950210bf422615fb8dc98c5adcd5e456. Conflicts: libs/gst/base/gstbasetransform.c 2011-09-08 14:31:52 +0200 Sebastian Dröge * gst/gstpad.c: Revert "Revert "pad: Check for subsets, not non-empty intersections to check if caps are compatible"" This reverts commit 2bfada5581e35a2d37188f48a2c7442644f10bb3. Conflicts: gst/gstpad.c For 0.11 we want to enforce that only subsets of the pad caps are allowed. This breaks backward compatibility for some elements, which is why we only print a warning in 0.10. 2011-09-08 14:30:07 +0200 Sebastian Dröge Merge branch 'master' into 0.11 Conflicts: gst/gstpad.c 2011-09-08 14:29:00 +0200 Sebastian Dröge * gst/gstpad.c: Revert "pad: Use gst_pad_accept_caps() instead of manually checking when configuring a sinkpad" This reverts commit d3cad28da936b037d877dc70c02286b81b680284. It causes performance problems because acceptcaps() propagates downstream. 2011-09-08 14:23:50 +0200 Sebastian Dröge Merge branch 'master' into 0.11 Conflicts: docs/design/draft-buffer2.txt docs/design/part-TODO.txt docs/design/part-block.txt docs/design/part-bufferlist.txt docs/design/part-caps.txt docs/design/part-element-transform.txt docs/design/part-events.txt docs/design/part-negotiation.txt gst/gstcaps.c gst/gstevent.h gst/gstghostpad.c gst/gstinterface.c gst/gstpad.c gst/gstpad.h gst/gstutils.c libs/gst/base/gstbasesink.c libs/gst/base/gstbasesrc.c libs/gst/base/gstbasetransform.c libs/gst/base/gsttypefindhelper.c plugins/elements/gstcapsfilter.c plugins/elements/gsttee.c tests/check/generic/sinks.c tools/gst-launch.1.in 2011-09-08 13:41:19 +0200 Sebastian Dröge * gst/gstpad.c: pad: Use gst_pad_accept_caps() instead of manually checking when configuring a sinkpad 2011-09-08 13:40:06 +0200 Sebastian Dröge * gst/gstpad.c: pad: Print a g_warning() if pad accept caps that are not a subset of its caps In 0.11 only subsets are supported again as documented instead of also allowing non-empty intersections. 2011-09-08 13:26:24 +0200 Sebastian Dröge * libs/gst/base/gstbasetransform.c: Revert "basetransform: Use check for subsets and not non-empty intersection to check if caps are compatible" This reverts commit 5e5cc5e89e7e2858a6352fa4c81a374f6e5a6297. See bug #658541. 2011-09-08 13:26:01 +0200 Sebastian Dröge * gst/gstpad.c: Revert "pad: Check for subsets, not non-empty intersections to check if caps are compatible" This reverts commit 0c5d50207326d74a4805bcd898bfac887540f12b. See bug #658541. 2011-09-07 13:14:38 +0200 Piotr Fusik * README: * docs/README: * docs/design/draft-buffer2.txt: * docs/design/draft-klass.txt: * docs/design/part-MT-refcounting.txt: * docs/design/part-TODO.txt: * docs/design/part-activation.txt: * docs/design/part-block.txt: * docs/design/part-buffering.txt: * docs/design/part-bufferlist.txt: * docs/design/part-caps.txt: * docs/design/part-clocks.txt: * docs/design/part-element-sink.txt: * docs/design/part-element-transform.txt: * docs/design/part-events.txt: * docs/design/part-framestep.txt: * docs/design/part-gstelement.txt: * docs/design/part-gstghostpad.txt: * docs/design/part-latency.txt: * docs/design/part-messages.txt: * docs/design/part-missing-plugins.txt: * docs/design/part-negotiation.txt: * docs/design/part-qos.txt: * docs/design/part-scheduling.txt: * docs/design/part-seeking.txt: * docs/design/part-states.txt: * docs/design/part-stream-status.txt: * docs/faq/Makefile.am: * docs/faq/dependencies.xml: * docs/faq/general.xml: * docs/manual/Makefile.am: * docs/manual/advanced-clocks.xml: * docs/manual/advanced-dparams.xml: * docs/manual/basics-elements.xml: * docs/manual/basics-init.xml: * docs/manual/basics-pads.xml: * docs/manual/diagrams-general.svg: * docs/manual/highlevel-components.xml: * docs/manual/intro-gstreamer.xml: * docs/pwg/Makefile.am: * docs/pwg/advanced-tagging.xml: * docs/pwg/intro-basics.xml: * docs/pwg/intro-preface.xml: * docs/pwg/other-base.xml: * docs/pwg/other-source.xml: * docs/random/autoplug2: * docs/random/bbb/optional-properties: * docs/random/bbb/streamselection: * docs/random/caps: * docs/random/company/gvadec.txt: * docs/random/ensonic/draft-bufferpools.txt: * docs/random/ensonic/embedded.txt: * docs/random/ensonic/media-device-daemon.txt: * docs/random/ensonic/plugindocs.txt: * docs/random/ensonic/profiling.txt: * docs/random/eos: * docs/random/hierarchy: * docs/random/i18n: * docs/random/interfaces: * docs/random/negotiation: * docs/random/omega/sched/chains: * docs/random/omega/testing/framework: * docs/random/plugins: * docs/random/rtp: * docs/random/slomo/controller.txt: * docs/random/sources: * docs/random/streamheader: * docs/random/testing/syntax: * docs/random/types2: * docs/random/uraeus/gstreamer_and_midi.txt: * docs/random/vis-transform: * docs/random/wtay/caps-negociation: * docs/random/wtay/threading: * docs/random/wtay/threads_hilevel: * gst/gstbin.c: * gst/gstcaps.c: * gst/gstchildproxy.c: * gst/gstelement.c: * gst/gstevent.c: * gst/gstevent.h: * gst/gstghostpad.c: * gst/gstinterface.c: * gst/gstpad.c: * gst/gstpad.h: * gst/gstparamspecs.h: * gst/gstparse.c: * gst/gstpipeline.c: * gst/gstplugin.c: * gst/gstpluginfeature.c: * gst/gstpluginfeature.h: * gst/gstpoll.c: * gst/gstregistry.c: * gst/gststructure.c: * gst/gstutils.c: * gst/gstutils.h: * gst/gstvalue.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: * libs/gst/base/gsttypefindhelper.c: * libs/gst/controller/gstcontroller.c: * libs/gst/controller/gsthelper.c: * plugins/elements/gstcapsfilter.c: * plugins/elements/gstidentity.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstqueue2.c: * plugins/elements/gsttee.c: * tests/benchmarks/capsnego.c: * tests/check/elements/filesink.c: * tests/check/generic/sinks.c: * tests/check/gst/gstelementfactory.c: * tests/check/gst/gstevent.c: * tools/gst-launch.1.in: * win32/README.txt: docs, gst: typo fixes https://bugzilla.gnome.org/show_bug.cgi?id=658449 2011-09-07 15:07:20 +0100 Tim-Philipp Müller * docs/gst/Makefile.am: * docs/libs/Makefile.am: docs: fix make distcheck No point removin those empty override files from git, they'll just be re-created later, so let's tell gtk-doc about them, so it can clean them up properly. 2011-09-07 16:02:31 +0200 Sebastian Dröge * libs/gst/base/gstbasetransform.c: basetransform: If there's no peer we still have to transform ANY caps in getcaps() Otherwise elements like capsfilter will return ANY caps if no peer is present instead of the filter caps. The transform_caps() vfunc could do transformations to the template caps that do not result in the unmodified template caps. 2011-09-07 14:05:03 +0200 Stefan Sauer * docs/gst/Makefile.am: * docs/libs/Makefile.am: * docs/plugins/Makefile.am: docs: cleanup makefiles Remove commented out parts that we don't need. Remove "the wingo addition" - no so useful after all. Narrow down file-globs for plugin docs. 2011-09-07 13:50:08 +0200 Stefan Sauer * gst/gstelement.c: docs: escape % in docblob 2011-09-02 19:46:06 +0400 Stas Sergeev * gst/gstghostpad.c: ghostpad: Use gst_pad_set_caps() instead of manually changing caps gst_pad_set_caps() does essentially the same but additionally calls the pad's setcaps function. Fixes bug #658076. 2011-09-06 21:24:10 +0200 Stefan Sauer * common: Automatic update of common submodule From a39eb83 to 11f0cd5 2011-09-06 15:39:52 +0200 Stefan Sauer * common: Automatic update of common submodule From 605cd9a to a39eb83 2011-09-06 12:17:05 +0200 Sebastian Dröge * libs/gst/base/gstbasetransform.c: basetransform: Use check for subsets and not non-empty intersection to check if caps are compatible 2011-09-06 12:19:58 +0200 Sebastian Dröge * gst/gstpad.c: pad: Check for subsets, not non-empty intersections to check if caps are compatible Pads should only accept caps that are a subset of the pad caps, e.g. they should accept only caps that have a non-empty intersection and at least all fields of the pad caps. Without this a pad that wants for example "video/x-h264,stream-format=byte-stream" will be happy to accept "video/x-h264". 2011-08-29 17:06:18 +0200 Wim Taymans * gst/gstbuffer.c: * gst/gstbufferlist.c: * gst/gstcaps.c: * gst/gstevent.c: * gst/gstmessage.c: * gst/gstminiobject.h: * gst/gstquery.c: * win32/common/libgstreamer.def: miniobject: change to GST_DEFINE_MINI_OBJECT_TYPE Append _TYPE to the macro for consistency with other similar macros. 2011-08-29 15:34:30 +0200 Wim Taymans * gst/gst.c: * gst/gst_private.h: * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstbufferlist.c: * gst/gstbufferlist.h: * gst/gstcaps.c: * gst/gstcaps.h: * gst/gstevent.c: * gst/gstevent.h: * gst/gstmemory.c: * gst/gstmemory.h: * gst/gstmessage.c: * gst/gstmeta.c: * gst/gstmeta.h: * gst/gstminiobject.c: * gst/gstminiobject.h: * gst/gstquery.c: * win32/common/libgstreamer.def: init: add _get_type() functions Remove gst_mini_object_register() and add a GST_DEFINE_MINI_OBJECT macro to define a _get_type() function for the boxed miniobject. Remove a bunch of custom _get_type() functions and replace them with the miniobject macro. Rename some _init method to _priv_*_initialize() like the rest of them. Inspired by patch from Johan Dahlin and see bug #657603 2011-08-29 13:27:26 +0200 Wim Taymans * gst/gst.c: * gst/gst_private.h: * gst/gstbuffer.c: * gst/gstbufferlist.c: * gst/gstcaps.c: * gst/gstevent.c: * gst/gstformat.c: * gst/gstmessage.c: * gst/gstplugin.c: * gst/gstquery.c: * gst/gstregistry.c: * gst/gstregistrybinary.c: * gst/gststructure.c: * gst/gsttaglist.c: * gst/gstvalue.c: * win32/common/libgstreamer.def: gst: add some _priv prefixes to private methods 2011-08-29 12:38:54 +0200 Wim Taymans * gst/gstminiobject.c: mini-object: use ref/unref directly in boxed copy/free GLib will not call our copy/free with a NULL object 2011-08-26 14:37:54 +0200 Wim Taymans Merge branch 'master' into 0.11 Conflicts: gst/gstmessage.c gst/gstquery.c gst/gstregistrychunks.c gst/gstsegment.c libs/gst/base/gstbasetransform.c libs/gst/base/gstbasetransform.h libs/gst/base/gsttypefindhelper.c plugins/elements/gsttypefindelement.c 2011-08-26 14:18:33 +0200 Wim Taymans * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesink.h: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasesrc.h: * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstbasetransform.h: base: rename allocation vmethods Name the allocation vmethod on srcpad decide_allocation because source pads will have to decide what allocation parameters will be used. Name the allocation vmethod on sinkpads propose_allocation because they will need to configure the allocation query with a proposed values for upstream. 2011-08-26 14:17:23 +0200 Wim Taymans * gst/gstbuffer.h: buffer: improve flags Rename DROP to DECODE_ONLY. Add DROPPABLE flag to mark buffers that can be dropped to save bandwidth without destroying the stream. 2011-08-26 14:09:47 +0200 Josep Torra * gst/gsttrace.h: * gst/gsttypefind.h: docs: add since 0.10.36 on the new _NONE enum values 2011-08-26 00:13:16 +0200 Josep Torra * tests/examples/stepping/framestep1.c: stepping: use the proper argument order Fixes warning #188: enumerated type mixed with another type reported by ICC. 2011-08-26 00:06:12 +0200 Josep Torra * plugins/indexers/gstfileindex.c: fileindex: explicitly cast to the enum types Fixes warning #188: enumerated type mixed with another type reported by ICC. 2011-08-26 00:00:25 +0200 Josep Torra * plugins/elements/gsttypefindelement.c: typefinder: use GST_TYPE_FIND_NONE instead of 0 Fixes warning #188: enumerated type mixed with another type reported by ICC. 2011-08-25 23:53:58 +0200 Josep Torra * libs/gst/controller/gstlfocontrolsource.c: lfocontrolsource: explicitly cast to the enum type Fixes warning #188: enumerated type mixed with another type reported by ICC. 2011-08-25 23:49:38 +0200 Josep Torra * gst/gsttypefind.h: * libs/gst/base/gsttypefindhelper.c: typefind: add GST_TYPE_FIND_NONE and use it Fixes warning #188: enumerated type mixed with another type reported by ICC. 2011-08-25 23:26:08 +0200 Josep Torra * libs/gst/base/gstbaseparse.c: baseparse: use the enum values for 0 and don't abuse on gboolean coincidence Fixes warning #188: enumerated type mixed with another type reported by ICC. 2011-08-25 23:06:56 +0200 Josep Torra * libs/gst/base/gstbaseparse.c: baseparse: put the arguments of g_return_val_if_fail in the proper order 2011-08-25 22:48:54 +0200 Josep Torra * gst/gstparse.c: parse: use GST_PARSE_FLAG_NONE instead of 0 Fixes warning #188: enumerated type mixed with another type reported by ICC. 2011-08-25 22:42:08 +0200 Josep Torra * gst/gstvalue.c: value: explicitly cast to the enum type Fixes warning #188: enumerated type mixed with another type reported by ICC. 2011-08-25 22:29:45 +0200 Josep Torra * gst/gstutils.c: utils: minor changes related to enum types Fixes warning #188: enumerated type mixed with another type reported by ICC. 2011-08-25 22:05:26 +0200 Josep Torra * gst/gsttrace.c: * gst/gsttrace.h: trace: add GST_ALLOC_TRACE_NONE for consistency and use it Fixes warning #188: enumerated type mixed with another type reported by ICC. 2011-08-25 21:52:05 +0200 Josep Torra * gst/gsttask.c: task: explicitly cast to the enum type Fixes warning #188: enumerated type mixed with another type reported by ICC. 2011-08-25 21:49:29 +0200 Josep Torra * gst/gstsystemclock.c: * gst/gsttagsetter.c: tagsetter: use GST_TAG_MERGE_UNDEFINED instead of FALSE Fixes warning #188: enumerated type mixed with another type reported by ICC. 2011-08-25 21:30:57 +0200 Josep Torra * gst/gstsegment.c: segment: use GST_SEEK_FLAG_NONE instead of 0 Fixes warning #188: enumerated type mixed with another type reported by ICC. 2011-08-25 21:25:46 +0200 Josep Torra * gst/gstregistrychunks.c: registrychunks: explicitly cast to the enum types Fixes warning #188: enumerated type mixed with another type reported by ICC. 2011-08-25 21:18:15 +0200 Josep Torra * gst/gstquery.c: query: minor changes related to enum types Fixes warning #188: enumerated type mixed with another type reported by ICC. 2011-08-25 21:03:53 +0200 Josep Torra * gst/gstpadtemplate.c: padtemplate: explicitly cast to the enum types Fixes warning #188: enumerated type mixed with another type reported by ICC. 2011-08-16 23:00:47 +0200 Josep Torra * gst/gstpad.c: * gst/gstpad.h: pad: explicitly cast to the enum type Fixes warning #188: enumerated type mixed with another type reported by ICC. 2011-08-16 22:51:29 +0200 Josep Torra * gst/gstmessage.c: message: explicitly cast to the right enum types Fixes warning #188: enumerated type mixed with another type reported by ICC. 2011-08-16 22:41:32 +0200 Josep Torra * gst/gstinfo.c: info: explicitly cast to the enum type Fixes warning #188: enumerated type mixed with another type reported by ICC. 2011-08-16 22:37:08 +0200 Josep Torra * gst/gstindex.c: index: explicitly cast to the enum type Fixes warning #188: enumerated type mixed with another type reported by ICC. 2011-08-16 22:29:59 +0200 Josep Torra * gst/gstformat.c: format: use GST_FORMAT_UNDEFINED and few casts to GstFormat Fixes warning #188: enumerated type mixed with another type reported by ICC. 2011-08-26 13:02:34 +0100 Sjoerd Simons * libs/gst/base/gstbasetransform.h: basetransform: Fix bodged previous commit 2011-08-26 12:37:43 +0100 Sjoerd Simons * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstbasetransform.h: basetransform: Use GstPadDirection in the query vfunc Wim suggested that using GstPadDirection instead of a GstPad in the arguments to the new query vfunc would be more consistent with the other functions. 2011-08-26 13:40:44 +0200 Wim Taymans * gst/gstbuffer.h: buffer: rename _CLIP to _DROP flag We can also use a flag to indicate that a frame should be decoded but not displayed regardless of the the segment boundaries so we use the more generic _DROP. 2011-08-26 12:28:28 +0200 Wim Taymans * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstbasetransform.h: basetransform: remove some unused variables 2011-08-26 11:44:12 +0200 Wim Taymans * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstbasetransform.h: basetransform: add vmethod to configure upstream bufferpool Add a vmethod that can be implemented to influence the bufferpool that upstream elements will use. 2011-08-26 11:24:42 +0200 Wim Taymans * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstbasetransform.h: basetransform: use pad direction like other vmethods 2011-08-26 11:09:07 +0200 Wim Taymans Merge branch 'master' into 0.11 Conflicts: libs/gst/base/gstbasetransform.c libs/gst/base/gstbasetransform.h 2011-08-26 10:57:37 +0200 Wim Taymans * gst/gsturi.h: uri: some doc fixes 2011-08-25 11:02:16 +0100 Sjoerd Simons * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstbasetransform.h: BaseTransform: Add a query vfunc 2011-07-20 14:05:27 +0200 Sjoerd Simons * plugins/elements/gstcapsfilter.c: capsfilter: don't assume _get_caps still has to be _set_caps only gets called when the buffer is actually pushed, so there is a reasonably big window between when the initial caps are retrieved and when the caps are set on our src pad. So we can't assume the not having negotiated caps on our src pad means _get_caps still has to be called. Instead simply always suggest the new caps on buffer_alloc. 2011-08-25 18:04:28 +0200 Wim Taymans * gst/gstbuffer.h: buffer: add clip flag 2011-08-25 16:21:18 +0200 Wim Taymans * gst/gstbuffer.h: buffer: rework flags a little Reorder buffer flags and add some new ones. Remove the media specific flags, we can now easily do this with the FLAG_LAST flag because we don't extend from GstBuffer anymore. 2011-08-25 16:20:21 +0200 Wim Taymans * gst/gstbuffer.c: * libs/gst/base/gstbasetransform.c: buffer: always copy all buffer flags when asked Don't try to be smart and copy only a subset of buffer flag 2011-08-25 16:19:52 +0200 Wim Taymans * win32/common/libgstreamer.def: update defs 2011-08-25 14:09:37 +0200 Wim Taymans * gst/gst.c: * gst/gstbuffer.h: buffer: pluralize the buffer flags 2011-08-25 12:38:58 +0200 Wim Taymans * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesink.h: * tests/check/generic/sinks.c: * tests/check/pipelines/stress.c: basesink: remove preroll-queue-len property Remove the preroll-queue-len property and move its variables to a private section so that we can remove them later. 2011-08-24 10:43:09 +0200 Wim Taymans Merge branch 'master' into 0.11 Conflicts: gst/gstobject.c 2011-08-23 18:19:53 +0200 Mark Nauwelaerts * libs/gst/base/gstbasesink.c: basesink: ensure start_time reset upon flush 2011-08-23 11:55:17 +0200 Stefan Kost * gst/gstobject.c: gstobject: also remove the cast as this is causing the trouble 2011-08-23 11:41:02 +0200 Stefan Kost * gst/gstobject.c: gstobject: use the atomic macros to deal with the glib change in the impl. 2011-08-22 12:49:04 +0200 Wim Taymans * gst/gstobject.c: * gst/gstobject.h: object: make _replace like the miniobject version 2011-08-22 12:33:35 +0200 Wim Taymans Merge branch 'master' into 0.11 Conflicts: gst/gstbuffer.h gst/gstcaps.c gst/gstcaps.h gst/gstevent.c 2011-08-22 12:19:19 +0200 Wim Taymans * gst/gstcaps.c: * gst/gststructure.c: * gst/gststructure.h: * gst/gstvalue.c: * gst/gstvalue.h: * tests/check/gst/capslist.h: * tests/check/gst/gstcaps.c: * tests/check/gst/gststructure.c: * tests/check/gst/gstvalue.c: * tests/check/pipelines/parse-launch.c: * win32/common/libgstreamer.def: value: remove our FOURCC GType Remove our custom fourcc GValue. 2011-08-21 14:07:08 -0700 David Schleef * gst/gstobject.c: object: make gst_object_replace() atomic 2011-08-20 14:07:55 +0200 Stefan Kost * gst/gstelement.c: docs: more clarification for element docs Don't suggest deprecated method in the desction docs and try to be more helpful in other places by suggesting related functions. 2011-08-20 09:56:01 +0200 Stefan Kost * gst/gstelement.c: docs: small clarification in the gst_element_get_request_pad docs Make it more obvious that one should pass the template name. 2011-08-18 20:46:01 +0100 Tim-Philipp Müller * libs/gst/base/gstbaseparse.c: baseparse: don't use == in debug string It messes up GST_DEBUG=*:5 make foo/bar.valgrind, because our Makefile looks for '==' as marker of valgrind output. 2011-08-18 20:44:01 +0100 Tim-Philipp Müller * libs/gst/base/gstbaseparse.c: baseparse: fix crash on seek from streaming thread on newsegment event Event if it's not allowed, we can easily prevent it, so let's do that. https://bugzilla.gnome.org/show_bug.cgi?id=656771 2011-08-17 17:56:40 +0200 Wim Taymans * gst/gststructure.c: * gst/gststructure.h: * win32/common/libgstreamer.def: structure: add method to fixate one field 2011-08-17 17:16:21 +0200 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: add default fixate function Add a default fixate function which does gst_caps_fixate() because gst_pad_fixate() does not do that anymore. 2011-08-17 09:25:04 +0200 Wim Taymans * gst/gstpad.c: * libs/gst/base/gstbasetransform.h: docs: improve some docs 2011-08-16 18:29:29 +0200 Wim Taymans * gst/gstbuffer.c: * gst/gstbuffer.h: buffer: return processed number of bytes Make _fill, _extract and _memset return the actual number of bytes that were handled in case the buffer size is less than the specified size. 2011-08-16 17:19:29 +0100 Tim-Philipp Müller * gst/gstelementfactory.c: docs: fix typo in element factory documentation 2011-08-16 17:32:20 +0200 Wim Taymans * gst/gstbuffer.c: * gst/gstbuffer.h: * libs/gst/base/gstbasetransform.c: * libs/gst/dataprotocol/dataprotocol.c: buffer: rename PREROLL -> LIVE flag Rename the GST_BUFFER_FLAG_PREROLL to GST_BUFFER_FLAG_LIVE and give the new flag a meaning. The old PREROLL flag never had a clear meaning. 2011-08-15 21:05:34 +0100 Tim-Philipp Müller * gst/gstcaps.c: caps: fix compiler warning reported by ICC The MAX macro expands to code that checks if an unsigned integer is < 0. Fixes warning #186: pointless comparison of unsigned integer reported by ICC. https://bugzilla.gnome.org/show_bug.cgi?id=656265 2011-08-10 11:39:23 +0200 Josep Torra * gst/gstbuffer.h: buffer: explicitly cast to the enum type Fixes warning #188: enumerated type mixed with another type reported by ICC. https://bugzilla.gnome.org/show_bug.cgi?id=656265 2011-08-10 11:07:49 +0200 Josep Torra * gst/gstelement.h: gststate: explicitly cast to the enum type Fixes warning #188: enumerated type mixed with another type reported by ICC. https://bugzilla.gnome.org/show_bug.cgi?id=656265 2011-08-09 23:42:26 +0200 Josep Torra * gst/gstevent.c: event: explicitly cast to the right enum types Fixes warning #188: enumerated type mixed with another type reported by ICC. https://bugzilla.gnome.org/show_bug.cgi?id=656265 2011-08-09 23:33:43 +0200 Josep Torra * gst/gsterror.c: gsterror: explicitly cast to the right GstGError code enum types Fixes warning #188: enumerated type mixed with another type reported by ICC. https://bugzilla.gnome.org/show_bug.cgi?id=656265 2011-08-09 23:26:13 +0200 Josep Torra * gst/gstdebugutils.c: debugutils: use GST_STATE_VOID_PENDING for GstState instead of 0 Fixes a warning reported by ICC. https://bugzilla.gnome.org/show_bug.cgi?id=656265 2011-08-09 22:48:53 +0200 Josep Torra * gst/gstcaps.c: * gst/gstcaps.h: caps: define GST_CAPS_FLAGS_NONE for consistency with other enumerations Use them to fix warnings when building with ICC. API: GST_CAPS_FLAGS_NONE https://bugzilla.gnome.org/show_bug.cgi?id=656265 2011-08-09 22:29:44 +0200 Josep Torra * gst/gst.c: gst: use GstDebugLevel enum type to fix a warning building with ICC https://bugzilla.gnome.org/show_bug.cgi?id=656265 2011-08-15 16:45:33 +0200 Wim Taymans * gst/gstpad.c: pad: make fixate caps behave like other functions Install a default fixate caps function on pads like all the other pad functions. 2011-08-15 16:45:05 +0200 Wim Taymans * win32/common/libgstreamer.def: defs: update for new symbols 2011-08-15 14:43:14 +0200 Wim Taymans Merge branch 'master' into 0.11 2011-08-15 14:40:38 +0200 Wim Taymans * gst/gstcaps.c: * gst/gstcaps.h: * gst/gstpad.c: * gst/gststructure.c: caps: add fixate function Add a fixate function and use it in gstpad.c 2011-08-15 14:32:17 +0200 Wim Taymans * gst/gstpad.c: * gst/gststructure.c: * gst/gststructure.h: structure: add function to fixate Add a function to fixate a structure and use it for the default fixate function in gstpad.c. 2011-08-15 13:17:44 +0200 Guillaume Desmottes * scripts/gst-uninstalled: gst-uninstalled: add Farsight and Nice support https://bugzilla.gnome.org/show_bug.cgi?id=656557 2011-08-15 14:17:39 +0200 Wim Taymans * gst/gstpad.c: pad: fix default acceptcaps Make the acceptcaps function behave like all the other functions with a default implementation. Don't try to chain up to the default implementation when it was set to NULL explicitly but return FALSE instead. Fix some docs 2011-08-15 13:24:11 +0200 Wim Taymans * gst/gstpad.c: * gst/gstpad.h: pad: fix some macros Remove a rather usless macro to check if a pad mode is active and add GST_PAD_IS_ACTIVE(). 2011-08-15 12:18:59 +0200 Wim Taymans * docs/random/porting-to-0.11.txt: docs: update porting doc 2011-08-15 12:16:30 +0200 Wim Taymans * gst/gstdebugutils.c: * gst/gstpad.c: * gst/gstpad.h: * win32/common/libgstreamer.def: pad: remove gst_pad_get_negotiated_caps() Remove gst_pad_get_negotiated_caps(), it does not realy do what it says, gst_pad_get_current_caps() returns the currently negotiated caps on the pad correctly. 2011-08-12 19:27:21 +0100 Tim-Philipp Müller * plugins/elements/gstqueue2.c: queue2: fix deadlock in error path Don't lock the same lock twice. Spotted by Josep Torre Valles. 2011-08-12 12:45:01 +0300 Peteris Krisjanis * gst/gstiterator.c: iterator: Fix gst_iterator_next() element annotation 2011-08-11 09:31:25 +0100 Tim-Philipp Müller * docs/pwg/advanced-types.xml: docs: fix typo in PWG RBG -> RGB. Spotted by Will Thompson. https://bugzilla.gnome.org/show_bug.cgi?id=656326 2011-08-11 10:09:41 +0200 Stefan Kost * gst/gstdebugutils.c: debugutils: removed non-sense comment 2011-08-10 17:07:54 +0200 Edward Hervey Merge remote-tracking branch 'origin/master' into 0.11 Conflicts: gst/gstdebugutils.c gst/gstelementdetails.h gst/gstregistrychunks.c tools/gst-run.c 2011-08-08 19:36:04 +0200 Stefan Kost * gst/gstelementdetails.h: * gst/gstregistrychunks.c: registry: move utf-8 validation to registry saving time Instead of checking for valid utf-8 element-details every time we create elements (from plugin-init or registry), do it before we save the registry. Fixes #656193. 2011-08-10 11:01:58 +0200 Josep Torra * gst/gstbuffer.c: * gst/gstmemory.c: * gst/gstmeta.c: * gst/gstpad.c: * libs/gst/base/gstadapter.c: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: * libs/gst/check/gstcheck.c: * plugins/elements/gstfdsink.c: * plugins/elements/gstfilesink.c: * plugins/elements/gstqueue.c: * plugins/elements/gstqueue2.c: * plugins/elements/gsttypefindelement.c: Fix and clarify debug statements Fixes build on MacOSX Signed-off-by: Edward Hervey 2011-08-05 10:59:42 +0200 Edward Hervey * gst/gstbuffer.c: gstbuffer: Clarify doc 2011-08-07 09:14:50 +0100 Tim-Philipp Müller * docs/manual/basics-helloworld.xml: docs: fix helloworld compile command line for newer gcc https://bugzilla.gnome.org/show_bug.cgi?id=656092 2011-08-06 18:20:51 +0200 Shaun Hoopes * gst/gstdebugutils.c: debugutils: improve dot file flow layout Iterate source- and sink-pads separately to ensure that the graph reflects the upstream/downstream order. Fixes #643269 2011-08-06 14:17:50 +0200 Thomas Vander Stichele * gstreamer.spec.in: gstreamer.spec: make buildable and parallel 2011-08-05 12:12:33 +0100 Tim-Philipp Müller * tools/gst-run.c: tools: make unversioned wrapper look for -0.10 tools only Don't want (incompatible) 0.11 tools to be picked up by accident. 2011-08-04 18:00:02 +0200 Wim Taymans * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasesrc.h: basesrc: add alloc vmethod Make an alloc vmethod so that subclasses can override or call the default implementation when they want. 2011-08-04 17:26:34 +0200 Wim Taymans * win32/common/libgstbase.def: * win32/common/libgstreamer.def: defs: update defs 2011-08-04 17:12:47 +0200 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: cleanups and mark reconfigure Don't abuse the result variable. Mark the srcpad with a reconfigure so that negotiation happens. 2011-08-04 17:12:21 +0200 Wim Taymans * gst/gstpad.c: * gst/gstpad.h: pad: add method to mark reconfigure 2011-08-04 16:56:42 +0200 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: remove negotiation from the state change Remove the negotiation from the state change function, it causes data transfer and bufferpool negotiation, which is not supposed to be done. Since we have the reconfigure state on the pad, the create function will do the negotiation as soon as it gets in the streaming thread. 2011-08-04 16:34:49 +0200 Wim Taymans * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasesrc.h: basesrc: expose set_caps method Expose a previously static method so that custom negotiate implementation can call it and do the right thing. 2011-08-04 13:48:11 +0200 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: PAUSED<->PLAY doesn't change pool state Don't change the state of the bufferpool when going between PAUSED and PLAYING, it will dealloc and realloc all buffers, which is clearly too invasive. We will need to add some other way of unblocking the bufferpool. 2011-08-04 11:00:57 +0200 Wim Taymans * gst/gstbufferpool.c: * gst/gstmemory.c: fix default alignment A 0 alignment is the default. 2011-08-04 10:54:29 +0200 Wim Taymans * gst/gstbufferpool.c: * gst/gstbufferpool.h: * win32/common/libgstreamer.def: bufferpool: add gst_buffer_pool_is_active() 2011-08-03 11:57:50 +0200 Wim Taymans * configure.ac: * win32/common/config.h: * win32/common/gstversion.h: back to development === release 0.11.0 === 2011-08-02 20:55:28 +0200 Wim Taymans * ChangeLog: * NEWS: * RELEASE: * configure.ac: * gstreamer.doap: * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: * win32/common/config.h: * win32/common/gstenumtypes.c: * win32/common/gstenumtypes.h: * win32/common/gstversion.h: RELEASE 0.11 2011-08-03 11:04:12 +0200 Sebastian Dröge * docs/random/porting-to-0.11.txt: porting-to-0.11: Add section about GstIterator 2011-08-01 18:12:12 +0200 Wim Taymans * gst/gstbufferpool.c: bufferpool: don't add the same option twice Make sure that we only add an option to the array once. 2011-07-30 14:04:43 +0200 Wim Taymans * gst/gstbufferpool.c: * gst/gstbufferpool.h: * win32/common/libgstreamer.def: bufferpool: add method to check for an option Add a method to check if an option is supported on the bufferpool. 2011-07-29 17:10:09 +0200 Wim Taymans * gst/gstbufferpool.c: * gst/gstbufferpool.h: * gst/gstquark.c: * gst/gstquark.h: * win32/common/libgstreamer.def: bufferpool: add options API to bufferpool Make it possible to query the supported options of a bufferpool and enable options. This is a bit more generic than the API to enable metadata. The purpose is to make it possible to add new custom config options to the configuration of the bufferpool when supported. 2011-07-28 12:11:36 +0100 Tim-Philipp Müller * gst/gstelement.c: * gst/gstelement.h: element: don't use G_CONST_RETURN It's been deprecated in newer GLib versions 2011-07-28 12:01:58 +0100 Tim-Philipp Müller * docs/manual/advanced-position.xml: manual: update for position/duration query API change 2011-07-27 00:28:50 +0100 Tim-Philipp Müller * tests/check/elements/fakesink.c: * tests/check/elements/filesink.c: * tests/check/generic/sinks.c: * tests/examples/stepping/framestep1.c: tests: update for query API changes 2011-07-27 00:28:19 +0100 Tim-Philipp Müller * plugins/elements/gstqueue2.c: * plugins/elements/gsttypefindelement.c: plugins: update for query API changes 2011-07-27 00:26:43 +0100 Tim-Philipp Müller * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: base: update for query API changes 2011-07-27 00:17:02 +0100 Tim-Philipp Müller * docs/random/porting-to-0.11.txt: * gst/gstquery.c: * gst/gstutils.c: * gst/gstutils.h: gst: fix awkward dest_format inout parameter in query utility functions The idea was originally that if one passed &dest_fmt with dest_fmt=GST_FORMAT_DEFAULT, then the code answering the query could change dest_fmt to the actual default format used. However, in more than half a decade of GStreamer 0.10 no piece of code in GStreamer has ever used that feature, nor are there that many users of this API that actually check whether the format returned is the original format passed before using the values returned. Also, it's just annoying-to-use API in its own right. For all these reasons, make it so that the destination format is passed directly and can't be changed by the element queried. 2011-07-27 12:50:39 +0200 Wim Taymans Merge branch 'master' into 0.11 2011-07-27 12:49:40 +0200 Wim Taymans * libs/gst/base/gstbasetransform.c: basetransform: add more comments 2011-07-27 12:45:17 +0100 Wim Taymans * libs/gst/base/gstbasetransform.c: basetrans: also pass allocation query in in_place When we are doing an in_place transform, don't do the allocation query but let the upstream element decide. 2011-07-26 22:41:59 -0700 Evan Nemerson * libs/gst/base/gstbitreader.c: * libs/gst/base/gstbytereader.c: base: add missing (out) annotation for byte reader/writer functions https://bugzilla.gnome.org/show_bug.cgi?id=655381 2011-07-27 10:09:11 +0100 Tim-Philipp Müller * gst/gstelementfactory.c: elementfactory: fix g-i annotation for _create() and _make() to allow NULL object names 2011-07-26 18:48:20 +0200 Wim Taymans * gst/gstpad.c: pad: improve the getcaps function Refactor calling the GETCAPS function and checks. Move the filter code in one place. When using fixed pad caps, get the currently configured caps and then fallback to the GETCAPS function. We used to simply ignore the GETCAPS function, which resulted in transform elements returning the template caps instead of doing the caps transform. 2011-07-26 15:43:55 +0200 Wim Taymans * gst/gstpad.c: pad: only update caps when changed Only call the event function with the caps event when the caps changed. 2011-07-26 14:37:51 +0200 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: add some more debug info 2011-07-26 12:21:38 +0200 Wim Taymans * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesink.h: * plugins/elements/gstfilesink.c: basesink: make it easy to override the pad query Add a vmethod to handle the pad query. Install a default handler for the pad query. Add a vmethod to setup the allocation properties. Use the new query function in filesink 2011-07-26 12:20:55 +0200 Wim Taymans * libs/gst/base/gstbasesrc.h: basesrc: improve docs 2011-07-26 12:20:04 +0200 Wim Taymans * gst/gstpad.c: pad: add allocation query just because 2011-07-25 15:21:21 +0200 Wim Taymans * gst/gstpoll.c: poll: improve debugging 2011-07-25 12:53:10 +0200 Wim Taymans * gst/gstbuffer.c: * gst/gstminiobject.c: * gst/gstminiobject.h: miniobject: avoid race in bufferpool release Avoid playing with the refcount to decide when a buffer has been recycled by the dispose function. The problem is that we then temporarily can have a buffer with a refcount > 1 being acquired from the pool, which is not writable. Instead use a simple boolean return value from the dispose function to inform the called that the object was recycled or not. 2011-07-25 12:49:24 +0200 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: use DEBUG instead of ERROR for logging Don't use the ERROR log category because the allocation failure migh only be bacause of a state change. 2011-07-25 12:14:16 +0100 Wim Taymans * gst/gstbufferpool.c: bufferpool: start with raised control socket In the inactive state, the control socket should be in the raised state, we will release it when we start. 2011-07-24 11:24:44 +0200 Stefan Kost * docs/pwg/advanced-clock.xml: * docs/pwg/building-chainfn.xml: pwd: discontinous event -> newsegment event Fix a 0.8 leftover as mentioned on bug #621121. 2011-07-24 09:05:22 +0200 Wim Taymans * docs/random/porting-to-0.11.txt: talk about the basetransform sink_event vmethod 2011-07-23 08:00:09 +0100 Tim-Philipp Müller * libs/gst/controller/gstcontrollerprivate.h: controller: fix build failure due to compiler warning Presumably with newer GLib version. https://bugzilla.gnome.org/show_bug.cgi?id=655155 2011-07-22 21:17:42 +0200 Wim Taymans * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstbasetransform.h: * plugins/elements/gstidentity.c: basetransform: fix sink event handling Implement the sink event handling like the src event handler. Make the default implementation parse and forward the event. This makes it possible to actually return an error value from the event handler. 2011-07-22 19:19:59 +0200 Wim Taymans * libs/gst/base/gstbasetransform.c: basetransform: handle failures Handle failure to activate the bufferpool. 2011-07-22 19:11:56 +0200 Wim Taymans * libs/gst/base/gstbasetransform.c: basetrans: improve debugging. 2011-07-21 18:50:25 +0200 Wim Taymans * gst/gstbufferpool.c: * gst/gstbufferpool.h: bufferpool: add reset_buffer vmethod Add a vmethod to reset a buffer to its original state. Add a default implementation that resets the flags, timestamps and offsets. Add some more docs. 2011-07-21 17:42:08 +0200 Wim Taymans * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstbasetransform.h: * plugins/elements/gstcapsfilter.c: * plugins/elements/gstidentity.c: basetrans: Remove ref in passthrough Remove the requirement to have to return a ref to the input buffer when in passthrough mode. This saves a few ref/unref cycles and fixes another 0.11 FIXME. 2011-07-21 17:29:13 +0200 Wim Taymans * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstbasetransform.h: basetransform: make new copy_metadata vmethod Make a new copy_metadata vmethod and move the code to copy the timestamps, flags and offsets into a default implementation. This will allow us to give the subclasses a chance to override the copy method. 2011-07-21 16:49:13 +0200 Wim Taymans Merge branch 'master' into 0.11 Conflicts: libs/gst/base/gstbaseparse.c libs/gst/base/gstbasesink.c 2011-07-21 16:39:04 +0200 Wim Taymans * libs/gst/base/gstbasetransform.c: basetrans: avoid intermediate method Simply call the prepare_output_buffer method instead of calling an intermediate function. 2011-07-21 16:30:07 +0200 Wim Taymans * libs/gst/base/gstbasetransform.c: basetransform: move the metadata copy code Move the metadata copy code to the default prepare_output_buffer implementation. 2011-07-21 15:49:00 +0200 Wim Taymans * libs/gst/base/gstbasetransform.c: basetransform: move prepare_output_buffer code Move the code for prepare_output_buffer to a default implementation. this allows us to simplify some things and have subclasses call into the default implementation when needed. 2011-07-21 15:48:25 +0200 Wim Taymans * libs/gst/base/gstbasetransform.c: basetransform: only get size for debug 2011-07-21 14:18:30 +0200 Wim Taymans * libs/gst/base/gstbasetransform.c: basetrans: fix comment and warn Emit a warning in the debug log when something seems weird. 2011-07-21 14:14:58 +0200 Wim Taymans * libs/gst/base/gstbasetransform.c: basetransform: only get caps for size transform Delay getting the caps until we need to call the transform_size function. 2011-07-21 13:56:11 +0200 Wim Taymans * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstbasetransform.h: * plugins/elements/gstcapsfilter.c: * plugins/elements/gstidentity.c: basetrans: remove useless variables from prepare_output_buffer Remove the caps and size from the prepare_output_buffer function. with bufferpools and capsnego done differently, we don't need this in most cases and if we do, we can simply use the transform_size function and get the caps from the srcpad. 2011-07-18 17:22:41 +0200 Stefan Kost * docs/manual/advanced-clocks.xml: docs: clarify clocks docs in manual After a question on the mailing list, mention that *flushing* seeks reset the running time. 2011-07-16 22:00:15 +0300 Raluca Elena Podiuc * gst/gstevent.c: * gst/gstmessage.c: docs: removed double negation in event/message seq num description https://bugzilla.gnome.org/show_bug.cgi?id=654751 2011-07-16 12:21:12 +0100 Tim-Philipp Müller * tests/check/elements/filesrc.c: tests: make sure non-ASCII chars in filenames are escaped when creating URIs from them https://bugzilla.gnome.org/show_bug.cgi?id=654673 2011-07-15 16:04:11 +0100 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: don't accidentally disable the pool When we set a pool and it is the same as the old pool, don't disable the pool. 2011-07-15 13:27:13 +0200 Wim Taymans * gst/gstbufferpool.c: bufferpool: call release_buffer after alloc After we allocated a new buffer, call the release_buffer vmethod to put the new buffer in the pool instead of assuming that the pool uses the default release_method implementation. 2011-07-15 11:52:22 +0200 Wim Taymans * gst/gstbufferpool.c: * gst/gstbufferpool.h: bufferpool: add macro to check for flushing 2011-07-15 11:51:54 +0200 Wim Taymans * gst/gstbuffer.c: buffer: improve debug message 2011-07-14 12:45:33 +0100 Tim-Philipp Müller * libs/gst/base/gstbaseparse.c: baseparse: fix printf format in debug message 2011-07-13 11:39:15 +0200 Mark Nauwelaerts * libs/gst/base/gstbasesink.c: basesink: unset PLAYING transition flag when transition completed 2011-07-12 14:07:57 +0200 Wim Taymans * gst/gstbuffer.c: buffer: fix resize function some more Don't remove memory blocks from the buffer when we clip and resize, instead set the memory offset and size to 0. This allows us to make the buffer larger again later. 2011-07-12 13:40:35 +0200 Wim Taymans * gst/gstbuffer.c: * tests/check/gst/gstbuffer.c: buffer: improve size handling Also handle the case where multiple empty memory blocks are in the buffer. Add unit test for this. 2011-07-12 12:00:58 +0200 Wim Taymans * gst/gstbuffer.c: * tests/check/gst/gstbuffer.c: buffer: fix _resize some more Add more debug. Alow resize to 0 bytes. Do clipping correctly. Add more unit tests. Also add a failing test: when we resize to 0 and then try to resize back to the original size it fails because the memory was removed. 2011-07-11 18:00:52 +0200 Wim Taymans * gst/gstbuffer.c: * gst/gstmemory.c: * gst/gstmemory.h: * tests/check/gst/gstbuffer.c: buffer: fix negative offsets some more Allow for negative offsets when doing memory copy and share. Add fast path in the _get_sizes() function. Fix resize for negative offset and expanding the buffer. Add some unit tests. 2011-07-11 16:43:33 +0200 Wim Taymans * win32/common/libgstreamer.def: defs: add defs for new methods 2011-07-11 16:42:56 +0200 Wim Taymans * gst/gstbuffer.c: buffer: fix _resize better 2011-07-11 16:17:57 +0200 Wim Taymans * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstmemory.c: * gst/gstmemory.h: * win32/common/libgstreamer.def: buffer: add api to get the current memory offset Also return the offset in a GstMemory block with the get_sizes() method. This allows us to figure out how much prefix there is unused. Change the resize function so that a negative offset can be given. This would make it possible to resize the buffer so that the prefix becomes available. Add gst_buffer_get_sizes() to return the offset and maxsize as well as the size. Also change the buffer resize method so that we can specify a negative offset to remove prefix bytes. 2011-07-11 14:40:07 +0200 Mark Nauwelaerts * gst/gstbuffer.c: * gst/gstbuffer.h: buffer: add some memory wrapped buffer allocation helpers 2011-07-11 12:11:13 +0200 Wim Taymans * gst/gstminiobject.h: miniobject: cleanup headers 2011-07-11 11:40:08 +0200 Mark Nauwelaerts * libs/gst/base/gstbaseparse.c: baseparse: eat incoming caps event ... as it is typically up to baseclass to set proper src caps. 2011-07-11 11:37:28 +0200 Mark Nauwelaerts * gst/gstpad.c: pad: avoid inadvertently dropping an event ... particularly a non-sticky serialized event that happens to pass when an event update is pending. 2011-07-04 12:58:54 +0200 Mark Nauwelaerts * libs/gst/base/gstbasesink.c: basesink: try harder to arrange increasing position reporting ... rather than having a momentary decreasing one while transitioning to PLAYING. Fixes #628021. 2011-07-08 16:07:12 +0100 Tim-Philipp Müller * win32/common/libgstreamer.def: win32: add new API to .def file 2011-07-06 15:13:30 +0100 Tim-Philipp Müller * gst/gstbuffer.c: * gst/gstbuffer.h: buffer: make idx argument to gst_buffer_take_memory() signed Since -1 is acceptable, it should be signed. 2011-07-07 14:57:18 +0100 Tim-Philipp Müller * libs/gst/base/gstbaseparse.c: baseparse: fix invalid memory access in debug messages Don't use buffers that we've given away or unrefed in debug messages. 2011-07-07 11:14:34 +0200 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: fix after merge 2011-07-07 11:13:19 +0200 Wim Taymans Merge branch 'master' into 0.11 Conflicts: libs/gst/base/gstbasesrc.c 2011-07-06 16:08:56 +0200 Wim Taymans * gst/gstbuffer.c: * gst/gstbuffer.h: buffer: add memset function 2011-07-06 12:09:28 +0100 Tim-Philipp Müller * gst/gstbuffer.c: buffer: fix guards for gst_buffer_take_memory() Since idx = -1 makes it default to idx=len, len is also a valid input idx. 2011-07-05 16:38:06 +0200 Wim Taymans * gst/gst.c: gst: add class ref/unref 2011-07-05 16:32:45 +0200 Wim Taymans * tests/check/libs/transform1.c: test: disable failing unit tests Disable unit tests that are failing until someone ports this to 0.11 2011-07-05 16:20:03 +0200 Wim Taymans * plugins/elements/gstqueue.c: * tests/check/elements/queue.c: queue: fix unit test Set the right position member in the segment event. Add some debug to queue. 2011-07-05 00:10:26 +0100 Tim-Philipp Müller * configure.ac: * gst/Makefile.am: * gst/gst.h: * libs/gst/base/Makefile.am: * libs/gst/check/Makefile.am: * libs/gst/controller/Makefile.am: * libs/gst/dataprotocol/Makefile.am: * libs/gst/net/Makefile.am: gst: make compiler warn about unstable API if GST_USE_UNSTABLE_API is not defined And define it in our own build. 2011-07-05 00:12:13 +0100 Tim-Philipp Müller * win32/common/libgstreamer.def: win32: update .def files for latest API changes/additions 2011-06-30 17:39:37 +0200 Mark Nauwelaerts * libs/gst/base/gstbasesrc.c: basesrc: do not sneakily mess with current offset when updating length 2011-06-28 22:18:46 +0200 Mark Nauwelaerts * libs/gst/base/gstbasesrc.c: basesrc: unref allocation query when no longer needed 2011-06-28 19:01:57 +0200 Mark Nauwelaerts * plugins/elements/gstinputselector.c: inputselector: avoid iterating over a single NULL pad 2011-06-20 23:28:07 +0100 Tim-Philipp Müller * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * docs/gst/gstreamer.types.in: * docs/random/porting-to-0.11.txt: * gst/Makefile.am: * gst/gst.h: * gst/gstinterface.c: * gst/gstinterface.h: * tests/check/Makefile.am: * tests/check/gst/.gitignore: * tests/check/gst/gstinterface.c: * tests/check/gst/struct_arm.h: * tests/check/gst/struct_hppa.h: * tests/check/gst/struct_i386.h: * tests/check/gst/struct_ppc32.h: * tests/check/gst/struct_ppc64.h: * tests/check/gst/struct_sparc.h: * tests/check/gst/struct_x86_64.h: Remove GstImplementsInterface It was a bit too clever, and didn't really work as an API, confusing people to no end. Better implement specific methods whether an interface is usable/available/ready on the interface itself, or even add GError arguments, rather than try to have per-instance interfaces. 2011-06-25 13:51:52 -0700 Emmanuel Pacaud * gst/gsttask.c: task: Check for PR_SET_NAME before using Fixes: #653172. Signed-off-by: David Schleef 2011-06-23 11:27:52 -0700 David Schleef * common: Automatic update of common submodule From 69b981f to 605cd9a 2011-06-23 18:03:22 +0200 Wim Taymans * gst/gstquery.c: * gst/gstquery.h: query: add method to check for metadata Add a method to check if a certain metadata is supported in the ALLOCATION query. 2011-06-22 18:07:18 +0200 Wim Taymans * docs/design/part-meta.txt: docs: update design docs a little Update the design doc with the current state of the videometadata. 2011-06-22 17:12:34 +0200 Koop Mast * plugins/elements/gsttee.c: tee: use & instead of && for masking bits See #653137 2011-06-22 17:09:52 +0200 Koop Mast * libs/gst/base/gstbasetransform.c: basetransform: remove redundant () See #653137 2011-06-22 17:05:27 +0200 Koop Mast * libs/gst/base/gstbaseparse.c: baseparse: fix seekstop See #653137 2011-06-22 16:58:53 +0200 Koop Mast * gst/gstsegment.c: segment: cast to right type See #653137 2011-06-22 16:38:04 +0200 Wim Taymans * gst/gstelementfactory.c: * gst/gsturi.c: * gst/gsturi.h: * plugins/elements/gstfdsink.c: * plugins/elements/gstfdsrc.c: * plugins/elements/gstfilesink.c: * plugins/elements/gstfilesrc.c: uri: remove some _full variants 2011-06-22 16:16:56 +0200 Wim Taymans * gst/gstmessage.c: * gst/gstmessage.h: * gst/gstutils.c: * libs/gst/base/gstbasesink.c: tags: Remove crazy tag messages Don't mix messages and pads and tags. Make the sink post tag messages when a tag event is received. Since tags are sticky on pads now, they can be retrieved from there when needed. 2011-06-22 12:28:14 +0200 Wim Taymans * gst/gstcaps.c: * gst/gstcaps.h: * gst/gstelementfactory.c: caps: Hide implementation details Make the Array of structures private. This should allow us to implement the array more efficiently or with some preallocated structures when we want to later. Add a new method to clean up a static structure so that we can remove some code that pokes into the private bits of the caps. 2011-06-22 12:26:19 +0200 Wim Taymans * docs/design/part-negotiation.txt: docs: update negotiation design doc 2011-06-22 11:42:46 +0200 Wim Taymans * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstbufferpool.c: * gst/gstmemory.c: * gst/gstmemory.h: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: memory: rename GstMemoryAllocator -> GstAllocator simplify the name of the allocator object. 2011-06-21 17:54:38 +0200 Wim Taymans Merge branch 'master' into 0.11 Conflicts: configure.ac win32/common/config.h win32/common/gstversion.h 2011-06-21 17:47:36 +0200 Wim Taymans * docs/design/part-bufferpool.txt: docs: update bufferpool design doc 2011-06-21 17:47:23 +0200 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: improve debugging 2011-06-21 15:15:44 +0200 Stefan Kost * docs/manual/communication.png: images: strip images of extra text tags 2011-06-21 12:32:46 +0200 Wim Taymans * gst/gstbufferpool.c: bufferpool: return empty metadata array Return a string array with NULL instead of NULL from the default get_metas function. 2011-06-21 12:31:57 +0200 Wim Taymans * gst/gstpad.c: pad: use event function directly We will never go in this code path for CAPS events so directly call the event function. 2011-06-21 10:29:51 +0200 Wim Taymans * gst/gstpad.c: pad: notify caps after we store the new caps notify caps after we store the new caps so that the new caps are actually visible for the app. 2011-06-20 17:32:47 +0200 Wim Taymans * libs/gst/base/gstbasetransform.c: basetransform: activate the bufferpool always activate the bufferpool, even if we get it from the allocation query. 2011-06-20 17:32:11 +0200 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: always activate the pool we get Activate the pool when we get it from the allocation query. 2011-06-20 16:47:40 +0200 Wim Taymans * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstbasetransform.h: basetransform: inprove allocation handling Add vmethod for subclasses to influence the pool and allocator. Log when query fails. Respect negotiated allocator and alignment. 2011-06-20 16:46:05 +0200 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: Improve logging Log when things fail. Fix a query leak. 2011-06-20 16:44:35 +0200 Wim Taymans * gst/gstghostpad.c: ghostpad: improve debug Log a debug line when there is no target pad and when this makes the default implementation fail. Take the internal pads directly when we can. 2011-06-20 15:40:51 +0200 Mark Nauwelaerts * configure.ac: configure.ac: bump required GLib to 2.26 2011-06-20 13:26:06 +0200 Wim Taymans * gst/gstbufferpool.c: * gst/gstbufferpool.h: bufferpool: add function to set metadata api Add a function to retrieve an array of supported metadata apis from the the bufferpool. Add functions to configure and query the configured metadata apis in a bufferpool configuration. 2011-06-19 13:15:19 -0300 Thiago Santos * gst/gstbuffer.c: gstbuffer: Minor fix to docs Adds missing parameter to docs of gst_buffer_copy_region 2011-06-18 17:35:41 +0200 Edward Hervey * gst/gstpad.c: gstpad: Remove unused variable do_event_actions do_event_actions was always used as TRUE 2011-06-18 14:38:53 +0100 Tim-Philipp Müller * configure.ac: Bump gobject-introspection requirement to >= 0.6.8 For --add-init-section 2011-06-16 17:27:21 +0100 Tim-Philipp Müller Bump git version after unplanned 0.10.35 release Merge remote-tracking branch 'origin/0.10.35' 2011-06-14 17:57:21 +0200 Philip Jägenstedt * libs/gst/base/gstbasesink.c: basesink: Fix typo in documentation Fixes #652577. 2011-06-16 10:55:15 +0100 Tim-Philipp Müller * gst/gstutils.h: Revert "utils: remove some macros now in glib" This reverts commit de29ae7b929cedbf6b9838ea53b05efabdce4ce7. Re-adds GFLOAT_TO_LE, GFLOAT_TO_BE, GDOUBLE_TO_LE, and GDOUBLE_TO_BE. Turns out these aren't in GLib yet afer all (since we didn't actually open a bug to get them added..) === release 0.10.35 === 2011-06-15 19:15:24 +0100 Tim-Philipp Müller * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * gstreamer.doap: * win32/common/config.h: * win32/common/gstversion.h: Release 0.10.35 This is an ad-hoc release that is almost identical to 0.10.34: * work around GLib atomic ops API change * some minor win32/mingw fixes * don't use G_CONST_RETURN in public headers 2011-06-15 16:56:30 +0200 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: fix refcounting problem 2011-06-09 17:13:35 +0100 Javier Jardón * gst/gstelement.h: * gst/gstelementfactory.c: * gst/gstelementfactory.h: * gst/gstformat.h: * gst/gstinfo.c: * gst/gstinfo.h: * gst/gstpad.c: * gst/gstpad.h: * gst/gstplugin.c: * gst/gstplugin.h: * gst/gstpluginfeature.c: * gst/gstpluginfeature.h: * gst/gstquery.h: * gst/gststructure.h: * gst/gsttaglist.c: * gst/gsttaglist.h: * gst/gsttagsetter.c: * gst/gsttagsetter.h: * gst/gsttrace.h: * gst/gsturi.c: * gst/gsturi.h: * gst/gstutils.c: * gst/gstutils.h: * gst/gstvalue.h: Use "const" instead G_CONST_RETURN G_CONST_RETURN will be deprecated soon. https://bugzilla.gnome.org/show_bug.cgi?id=652211 2011-06-04 00:30:15 -0700 David Schleef * gst/glib-compat-private.h: * gst/gstatomicqueue.c: * gst/gstelementfactory.c: * gst/gstpoll.c: * gst/gstsystemclock.c: * gst/gstutils.c: * plugins/elements/gstmultiqueue.c: * tests/benchmarks/gstclockstress.c: Work around changes in g_atomic API See #651514 for details. It's apparently impossible to write code that avoids both type punning warnings with old g_atomic headers and assertions in the new. Thus, macros and a version check. 2011-05-25 13:40:30 +0400 Руслан Ижбулатов * gst/gstsystemclock.c: systemclock: Placate gcc by defining EWOULDBLOCK to something 2011-05-25 12:47:51 +0400 Руслан Ижбулатов * gst/gstpoll.c: poll: Fix WAKE_EVENT() to behave posixly on Windows 2011-06-14 15:18:26 +0200 Wim Taymans * docs/design/part-TODO.txt: * docs/random/status-0.11-14-jun-2011.txt: docs: update docs 2011-06-13 19:10:00 +0200 Wim Taymans Merge branch 'master' into 0.11 2011-06-13 16:31:53 +0200 Wim Taymans * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstbufferpool.c: * libs/gst/base/gstadapter.c: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbytewriter.c: * plugins/elements/gstfakesrc.c: * tests/check/gst/gstbuffer.c: * tests/check/libs/bitreader.c: * tests/check/libs/bytereader.c: * tests/check/libs/typefindhelper.c: buffer: add index to _take_memory() Add an index to gst_buffer_take_memory() so that we can also insert memory at a certain offset. This is mostly interesting to prepend a header memory block to the buffer. 2011-06-13 16:30:22 +0200 Wim Taymans * gst/gstpad.c: pad: don't forward scheduling query The scheduling query should not be forwarded, because elements need to implement special code to handle different scheduling methods. 2011-06-13 12:07:03 +0200 Wim Taymans * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstpushsrc.c: * libs/gst/base/gstpushsrc.h: basesrc: Allocator buffers from negotiated allocator Allocate buffers from the negotiated allocator or bufferpool. Handle the state of the bufferpool when flushing. Add fill method to pushsrc. 2011-06-13 12:04:28 +0200 Wim Taymans * gst/gstbuffer.c: buffer: add more debug 2011-06-13 11:51:08 +0200 Wim Taymans * gst/gstbufferpool.h: bufferpool: small indentation fix 2011-06-13 11:50:42 +0200 Wim Taymans * gst/gstbuffer.c: * gst/gstbuffer.h: buffer: pass the allocator as const 2011-06-13 10:19:30 +0200 Wim Taymans * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasesrc.h: basesrc: negotiate allocation Add vmethod to configure allocation methods. Remove some unused variables 2011-06-11 20:45:42 +0200 Wim Taymans * gst/gstquery.c: query: add some more checks Make sure that the alignment is valid. When we have a 0 size (variable buffer size), we can't have a bufferpool. 2011-06-11 19:54:47 +0200 Wim Taymans * gst/gstquery.c: query: set all default values Fill all query values with good defaults. 2011-06-11 18:52:42 +0200 Wim Taymans * gst/gstbufferpool.c: * gst/gstbufferpool.h: * libs/gst/base/gstbasetransform.c: bufferpool: remove postfix parameter Remove the postfix parameter, it's not used and can be done differently. 2011-06-10 17:50:27 +0200 Wim Taymans * gst/gstbufferpool.c: bufferpool: use same alignment values as GstMemory Use the same alignment values for the bufferpool as we use for the GstMemory API. 2011-06-10 17:32:48 +0200 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: use new _check_reconfigure() method 2011-06-10 17:32:20 +0200 Wim Taymans * gst/gstpad.c: * gst/gstpad.h: pad: add _check_reconfigure() method Add a method to check and clear the RECONFIGURE flag on a pad. 2011-06-10 16:47:29 +0200 Wim Taymans * gst/gstbuffer.c: buffer: add support for buffer in memory Fix the code to support allocating the buffer and memory in one memory block. Add an extra variable to store the memory of the buffer. This code is disabled still because of complications. 2011-06-10 16:46:12 +0200 Wim Taymans * gst/gstmemory.c: * gst/gstmemory.h: memory: expose default alignment Export the gst_memory_alignment variable so that others can know the default configured alignment of the system. 2011-06-10 16:19:46 +0200 Wim Taymans * gst/gstmemory.c: memory: fix is_span Subtract the offset of the parent from is_span. 2011-06-10 13:59:31 +0200 Wim Taymans * configure.ac: * gst/gstbuffer.c: * gst/gstmemory.c: memory: respect configured alignment Move the alignment from GstBuffer to GstMemory. make sure memory is at least aligned to the configured values. 2011-06-10 13:40:57 +0200 Wim Taymans * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstcompat.h: * gst/gstvalue.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: * libs/gst/dataprotocol/dataprotocol.c: * plugins/elements/gstfakesrc.c: * plugins/elements/gstfdsrc.c: * plugins/elements/gstqueue2.c: buffer: make new _buffer_allocate method Make a new method to allocate a buffer + memory that takes the allocator and the alignment as parameters. Provide a macro for the old method but prefer to use the new method to encourage plugins to negotiate the allocator properly. 2011-06-10 12:44:40 +0100 Tim-Philipp Müller * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstbasesrc.c: * win32/common/libgstbase.def: docs: update for gst_base_src_set_dynamic_size Add to sections file and add Since: marker. Also update win32 .def file. API: gst_base_src_set_dynamic_size() 2011-06-10 13:44:19 +0200 Edward Hervey * docs/design/Makefile.am: design: part-bufferlist.txt was merged into another doc 2011-06-10 13:34:59 +0200 Edward Hervey * docs/gst/gstreamer-sections.txt: * docs/libs/gstreamer-libs-sections.txt: docs: Update sections files for added/removed symbols 2011-06-10 13:10:42 +0200 Edward Hervey * win32/common/libgstbase.def: * win32/common/libgstreamer.def: win32: Update for added/removed symbols 2011-06-10 13:04:23 +0200 Wim Taymans * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasesrc.h: * plugins/elements/gstfilesrc.c: basesrc: add fill vmethod to basesrc Add a new fill virtual method to basesrc. The purpose of this method is to fill a provided buffer with data. Add a default implementation of the create method that allocates a buffer and calls the fill method on it. This would allow the base class to implement bufferpool and allocator negotiation on behalf of the subclasses. Fix the blocksize property. Make filesrc use the new fill method. 2011-06-10 12:09:49 +0200 Wim Taymans Merge branch 'master' into 0.11 Conflicts: gst/gstelementfactory.c gst/gstelementfactory.h gst/gstpad.h gst/gstpluginfeature.c gst/gstpluginfeature.h 2011-06-10 11:55:08 +0200 Wim Taymans * gst/gstevent.c: * gst/gstevent.h: * gst/gstquark.c: * gst/gstquark.h: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * tests/check/elements/fakesink.c: * tests/check/gst/gstevent.c: * tests/check/gst/gstpad.c: event: add reset_time boolean to flush_stop event Add a boolean to the flush_stop event to make it possible to implement flushes that don't reset_time. Make basesink post async_done with the reset_time property from the flush stop event. Fix some unit tests 2011-06-09 17:13:35 +0100 Javier Jardón * gst/gstelement.h: * gst/gstelementfactory.c: * gst/gstelementfactory.h: * gst/gstformat.h: * gst/gstinfo.c: * gst/gstinfo.h: * gst/gstpad.c: * gst/gstpad.h: * gst/gstplugin.c: * gst/gstplugin.h: * gst/gstpluginfeature.c: * gst/gstpluginfeature.h: * gst/gstquery.h: * gst/gststructure.h: * gst/gsttaglist.c: * gst/gsttaglist.h: * gst/gsttagsetter.c: * gst/gsttagsetter.h: * gst/gsttrace.h: * gst/gsturi.c: * gst/gsturi.h: * gst/gstutils.c: * gst/gstutils.h: * gst/gstvalue.h: Use "const" instead G_CONST_RETURN G_CONST_RETURN will be deprecated soon. https://bugzilla.gnome.org/show_bug.cgi?id=652211 2011-06-09 13:37:28 +0200 Wim Taymans * gst/gstpad.c: pad: use new event methods to replace events Using the new event methods, we can atomically transfer the event from the pending list to the active list. 2011-06-09 13:36:52 +0200 Wim Taymans * gst/gstevent.h: event: make macros for new miniobject methods 2011-06-09 13:35:08 +0200 Wim Taymans * gst/gstminiobject.c: * gst/gstminiobject.h: miniobject: add new methods to manage miniobject pointers Add a new method to steal the miniobject stored at a location. Add a new method to store a miniobject in a location and taking ownership of the miniobject. 2011-06-09 13:34:19 +0200 Wim Taymans * gst/gstpad.h: pad: fix header 2011-06-09 12:31:47 +0200 Wim Taymans * gst/gstpad.h: pad: fix spurious include 2011-06-09 12:01:02 +0200 Wim Taymans Merge branch 'master' into 0.11 Conflicts: libs/gst/base/gstbasesrc.c 2011-06-09 11:39:08 +0200 Wim Taymans * gst/gstpad.c: * gst/gstpad.h: * plugins/elements/gstoutputselector.c: * plugins/elements/gsttee.c: pad: forward events by default Always forward all events in the default handler. Previously it used to not forward caps events by default. It makes more sense to forward the caps events, if the element is interested in the caps, it will implement an event handler to retrieve the caps and then it can decide to forward or not. If the element has no event handler, it probably just doesn't care about caps and it probably is also not going to modify the data in a way that needs a caps change. 2011-06-09 11:13:55 +0200 Wim Taymans * gst/gstbuffer.c: buffer: fix typo in docs 2011-06-08 18:22:36 +0200 Mark Nauwelaerts * plugins/elements/gstfdsrc.c: * plugins/elements/gstfilesrc.c: filesrc/fdsrc: indicate dynamic size handling to basesrc 2011-06-08 18:22:03 +0200 Mark Nauwelaerts * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasesrc.h: basesrc: add dynamic size handling This allows subclass to indicate that size reported by src may not be static and should as such be updated regularly, rather than only when really needed. Particular examples are filesrc or fdsrc reading from a file that is still growing (e.g. being downloaded). Fixes #652037. 2011-06-08 20:14:16 +0200 Mark Nauwelaerts * libs/gst/base/gstbasesrc.c: Revert "basesrc: Send an update NEWSEGMENT event downstream if the duration changes" This reverts commit 934faf163caf10ed3d54d81fd7b793069913dffd. Original commit leads to possibly sending newsegment event downstream in pull mode. In push mode, quite some downstream elements are likely to only expect newsegment event following a seek they performed and as such may have their state messed up. 2011-06-08 18:35:16 +0200 Wim Taymans * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesink.h: basesink: inline the clip segment 2011-06-08 17:25:43 +0200 Wim Taymans * gst/gstbin.c: * gst/gstmessage.c: * gst/gstmessage.h: * gst/gstpipeline.c: * gst/gstquark.c: * gst/gstquark.h: message: rename variable Rename the new_base_time variable to reset_time, which looks better. 2011-06-08 16:41:05 +0200 Wim Taymans * gst/gstsegment.h: segment: separate the seek and segment flags Separate the seek flags and segment flags as separate enums because we might want to have different flags for both. 2011-06-08 13:40:32 +0200 Wim Taymans * gst/gstbin.c: * gst/gstelement.c: * gst/gstelement.h: * gst/gstmessage.c: * gst/gstmessage.h: * gst/gstpipeline.c: * gst/gstquark.c: * gst/gstquark.h: * libs/gst/base/gstbasesink.c: message: move the new_base_time flag to async_done Move the flag to indicate that a new_base_time should be distributed to the pipeline, from the async_start to the async_done message. This would allow us to decide when to reset the pipeline time based on other reasons than the FLUSH_START event. The main goal eventually is to make the FLUSH events not reset time at all but reset the time based on the first buffer or segment that prerolls the pipeline again. 2011-06-08 13:39:19 +0200 Edward Hervey * docs/gst/gstreamer-sections.txt: docs: Update gstreamer-sections for new/removed API 2011-06-08 13:30:49 +0200 Edward Hervey * gst/gstbuffer.h: gstbuffer: Remove deprecated GST_BUFFER_* macros data, size, mallocdata and free_func no longer exist. 2011-06-08 13:06:17 +0200 Edward Hervey * win32/common/libgstreamer.def: win32: Update for added/removed symbols 2011-06-08 12:58:29 +0200 Wim Taymans * gst/gstpad.c: * gst/gstpad.h: pad: remove setcaps function Remove the setcaps function, elements should use the caps event to be informed of the format. 2011-06-08 12:04:49 +0200 Wim Taymans * docs/design/part-memory.txt: * gst/gstmemory.c: * tests/check/gst/gstmeta.c: memory: Require implementation to implement _share Require the memory implementations to implement a share operation. This allows us to remove the fallback share implementation which uses a different allocator implementation and complicates things too much. Update design doc a bit. 2011-06-08 11:03:50 +0200 Wim Taymans * gst/gstmemory.c: * gst/gstmemory.h: * gst/gstquery.c: memory: cleanups and improve docs Make the fallback copy use the same memory allocator as the original object. Improve some docs. Require an alloc function when registering an allocator. Remove gst_memory_allocator_get_default() and merge the feature in gst_memory_allocator_find() Fix locks on the hashtable. Remove defined but not-implemented gst_memory_span() method. 2011-06-07 18:18:27 +0200 Wim Taymans * docs/design/part-memory.txt: docs: add beginnings of memory design doc 2011-06-07 17:54:33 +0200 Wim Taymans * gst/gstmemory.c: * gst/gstmemory.h: memory: pass user_data to the alloc function Pass the user data that was passed to _register to the alloc function of an allocator. 2011-06-07 17:34:17 +0200 Wim Taymans * gst/gstmemory.h: memory: fix some typos 2011-06-07 17:03:09 +0200 Wim Taymans * plugins/elements/gstfilesrc.c: * plugins/elements/gstfilesrc.h: filesrc: remove MMAP code Remove the mmap code, it was disabled and probably needs a complete rewrite anyway if this is to be ported to 0.11. 2011-06-07 16:35:07 +0200 Wim Taymans * gst/gstquark.c: * gst/gstquark.h: * gst/gstquery.c: * gst/gstquery.h: query: add methods to query allocators Add API to add and query allocator implementations to/from the ALLOCATION query. 2011-06-07 16:14:50 +0200 Wim Taymans * gst/gstbuffer.c: * gst/gstbufferpool.c: * gst/gstmemory.c: * gst/gstmemory.h: memory: use allocators to allocate memory Rename the GstMemoryImpl to GstMemoryAllocator because that's really what it is. Add an alloc vmethod to the allocator members. Improve registration of allocators. Add methods to get and set the default allocator Always use an allocator to allocate memory, use the default allocator when NULL is passed. Add user_data to the allocator Info so that we can pass extra info to the allocator new method. 2011-06-07 13:03:29 +0100 Tim-Philipp Müller * docs/design/part-meta.txt: * docs/design/part-negotiation.txt: docs: minor fix and clarification 2011-06-07 13:38:35 +0200 Wim Taymans * gst/gstevent.h: event: move some more defines on top 2011-06-07 13:25:26 +0200 Wim Taymans * gst/gstelement.h: * gst/gstelementfactory.h: * gst/gstevent.h: * gst/gstmessage.h: * gst/gstpad.h: * gst/gstpadtemplate.h: * gst/gstutils.c: * gst/gstutils.h: fix some circular includes typedef some structs before including other files to avoid circular dependencies in the header files. 2011-06-07 11:01:36 +0200 Edward Hervey * win32/common/libgstreamer.def: win32: Update for added/removed symbols 2011-06-06 12:23:04 +0200 Edward Hervey * tests/check/elements/tee.c: check/tee: Pads need to be activated before caps are set Also add debugging to figure out what's going on 2011-06-07 10:52:02 +0200 Wim Taymans * gst/gstutils.c: * gst/gstutils.h: utils: remove proxy_setcaps Remove proxy_setcaps, elements should use the caps event and forward caps themselves. 2011-06-07 10:51:23 +0200 Wim Taymans * plugins/elements/gstoutputselector.c: outputselector: fix refcounting of events _pad_event_forward() takes ownership of the caps. 2011-06-07 10:49:34 +0200 Wim Taymans * gst/gstpad.c: pad: Improve pad event forward code Return TRUE when the pad has no parent or when there are no internally linked pads. 2011-06-07 10:04:52 +0200 Wim Taymans * plugins/elements/gstoutputselector.c: * plugins/elements/gsttee.c: plugins: use the caps event Use the caps event and avoid using the setcaps function. Use some of the new pad forward functions to implement desired behaviour. 2011-06-07 10:02:06 +0200 Wim Taymans * gst/gstpad.c: * gst/gstpad.h: pad: Rename and rework the dispatcher function Rename gst_pad_dispatcher() to gst_pad_forward() and make it more useful by iterating the internal links of a pad and handling resync properly. Add a method gst_pad_event_forward() that unconditionally forwards an event to all internally linked pads. Update some pad code to use the new forward function. 2011-06-07 09:43:20 +0200 Wim Taymans * gst/gstdebugutils.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasetransform.c: * libs/gst/check/gstcheck.c: * plugins/elements/gstcapsfilter.c: * plugins/elements/gsttypefindelement.c: * tools/gst-inspect.c: caps: use the caps event Use the caps event instead of gst_pad_set_caps() and the setcaps function 2011-06-06 16:11:31 +0200 Wim Taymans * docs/design/part-TODO.txt: * docs/design/part-block.txt: * docs/design/part-buffer.txt: * docs/design/part-bufferlist.txt: * docs/design/part-caps.txt: * docs/design/part-element-transform.txt: * docs/design/part-events.txt: * docs/design/part-gstelement.txt: * docs/design/part-gstobject.txt: * docs/design/part-latency.txt: * docs/design/part-messages.txt: * docs/design/part-meta.txt: * docs/design/part-negotiation.txt: * docs/design/part-overview.txt: * docs/design/part-probes.txt: * docs/design/part-seeking.txt: * docs/design/part-segments.txt: * docs/design/part-sparsestreams.txt: * docs/design/part-streams.txt: * docs/design/part-synchronisation.txt: * docs/design/part-trickmodes.txt: docs: go over design docs and fix things Remove bufferlist part, it's merged with part-buffer.txt 2011-06-06 11:21:23 +0200 Edward Hervey * gst/gst.c: gst: Add enum/flags (de)registration in gst_(de)init 2011-06-06 11:20:29 +0200 Edward Hervey * libs/gst/base/gstbasesink.c: basesink: Don't accept segments after EOS And refactor the code slightly to avoid code duplication. This solves a regression introduced by bdbc0693 2011-06-06 10:27:57 +0200 Edward Hervey * tests/check/gst/gstghostpad.c: check/ghostpad: Activate pads before checking for caps forwarding/setting This is now done via in-band events, so the pads need to be active 2011-06-05 18:11:22 +0100 Tim-Philipp Müller * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * docs/libs/gstreamer-libs-sections.txt: * docs/random/porting-to-0.11.txt: * gst/gstbuffer.h: * gst/gstbufferpool.h: * gst/gstelement.h: * gst/gstevent.h: * gst/gstiterator.c: * gst/gstmemory.h: * gst/gstmessage.h: * gst/gstminiobject.h: * gst/gstobject.h: * gst/gstpad.h: * gst/gstquery.h: * libs/gst/base/gstadapter.c: * libs/gst/base/gstbasesink.h: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasesrc.h: * libs/gst/base/gstpushsrc.c: docs: update for API changes Also remove GST_PAD_CHECKGETRANGEFUNC macro 2011-06-05 15:46:54 +0100 Tim-Philipp Müller Merge branch 'master' into 0.11 2011-06-04 15:42:13 +0100 Tim-Philipp Müller * gst/parse/Makefile.am: parse: add prototypes for unused functions to avoid compiler warning The warning is never fatal, because we don't use -Werror for the parser helper library build, but the warnings are annoying anyway. 2011-06-05 14:10:50 +0100 Tim-Philipp Müller * tools/Makefile.am: * tools/gst-run.c: tools: remove unversioned gst-launch, gst-inspect and gst-typefind The unversioned tool wrappers are confusing and annoying for packagers, users and developers alike. A gst-launch pipeline that works in 0.10 will likely not work in 0.11 (e.g. because elements or properties get renamed, or syntax changes). The unversioned tools also yield useless results when used with gdb or valgrind. Packagers need to co-ordinate the packaging of all major versions to make sure there are no conflicts when both try to install the same files. When two major versions are in use (e.g. 0.10 and 0.11/1.0), it may be unclear (when looking at things on IRC/pastebin/mailing list etc.) which version is actually being used when there are unversioned wrappers. For all these reasons, it seems best to just remove them for now. 2011-06-04 16:04:35 +0100 Tim-Philipp Müller * win32/common/config.h: * win32/common/gstenumtypes.c: * win32/common/gstenumtypes.h: * win32/common/gstmarshal.c: * win32/common/gstmarshal.h: * win32/common/gstversion.h: * win32/common/libgstreamer.def: win32: update exports and other things 2011-06-04 15:44:39 +0100 Tim-Philipp Müller * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: po: update for new translatable string and removed strings 2011-06-04 15:23:56 +0100 Tim-Philipp Müller * gst/gst_private.h: * gst/gstinfo.c: info: remove GST_XML debug category as well 2011-06-04 15:22:06 +0100 Tim-Philipp Müller * Android.mk: * Makefile.am: * configure.ac: * docs/design/part-TODO.txt: * docs/gst/gstreamer-sections.txt: * gst/Makefile.am: * gst/gstconfig.h.in: * gst/parse/Makefile.am: * gstreamer.spec.in: * pkgconfig/gstreamer-uninstalled.pc.in: * pkgconfig/gstreamer.pc.in: * plugins/indexers/Makefile.am: * plugins/indexers/gstindexers.c: * plugins/indexers/gstindexers.h: * tests/check/Makefile.am: * tests/check/gst/.gitignore: * tests/check/gst/gstxml.c: * tests/check/gst/struct_arm.h: * tests/check/gst/struct_hppa.h: * tests/check/gst/struct_i386.h: * tests/check/gst/struct_ppc32.h: * tests/check/gst/struct_ppc64.h: * tests/check/gst/struct_sparc.h: * tests/check/gst/struct_x86_64.h: * tests/examples/manual/Makefile.am: * tools/.gitignore: * tools/Makefile.am: * tools/gst-launch.1.in: * tools/gst-xmllaunch.1.in: Remove everything libxml2- and loadsave-related 2011-06-04 14:41:16 +0100 Tim-Philipp Müller * tools/gst-launch.1.in: * tools/gst-launch.c: tools: remove SIGUSR* handling from gst-launch Remove SIGUSR* handling from gst-launch, since it might interfere with other things (e.g. libleaks), and should be done differently anyway (either via support for simple timed-commands scripting or remote control via DBus or so). 2011-06-04 14:28:08 +0100 Tim-Philipp Müller * gstreamer.spec.in: * tools/.gitignore: * tools/BUGS: * tools/Makefile.am: * tools/README: * tools/gst-xmlinspect.1.in: * tools/gst-xmlinspect.c: * tools/xml2text.xsl: tools: remove gst-xmlinspect People should just query the registry themselves or write a small python script if they need this functionality (which is likely less work than parsing the XML that this script outputs, and I'm not aware of anything using the xml2text xsl either). 2011-06-04 14:22:05 +0100 Tim-Philipp Müller * docs/faq/using.xml: * gstreamer.spec.in: * tools/.gitignore: * tools/Makefile.am: * tools/gst-feedback-m.m: * tools/gst-feedback.1.in: tools: remove gst-feedback It's not really that useful, and no one's been using it for years. 2011-06-04 14:13:07 +0100 Tim-Philipp Müller * tests/check/gst/gstpad.c: * tools/gst-inspect.c: * tools/gst-xmlinspect.c: tools, tests: fix some unused-but-set-variable compiler warnings 2011-06-04 14:02:23 +0100 Tim-Philipp Müller * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: po: update for new translatable string 2011-06-04 00:30:15 -0700 David Schleef * gst/glib-compat-private.h: * gst/gstatomicqueue.c: * gst/gstelementfactory.c: * gst/gstpoll.c: * gst/gstsystemclock.c: * gst/gstutils.c: * plugins/elements/gstmultiqueue.c: * tests/benchmarks/gstclockstress.c: Work around changes in g_atomic API See #651514 for details. It's apparently impossible to write code that avoids both type punning warnings with old g_atomic headers and assertions in the new. Thus, macros and a version check. 2011-06-03 18:10:24 +0200 Edward Hervey * gst/gstpad.h: gstpad: Small doc fixup 2011-06-03 15:53:21 +0200 Edward Hervey * win32/common/libgstreamer.def: win32: Update .def for latest APi changes 2011-06-03 17:24:45 +0200 Wim Taymans * gst/gstpad.h: pad: clean up probe flags 2011-06-03 17:24:21 +0200 Wim Taymans * docs/design/part-probes.txt: docs: first version of probes document 2011-06-03 16:46:26 +0200 Wim Taymans * gst/gstpad.c: pad: check flushing in pullrange too 2011-06-03 13:56:04 +0200 Wim Taymans * gst/gstpad.c: pad: cleanups Use defines instead of hardcoded values for masks. 2011-06-03 13:25:54 +0200 Wim Taymans * gst/gststructure.c: * tests/check/gst/gststructure.c: structure: fix some more 0.11 fixmes don't allow spaces in structure names and fix unit tests. 2011-06-03 12:43:32 +0200 Wim Taymans * docs/design/draft-allocation.txt: * docs/design/part-bufferpool.txt: docs: update bufferpool design doc Move the bufferpool design doc from draft to part and merge it with the allocation draft. 2011-06-03 12:40:56 +0200 Wim Taymans * gst/gstbufferpool.c: * gst/gstbufferpool.h: bufferpool: make the default behaviour to wait The most common case is to not specify any flags when doing the allocation. Make the allocation from a pool with a maximum amount of buffers block by default for this reason. 2011-06-03 11:15:30 +0200 Wim Taymans * docs/random/porting-to-0.11.txt: docs: update porting doc 2011-06-02 19:24:26 +0200 Wim Taymans * libs/gst/base/gstbaseparse.c: baseparse: use caps event instead of setcaps 2011-06-02 19:23:47 +0200 Wim Taymans * gst/gstghostpad.c: * gst/gstghostpad.h: ghostpad: remove setcaps functions Remove the setcaps functions, it is now handled with the caps event. 2011-06-02 18:28:54 +0200 Wim Taymans * gst/gstbuffer.c: buffer: pass the right alignment 2011-06-02 18:28:17 +0200 Wim Taymans * gst/gstmemory.c: memmory: small cleanup 2011-06-02 18:13:33 +0200 Wim Taymans * gst/gstmemory.c: memory: fix alignment calculations Fix the alignment calculation. Improve documentation. 2011-06-02 18:13:10 +0200 Wim Taymans * gst/gstbufferpool.c: pool: debug the config 2011-06-02 15:38:43 +0200 Wim Taymans * gst/gstutils.h: utils: remove some macros now in glib We depend on the right glib now 2011-06-02 15:38:29 +0200 Wim Taymans * gst/gststructure.c: structure: fix a FIXME 2011-06-02 15:38:04 +0200 Wim Taymans * gst/gstutils.c: utils: use g_printerr() as stated in the FIXME 2011-06-02 15:37:41 +0200 Wim Taymans * gst/gstelement.c: element: small cleanups 2011-06-02 14:09:46 +0200 Wim Taymans * gst/gstelement.c: * gst/gstelement.h: element: inline the recursice state lock 2011-06-02 13:46:26 +0200 Wim Taymans * gst/gstpad.c: * gst/gstpad.h: pad: inline the recursive stream lock 2011-06-02 13:35:52 +0200 Wim Taymans * gst/gstpad.c: * gst/gstpad.h: pad: remove unused fields and methods and signals 2011-06-02 13:23:53 +0200 Wim Taymans * gst/gstpad.c: pad: use new gst_value_fixate instead Use the new gst_value_fixate() function instead of our own version. 2011-06-02 13:21:55 +0200 Wim Taymans * gst/gstvalue.c: * gst/gstvalue.h: value: add function to fixate a value Add a function to fixate a GValue. This is the same function as is in GstPad. 2011-06-02 13:18:39 +0200 Wim Taymans * gst/gstcaps.c: * gst/gstcaps.h: caps: remove some custom refcounting methods Remove some custom made refcounting methods and use the miniobject ones instead. 2011-06-02 12:40:05 +0200 Wim Taymans * gst/gstpad.c: pad: optimize linking Optimize linking by only releasing the pad locks when there are link functions installed on the pads. Add some G_LIKELY here and there. Move error paths out of the main code flow. 2011-06-02 12:39:34 +0200 Wim Taymans * gst/gstpad.c: * gst/gstpad.h: pad: remove deprecated have-data signal 2011-06-02 11:21:09 +0200 Wim Taymans * gst/gstpad.c: pad: add idle probe for pull method too 2011-06-02 11:01:31 +0200 Wim Taymans * gst/gstpad.c: pad: more cleanups Use miniobject unref when we can Reuse existing data type identifier instead of an extra boolean. 2011-06-01 19:47:10 +0200 Wim Taymans Merge branch 'master' into 0.11 Conflicts: plugins/elements/gstoutputselector.c 2011-06-01 19:27:55 +0200 Wim Taymans * gst/gstpad.c: * gst/gstpad.h: * tests/check/elements/selector.c: * tests/check/generic/sinks.c: * tests/check/gst/gstevent.c: * tests/check/gst/gstghostpad.c: * tests/check/gst/gstpad.c: * tests/check/gst/gstutils.c: * tests/check/libs/basesrc.c: * tests/check/pipelines/queue-error.c: pad: further improve probes and pad blocking Keep track of installed number of probes to shortcut emission. Allow NULL callbacks, this is useful for blocking probes. Improve probe selection based on the mask, an empty mask for the data or the scheduling flags equals that all probes match. Add some more debug info. Don't check the flushing flag in the probe callback handler, this needs to be done before calling the handler. Fix blocking probes. Fix unit tests 2011-05-31 19:16:09 +0200 Wim Taymans * gst/gstpad.c: * gst/gstpad.h: * gst/gstutils.c: * gst/gstutils.h: * libs/gst/check/gstbufferstraw.c: * libs/gst/check/gstconsistencychecker.c: * tests/check/gst/gstevent.c: * tests/check/gst/gstghostpad.c: * tests/check/gst/gstpad.c: * tests/check/gst/gstpipeline.c: pad: implement pad block with probes 2011-05-30 19:03:38 +0200 Wim Taymans * gst/gstutils.c: * gst/gstutils.h: * libs/gst/check/gstbufferstraw.c: * libs/gst/check/gstconsistencychecker.c: * tests/check/elements/selector.c: * tests/check/gst/gstevent.c: * tests/check/gst/gstpad.c: * tests/check/gst/gstpipeline.c: * tests/check/gst/gstutils.c: * tests/check/libs/basesrc.c: * tests/check/pipelines/queue-error.c: utils: remove _full variants of probes Remove the _full variants and add the destroy notify to the regular methods. 2011-06-01 15:29:20 +0200 Edward Hervey * tests/check/gst/struct_arm.h: check/abi: Ignore GstXML* on arm when not present 2011-05-31 18:31:53 +0200 Edward Hervey * libs/gst/base/gstbasetransform.c: basetransform: Use local priv variable instead of trans->priv 2011-05-31 18:30:50 +0200 Edward Hervey * gst/gstsegment.c: gstsegment: Remove dead assignment base is unconditionally written a couple of lines below 2011-05-31 18:30:30 +0200 Edward Hervey * gst/gstbin.c: * gst/gstbufferpool.c: * gst/gstelement.c: * libs/gst/base/gstbasesink.c: gst: Remove obvious dead assignments 2011-05-31 13:43:47 +0200 Edward Hervey * plugins/elements/gstoutputselector.c: outputselector: Remove dead assignment 2011-05-30 18:29:06 +0200 Wim Taymans * gst/gstpad.c: * gst/gstpad.h: * tests/check/generic/sinks.c: * tests/check/gst/gstevent.c: * tests/check/gst/gstghostpad.c: * tests/check/gst/gstpad.c: pad: Rework pad blocking, another attempt Make the PadBlock callback take a GstBlockType parameter to handle the different kind of stages in the pad block. This provides for more backwards compatibility in the pad block API. Separate blocking and unblocking into different methods, only blocking can do a callback, unblock is always immediately. Also removed synchronous blocking, it can always be implemented with a callback. 2011-05-30 13:40:04 +0200 Wim Taymans * gst/gstpad.c: * tests/check/elements/fakesink.c: * tests/check/generic/sinks.c: * tests/check/gst/gstghostpad.c: * tests/check/gst/gstpad.c: Revert "pad: rework pad blocking, first part" This reverts commit 415da89f3c9fe46fc3361236df9a3b76e607e138. Conflicts: gst/gstpad.c 2011-05-30 12:27:31 +0200 Wim Taymans * gst/gstpad.c: pad: improve debugging 2011-05-30 11:33:57 +0200 Sebastian Dröge * gst/gststructure.c: * gst/gstvalue.c: value: Consider "1" and "{1}" as equal in gst_value_compare() Previously this was only done in the is_subset() check but having it only there brings us into definition-hell where "1" and "{1}" are subset of each other but not equal. 2011-05-30 07:44:50 +0200 Sebastian Dröge * tools/gst-launch.c: gst-launch: Don't access the GstMessage structure directly 2011-05-30 07:41:13 +0200 Sebastian Dröge Merge branch 'master' into 0.11 2011-05-30 07:36:58 +0200 Sebastian Dröge * gst/gststructure.c: * tests/check/gst/gstcaps.c: caps: Fix subset check for equivalent lists and scalar values For example "{ 1 }" and "1" are not strictly equal but both are a subset of each other. Also add a unit test for this. 2011-05-29 19:28:34 +0100 Tim-Philipp Müller * docs/faq/general.xml: docs: fix bugzilla URL htpp -> http https://bugzilla.gnome.org/show_bug.cgi?id=651362 2011-05-28 10:24:37 +0300 Stefan Kost * gst/gstelement.h: docs: xrefs more api around GstStateChange and GstStateChangeReturn. 2011-05-28 09:51:45 +0300 Stefan Kost * gst/gstmessage.h: docs: xref the async messages to GstStateChange 2011-05-27 17:20:56 +0200 Wim Taymans * gst/gstpad.c: * tests/check/elements/fakesink.c: * tests/check/generic/sinks.c: * tests/check/gst/gstghostpad.c: * tests/check/gst/gstpad.c: pad: rework pad blocking, first part Make pad block call the callback as soon as the pad is not in use. This makes it possible to make sure that when the callback is called, no activity is happening on the pad and that no activity will ever happen until the pad is unblocked again. This makes pad blocking work when there is no dataflow or after EOS and greatly helps dynamic pipelines. Move the probe handling right where we wait on the pad block. The two are related but not the same and the probe can eventually influence the pad blocking as we'll se later. Fix up some broken unit tests or tests that fail with the new behaviour. 2011-05-27 17:18:00 +0200 Wim Taymans * libs/gst/base/gstbasesrc.c: * tests/check/libs/basesrc.c: basesrc: remove deprecated clean shutdown method 2011-05-27 14:00:56 +0200 Wim Taymans * plugins/elements/gsttee.c: tee: deactivate the pad after removing it When releasing the request pad, first remove it from the element and then deactivate it. If we do it the other way around, a gst_pad_push on the element might return wrong-state before we had a chance to detect the removed pad in the chain function. 2011-05-27 15:14:32 +0100 Tim-Philipp Müller * tools/gst-launch.c: tools: catch and print missing-plugin messages in gst-launch So that users get some feedback if they're using a pipeline like src ! decodebin2 ! sink and are missing an element. 2011-05-27 14:02:03 +0200 Sebastian Dröge * libs/gst/base/gstbasesrc.c: basesrc: Fix for SEGMENT event API changes 2011-05-27 13:58:26 +0200 Sebastian Dröge Merge branch 'master' into 0.11 2011-05-27 13:55:31 +0200 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gstcaps.c: * gst/gstcaps.h: * win32/common/libgstreamer.def: caps: Add gst_caps_is_subset_structure() API: gst_caps_is_subset_structure() This allows to check if a structure is a subset of given caps without allocating a new caps instance for it. 2011-05-27 13:47:11 +0200 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gstcaps.c: * gst/gststructure.c: * gst/gststructure.h: * win32/common/libgstreamer.def: structure: Add gst_structure_is_subset() API: gst_structure_is_subset() 2011-05-27 13:38:51 +0200 Sebastian Dröge * gst/gstcaps.c: * tests/check/gst/gstcaps.c: caps: Optimize gst_caps_is_subset() ..and as a result gst_caps_is_equal() and others. This now only checks if for every subset structure there is a superset structure in the superset caps. Previously we were subtracting one from another, creating completely new caps and then even simplified them. The new implemention now is about 1.27 times faster and doesn't break the -base unit tests are anything anymore. 2011-05-27 13:37:06 +0200 Sebastian Dröge * gst/gstcaps.c: * tests/check/gst/gstcaps.c: caps: Fix subset check in gst_caps_merge() Caps A are a subset of caps B even if caps B doesn't have all fields of caps A. Also add a unit test for this. 2011-05-27 12:56:03 +0200 Sebastian Dröge * gst/gstcaps.c: Revert "caps: Optimize gst_caps_is_subset()" This reverts commit 32248a9b852bcb568a5b642299ecc8e5bf48ea13. This breaks some tests in -base and the failures should be fixed first. 2011-05-27 12:45:59 +0200 Sebastian Dröge * gst/gstcaps.c: caps: Optimize gst_caps_is_subset() ..and as a result gst_caps_is_equal() and others. This now only checks if for every subset structure there is a superset structure in the superset caps. Previously we were subtracting one from another, creating completely new caps and then even simplified them. The new implemention now is about 1.27 times faster. 2011-05-27 11:45:16 +0200 Sebastian Dröge * gst/gstpad.c: pad: Drop sticky events pushed on flushing srcpads instead of activating them immediately 2011-05-26 14:56:12 +0200 Sebastian Dröge * docs/random/porting-to-0.11.txt: * libs/gst/base/gstbasetransform.c: basetransform: Pass the complete caps to transform_caps Instead of passing it structure by structure. This allows better optimized transform_caps functions and allows better transformation decisions. See bug #619844. 2011-05-27 09:05:46 +0200 Sebastian Dröge * libs/gst/base/gstbasesrc.c: basesrc: Send an update NEWSEGMENT event downstream if the duration changes This allows streaming the complete file for files that have grown since streaming started. Fixes bug #647940. 2011-05-26 19:45:14 +0200 Wim Taymans * gst/gstpad.c: pad: refactor _push_event Rework _push_event() a little so that it drops events on blocking pads. Make sure that events are forwarded when we unblock. Add counter on the pad to keep track of busy pads. 2011-05-26 18:21:09 +0200 Wim Taymans * gst/gstpad.c: pad: refactor pre and post chain code 2011-05-26 17:50:15 +0200 Wim Taymans * gst/gstpad.c: pad: keep counter for active pads Keep a counter to mark the amount of threads currently pushing data on the pad. 2011-05-26 17:39:17 +0200 Wim Taymans * gst/gstpad.c: pad: refactor pre push code Refactor the code that is executed as the first step of a push operation where we check the probes and blocking and resolve the peer. 2011-05-26 17:08:03 +0200 Wim Taymans * gst/gst_private.h: * gst/gstpad.c: * gst/gstutils.c: pad: remove pad cache Remove the pad cache as this is going to be reworked for new pad blocking and probes. 2011-05-26 16:48:14 +0200 Wim Taymans * gst/gstpad.c: pad: simplify handling of buffer lists Implement a default buffer-list function in case the element doesn't implement one. Also pass buffer-lists to the have-data signal, this allows us to remove some backward compatibility code. 2011-05-26 16:15:52 +0200 Wim Taymans * gst/gstpad.c: * gst/gstpad.h: * tests/check/generic/sinks.c: * tests/check/gst/gstevent.c: * tests/check/gst/gstghostpad.c: * tests/check/gst/gstpad.c: pad: remove old gst_pad_set_blocked methods 2011-05-26 14:14:13 +0200 Sebastian Dröge * libs/gst/base/gstpushsrc.c: pushsrc: Fix infinite recursion in pushsrc query handler 2011-05-26 13:36:48 +0200 Sebastian Dröge Merge branch 'master' into 0.11 2011-05-25 16:02:10 +0100 Tim-Philipp Müller * gst/gstcaps.c: * gst/gstchildproxy.c: * gst/gststructure.c: * gst/gsttaglist.c: gst: we can now use GLib 2.24 API unconditionally 2011-05-25 15:54:01 +0100 Tim-Philipp Müller * configure.ac: configure: bump GLib requirement to >= 2.24 http://gstreamer.freedesktop.org/wiki/ReleasePlanning/GLibRequirement 2011-05-25 15:38:30 +0100 Tim-Philipp Müller * docs/random/release: docs: update release instructions for gnome change 2011-05-25 13:40:30 +0400 Руслан Ижбулатов * gst/gstsystemclock.c: systemclock: Placate gcc by defining EWOULDBLOCK to something 2011-05-25 12:47:51 +0400 Руслан Ижбулатов * gst/gstpoll.c: poll: Fix WAKE_EVENT() to behave posixly on Windows 2011-05-24 20:28:18 +0300 Stefan Kost * gst/gstregistrybinary.h: registrybinary: small cleanups Remove unneeded braces from string define. Small doc improvement. 2011-05-24 20:27:02 +0300 Stefan Kost * gst/gstpreset.c: preset: use guint for the version number parts Use unsigned integers for extra safety (like we do in plugin version parsing). 2011-05-24 18:39:41 +0200 Wim Taymans * gst/gst_private.h: * gst/gstelement.c: remove some more deprecated methods 2011-05-24 18:29:48 +0200 Wim Taymans * gst/gstpadtemplate.h: padtemplate: remove unused flag 2011-05-24 18:17:24 +0200 Wim Taymans * gst/gstelementfactory.c: * gst/gstindexfactory.c: * gst/gstpluginfeature.c: * gst/gstpluginfeature.h: * gst/gstregistry.c: * gst/gstregistrychunks.c: * libs/gst/base/gsttypefindhelper.c: * tests/check/gst/gstplugin.c: * tools/gst-inspect.c: * tools/gst-xmlinspect.c: feature: use object name Remove the name property from the plugin feature and port code to use the object name instead. 2011-05-24 18:16:36 +0200 Wim Taymans * configure.ac: * gst/gstconfig.h.in: remove old glib check 2011-05-24 17:43:36 +0200 Wim Taymans Merge branch 'master' into 0.11 2011-05-24 17:36:24 +0200 Wim Taymans * gst/gstghostpad.c: * gst/gstghostpad.h: * gst/gstpad.c: * gst/gstpad.h: * gst/gstquery.c: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasesrc.h: * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstpushsrc.c: * plugins/elements/gstqueue2.c: * plugins/elements/gsttee.c: * plugins/elements/gsttypefindelement.c: scheduling: port to new scheduling query 2011-05-24 12:52:09 +0200 Wim Taymans * docs/design/part-scheduling.txt: * gst/gstquark.c: * gst/gstquark.h: * gst/gstquery.c: * gst/gstquery.h: query: add SCHEDULING query Add a new query to replace the checkgetrange function. 2011-05-24 19:43:58 +0530 Debarshi Ray * libs/gst/check/gstcheck.h: check: add fail_unless_equals_int64 https://bugzilla.gnome.org/show_bug.cgi?id=650973 2011-05-24 16:14:57 +0200 Sebastian Dröge * plugins/elements/gstoutputselector.c: outputselector: Forward sticky events to newly created srcpads 2011-05-24 16:13:22 +0200 Sebastian Dröge * plugins/elements/gsttee.c: tee: Forward sticky events to newly created srcpads 2011-05-24 16:08:41 +0200 Sebastian Dröge * gst/gstpad.c: * gst/gstpad.h: pad: Add gst_pad_sticky_events_iterate() function 2011-05-24 13:27:09 +0200 Sebastian Dröge * gst/gstdebugutils.c: debugutils: Fix for GstIterator API changes 2011-05-24 13:28:00 +0200 Sebastian Dröge * gst/gstdebugutils.c: Revert "debugutils: Fix for GstIterator API changes" This reverts commit e1cc3176d6fb8023bbe0c733615b2a8c420a2077. This is not the 0.11 branch... 2011-05-24 13:27:09 +0200 Sebastian Dröge * gst/gstdebugutils.c: debugutils: Fix for GstIterator API changes 2011-05-24 09:48:44 +0200 Wim Taymans Merge branch 'master' into 0.11 Conflicts: gst/gstpad.h 2011-05-24 00:26:40 +0300 Kipp Cannon * gst/gstclock.h: clock: improve the GST_TIME_FORMAT/ARGS docs 2011-05-23 23:40:20 +0300 Stefan Kost * gst/gstpad.h: docs: hide this from the docs 2011-05-23 18:30:19 +0200 Wim Taymans * gst/gstevent.c: event: use GST_SEGMENT_FORMAT for segments 2011-05-23 18:15:00 +0200 Wim Taymans * libs/gst/base/gstbasetransform.c: transform: fixes for bufferpool handling Don't error out when the allocation query returns success. Do bufferpool query after we pushed the caps event downstream so that we can get a good bufferpool suggestion. Also proxy the bufferpool query downstream when we operate in in_place mode. 2011-05-23 18:14:27 +0200 Wim Taymans * gst/gstpad.c: pad: improve debugging 2011-05-23 16:53:01 +0200 Wim Taymans * libs/gst/base/gstbasetransform.c: transform: reset reconfigure state When we negotiate new caps, reset the reconfigure state. 2011-05-20 18:56:37 +0200 Wim Taymans * libs/gst/base/gstbasetransform.c: basetransform: WIP handle bufferpool 2011-05-21 19:06:08 +0200 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: avoid calling _set_caps() on the srcpad Avoid installing a setcaps function on the srcpad and calling the setcaps function, we can do more efficiently with sending the event ourself and calling our vmethod. 2011-05-20 16:03:10 +0200 Wim Taymans Merge branch 'master' into 0.11 Conflicts: gst/gstpad.h gst/gstplugin.h 2011-05-20 15:58:10 +0200 Wim Taymans * libs/gst/base/gstbasetransform.c: basetransform: remove some more code Remove some more unused code from basetransform. Prepare for implementing bufferpools. 2011-05-20 15:50:05 +0300 Stefan Kost * win32/common/libgstbase.def: win32: add new api 2011-05-20 15:48:09 +0300 Stefan Kost * gst/gstpad.h: * gst/gstplugin.h: deprecation-guards: fixup for commit 9ff4ec3104d2510b8f379ff38c671682ff795e33 Remove the deprecation guards for GST_PLUGIN_DEFINE_STATIC again (even though it is deprecated) as we use it in the tests. Remove "_" for intlinkfunc. 2011-05-20 13:06:57 +0200 Sebastian Dröge Merge branch 'master' into 0.11 2011-05-20 13:03:51 +0200 Sebastian Dröge * libs/gst/base/gstbasesink.c: basesink: Only reinit the cached GstClockID if it is for the same clock The clock might have changed since the clock ID was created and in that case we have to request a new one. 2011-05-20 12:43:24 +0200 Wim Taymans * gst/gstelement.c: * gst/gstelement.h: element: add method to get metadata Add a method to get the metadata from a klass. 2011-05-20 12:43:02 +0200 Wim Taymans * gst/gstelementfactory.h: factory: fix typo 2011-05-20 12:18:48 +0200 Sebastian Dröge * plugins/elements/gstinputselector.c: inputselector: Always send a SEGMENT event when the active pad changes 2011-05-20 12:16:59 +0200 Sebastian Dröge * plugins/elements/gstinputselector.c: inputselector: Fix copy&paste mistake in the srcpad event function 2011-05-20 12:07:45 +0200 Wim Taymans Merge branch 'master' into 0.11 Conflicts: docs/plugins/gstreamer-plugins.hierarchy 2011-05-20 12:00:11 +0200 Sebastian Dröge * plugins/elements/gstinputselector.c: inputselector: Send upstream events to all sinkpads, not only the selected one This makes sure that SEEK events are sent to all upstream elements, which is required if different streams are completely distinct pipeline parts. Also this allows QoS to be done on deselected streams, flushes to be handled correctly, etc. 2011-05-20 11:36:25 +0200 Wim Taymans * gst/gstpad.c: * gst/gstpad.h: * tests/check/gst/gstpad.c: pad: add pending event for sticky events Change the sticky event array so that it contains a pending and an active event. Events on the sinkpad are copied to the pending array and after the eventfunc returned TRUE, moved to the active event. This allows us to queue new events like when we do per-pad offsets without removing the currently active event. Remove the active argument from the gst_pad_get_sticky_event() method, the pending events are not something we want to expose. 2011-05-20 00:39:10 +0300 Stefan Kost * gst/gstpreset.c: * gst/gstpreset.h: preset: include cleanup Only have include in the installed header we need to use it. Move the includes needed by the implementation to the c file. 2011-05-19 23:19:30 +0300 Stefan Kost * docs/plugins/gstreamer-plugins.args: * docs/plugins/gstreamer-plugins.hierarchy: * docs/plugins/gstreamer-plugins.interfaces: docs: update plugin introspection data Now more files are merged and produced in a canonical fashion, which hopefully creates less or no delta in the future. 2011-05-19 22:56:28 +0300 Stefan Kost * common: Automatic update of common submodule From 9e5bbd5 to 69b981f 2011-05-19 19:07:29 +0200 Wim Taymans * tests/check/gst/gstpad.c: tests: caps are not stored on flushing pads Caps are now also stored on flushing pads in the inactive state. 2011-05-19 19:01:09 +0200 Wim Taymans * gst/gstpad.c: pad: apply pad offset on sinkpad events too Apply the pad offset in the send_event() function as well. 2011-05-19 18:27:55 +0200 Wim Taymans * gst/gstpad.c: pad: add per-pad offsets When linking pads and when copying a segment event from the sourc pad to the sinkpad, apply the src and sinkpad offsets to the segment base. Make sure that we only modify the event stored on the sinkpad and never the one on the source pad. When changing the pad offset, perform the segment copy with the updated offsets. When pushing a segment event, apply the srcpad offset before sending the event to the peer pad. This part is missing the adjustment of the segment event on the sinkpad, which is for a later patch. 2011-05-19 16:26:06 +0200 Wim Taymans * gst/gstpad.c: * gst/gstpad.h: pad: add methods to adjust the offset Add methods to adjust the offset. This will be used to change the segment events with an offset so that we can tweak the timing of the stream on a per-pad base. 2011-05-19 12:11:43 +0200 Sebastian Dröge * plugins/elements/gstinputselector.c: * plugins/elements/gstinputselector.h: inputselector: Port to the new segment API The switch action signal with the stop and start running times is not necessary anymore. Closing of segments is not necessary and adjusting the start running time of a segment can later be done with new GstPad API. 2011-05-19 11:30:06 +0200 Wim Taymans Merge branch 'master' into 0.11 Conflicts: gst/gstghostpad.h 2011-05-18 19:43:44 +0200 Wim Taymans * gst/gstpad.c: pad: store sticky events on flushing sinkpads too First store the sticky event on the sinkpad in the inactive state, then check for the flushing flag. We want to have the events on sinkpads at all times, ready to be activated when the pad becomes active. 2011-05-18 18:53:35 +0200 Wim Taymans * gst/gstpad.c: pad: move caps check to central location Make a function to call the eventfunc and perform a caps check when we are dispatching a caps event. This makes sure that all code paths correctly check that the caps are acceptable before sending the caps to the eventfunction. 2011-05-18 18:52:22 +0200 Wim Taymans * gst/gstghostpad.c: ghostpad: avoid calling setcaps too many times Don't call setcaps, the caps event will take care of propagating the caps on all pads. 2011-05-18 18:48:03 +0200 Wim Taymans * gst/gstquery.c: query: add allocation query name Add ALLOCATION query name and guard some functions against invalid queries. 2011-05-18 16:56:13 +0200 Sebastian Dröge * gst/gstevent.c: * gst/gstevent.h: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstcollectpads.c: * plugins/elements/gstfdsink.c: * plugins/elements/gstfilesink.c: * plugins/elements/gstfunnel.c: * plugins/elements/gstidentity.c: * plugins/elements/gstinputselector.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstoutputselector.c: * plugins/elements/gstqueue.c: * plugins/elements/gstqueue2.c: * tests/check/gst/gstevent.c: * tests/check/libs/basesrc.c: * win32/common/libgstbase.def: * win32/common/libgstreamer.def: event: Make SEGMENT event parsing API more consistent with the others 2011-05-18 16:47:44 +0200 Wim Taymans * libs/gst/base/gstbasetransform.c: basetransform: relax caps check Also run the caps transform function on ANY caps, like we used to do before. This makes sure that capsfilter has a chance to filter ANY caps as well. 2011-05-18 16:29:10 +0200 Sebastian Dröge * gst/gstpad.c: pad: Don't forget to take the object lock when getting a sticky event 2011-05-18 16:26:31 +0200 Sebastian Dröge * gst/gstpad.c: * gst/gstpad.h: pad: Add function to get sticky events from a pad API: gst_pad_get_sticky_event() 2011-05-18 15:43:20 +0200 Wim Taymans * gst/gstevent.c: * tests/check/gst/gstevent.c: event: fix event copy Fix parent refcount on event copy. Fix unit test. 2011-05-18 15:29:25 +0200 Wim Taymans * gst/gstpad.c: pad: notify caps property change in callsetcaps Notify the caps property change in the backwards compatible function to call the setcaps function. 2011-05-18 16:09:19 +0300 Stefan Kost * common: Automatic update of common submodule From fd35073 to 9e5bbd5 2011-05-18 15:04:48 +0300 Stefan Kost * docs/gst/gstreamer-sections.txt: docs: remove GstProxyPad from private section 2011-05-18 15:02:02 +0300 Stefan Kost * gst/gstghostpad.h: * gst/gstminiobject.c: docs: use the same name for the argument in prototype and docs 2011-05-18 14:59:45 +0300 Stefan Kost * tests/examples/manual/Makefile.am: manual: put generated sources to BUILT_SOURCES and clean them on make clean 2011-05-18 13:19:31 +0200 Wim Taymans Merge branch 'master' into 0.11 2011-05-18 13:14:57 +0200 Wim Taymans Merge branch 'master' into 0.11 Conflicts: gst/gstminiobject.c gst/gstpad.c gst/gstpad.h gst/gstplugin.h libs/gst/base/gstbaseparse.c 2011-05-18 14:10:12 +0300 Stefan Kost * tests/examples/manual/Makefile.am: manual: reinsert missing space to fix previous commit 2011-05-18 13:54:42 +0300 Stefan Kost * tests/examples/manual/Makefile.am: manual: simplify the snipet extraction rules Use $< instead of repeating the name of the dependency. 2011-05-18 10:59:38 +0300 Stefan Kost * tests/examples/manual/Makefile.am: manual: don't extract the xml example anymore, its gone As a followup for commit cda5a353d27326c0272a79c92c11c221a4092da4 don't try extracting an example that has been removed. 2011-05-18 12:23:39 +0300 Stefan Kost * common: Automatic update of common submodule From 46dfcea to fd35073 2011-05-18 11:21:52 +0200 Wim Taymans * docs/design/part-events.txt: docs: update docs some more 2011-05-18 11:08:52 +0200 Wim Taymans * docs/design/part-events.txt: * gst/gstpad.c: * tests/check/gst/gstpad.c: pad: rework sticky events a little Update the design docs with some clear rules for how sticky events are handled. Reimplement the sticky tags, use a small structure to hold the event and its current state (active or inactive). Events on sinkpads only become active when the event function returned success for the event. When linking, only update events that are different. Avoid making a copy of the event array, use the object lock to protect the event array and release it only to call the event function. This will need to check if something changed, later. Disable a test in the unit test, it can't work yet. 2011-05-17 22:17:14 +0200 Mark Nauwelaerts * libs/gst/base/gstbaseparse.c: baseparse: maintain frame state during frame parsing round See #650093. 2011-05-12 11:55:20 +0200 Mark Nauwelaerts * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbaseparse.h: baseparse: provide latency query support 2011-05-17 22:15:38 +0200 Mark Nauwelaerts * libs/gst/base/gstbaseparse.c: baseparse: make minimum frame size handling more efficient and convenient While some formats allow subclass to determine a specific subsequent needed frame size, others may to need to scan for markers and can only request 'additional data' by whatever reasonable available step. In push mode, trying to minimize additional latency leads to step size being the next input buffer. In pull mode, any reasonable step size (such as already used by buffer caching) can be applied. 2011-05-17 22:38:14 +0200 Mark Nauwelaerts * libs/gst/base/gstbaseparse.c: baseparse: set correct buffer size 2011-05-06 10:54:08 +0300 Stefan Kost * tools/gst-inspect.c: inspect: show flags the same way they need to be entered The (de)serialisation uses "+" and not " | ". 2011-04-28 11:34:39 +0300 Stefan Kost * gst/gstpluginfeature.c: * gst/gstpluginfeature.h: * gst/gstregistry.c: * gst/gstregistrychunks.c: pluginfeature: avoid duplicating feature->name The feature name is not supposed to change over time anyway. In order to enforce this parentize features to the registry and make the feature->name pointing to GstObject:name. In 0.11 we could consider of removing the feature->name variable (FIXME comment added). Fixes: #459466 2011-05-02 15:36:14 +0300 Stefan Kost * gst/gst_private.h: * gst/gstpad.c: * gst/gstpad.h: * gst/gstplugin.h: docs: add deprecation guards Move GstPadIntLinkFunction to private header to avoid a dozen #ifdefs. Use a gpointer in public header instead. 2011-05-17 19:03:30 +0200 Wim Taymans * gst/gstpad.c: pad: don't push sticky events on flush Only allow serialized and non-flush events forward the sticky events. 2011-05-17 18:23:22 +0200 Wim Taymans * tests/check/gst/gstghostpad.c: test: reset pad caps properly 2011-05-17 18:23:06 +0200 Wim Taymans * gst/gstpad.c: pad: add more debug 2011-05-17 18:21:38 +0200 Wim Taymans * gst/gstghostpad.c: ghostpad: remove unused code The code to make sure that caps are properly set on both pads, it now happens automatically with the caps event. 2011-05-17 17:53:00 +0200 Wim Taymans * tests/check/gst/gstsegment.c: tests: fix tests Remove the tests that handle incompatible formats, we don't want that anymore. 2011-05-17 17:51:58 +0200 Wim Taymans * gst/gstsegment.c: segment: handle wraparound better Now that we use unsigned values for the segment, handle wraparound when seeking better. 2011-05-17 16:50:53 +0200 Wim Taymans * tests/check/gst/gstpad.c: pad: remove unref, the object is NULL 2011-05-17 14:01:05 +0200 Sebastian Dröge * gst/gstevent.c: * gst/gstevent.h: event: The RECONFIGURE element only exists in 0.11 Implementing it properly in 0.10 seems to be impossible. 2011-05-17 13:13:11 +0200 Sebastian Dröge * tests/check/elements/selector.c: * tests/check/elements/valve.c: * tests/check/gst/gstghostpad.c: * tests/check/gst/gstpad.c: tests: Update for caps/pad template related API changes 2011-05-17 12:25:22 +0200 Sebastian Dröge * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: base: Update for caps/pad template related API changes 2011-05-17 12:04:27 +0200 Sebastian Dröge * gst/gstpad.c: * gst/gstutils.c: gst: Update for caps/pad template related API changes 2011-05-17 12:12:23 +0200 Sebastian Dröge * docs/random/porting-to-0.11.txt: * gst/gstelement.c: element: Consider GstPadTemplate as immutable Don't copy the templates when creating subclasses but only increase their refcount. 2011-05-17 12:10:27 +0200 Sebastian Dröge * docs/random/porting-to-0.11.txt: * gst/gstelement.c: * gst/gstpadtemplate.c: padtemplate: Create pad templates with floating refs And take ownership of the floating ref in gst_element_add_pad_template() 2011-05-17 12:07:03 +0200 Sebastian Dröge * docs/random/porting-to-0.11.txt: * gst/gstpadtemplate.c: padtemplate: Improve reference handling of the template's caps gst_pad_template_new() does not take ownership of the caps anymore. 2011-05-16 13:39:25 +0100 Tim-Philipp Müller * gst/gstminiobject.c: miniobject: delay private data initialisation until actually needed We only use the private instance data for weak references for now, so can delay initialisation until actually needed (microoptimisation) 2011-05-17 11:59:00 +0200 Sebastian Dröge * docs/random/porting-to-0.11.txt: * gst/gstpad.c: * gst/gstpad.h: * gst/gstpadtemplate.c: pad: Let template related functions return new references gst_pad_template_get_caps(), gst_pad_get_pad_template_caps() and gst_pad_get_pad_template() return a new reference of the caps or template now and the return value needs to be unreffed after usage. 2011-05-17 11:45:46 +0200 Sebastian Dröge * gst/gstevent.c: * tests/check/gst/gstevent.c: Revert "event: example of how to optimize events" This reverts commit fa28e2c5e6e5e172be308c0c50f44ed6f39e1a71. The optimization only has minimal impact on the performance and makes everything more complex. 2011-05-17 11:45:42 +0200 Sebastian Dröge * gst/gstevent.c: Revert "event: update the structure when needed" This reverts commit 905100cdbe580d4d182bfd9d5ec9b368a110f464. 2011-05-17 11:22:58 +0200 Sebastian Dröge * gst/gststructure.c: structure: Fix compilation 2011-05-17 11:20:05 +0200 Sebastian Dröge * gst/gstbin.c: * gst/gstelement.c: * gst/gstelement.h: * gst/gstghostpad.c: * gst/gstpad.c: * gst/gstpad.h: * gst/gstutils.c: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasesrc.h: * libs/gst/base/gstbasetransform.c: * plugins/elements/gstfdsink.c: * plugins/elements/gstfdsrc.c: * plugins/elements/gstfilesink.c: * plugins/elements/gstfilesrc.c: * plugins/elements/gstinputselector.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstqueue.c: * plugins/elements/gstqueue2.c: * plugins/elements/gsttypefindelement.c: * tests/check/elements/fdsrc.c: * tests/check/elements/filesrc.c: * tests/check/gst/gstquery.c: Revert "query: allow _make_writable on query handlers" This reverts commit cf4fbc005c5c530c2a509a943a05b91d6c9af3fb. This change did not improve the situation for bindings because queries are usually created, then directly passed to a function and not stored elsewhere, and the writability problem with miniobjects usually happens with buffers or caps instead. 2011-05-17 11:19:16 +0200 Sebastian Dröge * gst/gstbin.c: Revert "bin: Dereference GstQuery** before passing it to GST_QUERY_TYPE_NAME" This reverts commit 437c92b403e0c7da9b9d4509ef4ffbd05710df2b. 2011-05-17 11:19:14 +0200 Sebastian Dröge * gst/gstghostpad.c: * gst/gstghostpad.h: Revert "ghostpad: fix g_return_* with new query" This reverts commit 877c1c28ff957ca92911eadfc785f8661d9e0127. 2011-05-17 09:40:38 +0200 Sebastian Dröge Merge branch 'master' into 0.11 Conflicts: win32/common/libgstreamer.def 2011-05-17 09:35:54 +0200 Sebastian Dröge * gst/gststructure.c: * gst/gststructure.h: structure: Make both parameters to gst_structure_is_equal() const 2011-05-17 09:33:47 +0200 Sebastian Dröge * gst/gststructure.c: structure: Update Since markers to the correct version 2011-05-17 09:33:04 +0200 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gstcaps.c: * gst/gststructure.c: * gst/gststructure.h: * win32/common/libgstreamer.def: structure: Add gst_structure_intersect() API: gst_structure_intersect() 2010-09-10 18:33:34 +0200 Edward Hervey * docs/gst/gstreamer-sections.txt: * gst/gstcaps.c: * gst/gststructure.c: * gst/gststructure.h: * win32/common/libgstreamer.def: gststructure: Add gst_structure_can_intersect API Allows checking if two structures can intersect without having to go through GstCaps API: gst_structure_can_intersect https://bugzilla.gnome.org/show_bug.cgi?id=629300 2010-09-10 18:14:05 +0200 Edward Hervey * docs/gst/gstreamer-sections.txt: * gst/gstcaps.c: * gst/gststructure.c: * gst/gststructure.h: * win32/common/libgstreamer.def: gstructure: New API: gst_structure_is_equal Allows checking equality of GstStructure without having to create intermediary GstCaps. API: gst_structure_is_equal https://bugzilla.gnome.org/show_bug.cgi?id=629300 2011-05-16 19:09:54 +0200 Wim Taymans * tests/check/gst/gstutils.c: tests: set elements in PAUSED Set elements in PAUSED before trying to set caps on pads. 2011-05-16 19:05:23 +0200 Wim Taymans * tests/check/gst/gstghostpad.c: test: fix ghostpad test We need to have activated pads before we can pass around caps. Don't set NULL caps on pads. 2011-05-16 19:04:35 +0200 Wim Taymans * gst/gstpad.c: pad: avoid setting NULL caps on pads 2011-05-16 18:48:20 +0200 Wim Taymans * libs/gst/base/gstbasetransform.c: basetransform: fix buffer refcounting When we fail to allocate an output buffer, set the buffer pointer to NULL or else the calling function will try to unref it. Remove some old comments 2011-05-16 18:29:29 +0200 Wim Taymans * plugins/elements/gstcapsfilter.c: capsfilter: allow NULL filters and fix refcounting 2011-05-16 18:12:33 +0200 Wim Taymans * gst/gstcaps.c: caps: only add the structure when we could set the parent 2011-05-16 17:53:48 +0200 Wim Taymans * gst/gstghostpad.c: ghostpad: fix g_return_* with new query 2011-05-16 17:24:11 +0200 Sebastian Dröge * win32/common/libgstreamer.def: win32: Update list of exported symbols 2011-05-16 16:59:20 +0200 Wim Taymans * plugins/elements/gstinputselector.c: inputselector: handle more formats Use the segment format instead of a hardcoded _TIME. 2011-05-16 16:57:48 +0200 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: handle more formats Don't hardcode GST_FORMAT_TIME in places, we can work with many formats. 2011-05-16 16:54:02 +0200 Sebastian Dröge Merge branch '0.11' of ssh://git.freedesktop.org/git/gstreamer/gstreamer into 0.11 2011-05-16 16:53:04 +0200 Sebastian Dröge Merge branch 'master' into 0.11 Conflicts: configure.ac docs/gst/gstreamer-sections.txt gst/gstbin.c gst/gstelement.c gst/gstelement.h gst/gstghostpad.c gst/gstminiobject.c gst/gstminiobject.h libs/gst/base/gstbasesrc.c libs/gst/base/gstbasetransform.c plugins/elements/gstinputselector.c tests/check/gst/gstminiobject.c 2011-05-16 16:10:49 +0200 Wim Taymans * docs/manual/advanced-autoplugging.xml: * docs/manual/highlevel-components.xml: update manual code examples for new _get_caps() 2011-05-13 08:34:33 +0200 Sebastian Dröge * tests/check/elements/multiqueue.c: * tests/check/elements/selector.c: * tests/check/elements/valve.c: * tests/check/gst/gstghostpad.c: * tests/check/gst/gstutils.c: * tests/check/libs/test_transform.c: * tests/check/libs/transform1.c: tests: Update for negotiation related API changes 2011-05-11 15:38:09 +0200 Sebastian Dröge * plugins/elements/gstcapsfilter.c: * plugins/elements/gstfunnel.c: * plugins/elements/gstinputselector.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstoutputselector.c: * plugins/elements/gstqueue.c: * plugins/elements/gstqueue2.c: * plugins/elements/gstvalve.c: elements: Update for negotiation related API changes The filter caps are only forwarded and returned instead of ANY caps in the core elements because they don't do anything caps specific. 2011-05-11 15:12:04 +0200 Sebastian Dröge * docs/random/porting-to-0.11.txt: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesink.h: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasesrc.h: * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstbasetransform.h: base: Improve negotiation with new getcaps() filter 2011-05-10 17:56:33 +0200 Sebastian Dröge * docs/random/porting-to-0.11.txt: * gst/gstghostpad.c: * gst/gstpad.c: * gst/gstpad.h: * gst/gstutils.c: * gst/gstutils.h: gst: Add a filter caps parameter to all get_caps() functions This is used to pass the possible caps and preferences to the pad and to allow better negotiation decisions. 2011-04-19 20:05:07 +0200 Mark Nauwelaerts * plugins/elements/gstqueue2.c: * plugins/elements/gstqueue2.h: queue2: adjust input data rate estimation ... being aware of possible initial higher burst rate. 2011-05-13 18:07:24 +0200 Wim Taymans * docs/plugins/gstreamer-plugins.args: * gst/gstevent.c: * gst/gstevent.h: * gst/gstinfo.c: * gst/gstquark.c: * gst/gstquark.h: * gst/gstsegment.c: * gst/gstsegment.h: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstbasetransform.h: * libs/gst/base/gstcollectpads.c: * libs/gst/check/gstconsistencychecker.c: * libs/gst/dataprotocol/dataprotocol.c: * plugins/elements/gstfdsink.c: * plugins/elements/gstfdsrc.c: * plugins/elements/gstfilesink.c: * plugins/elements/gstfunnel.c: * plugins/elements/gstidentity.c: * plugins/elements/gstinputselector.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstoutputselector.c: * plugins/elements/gstqueue.c: * plugins/elements/gstqueue2.c: * tests/check/elements/fakesink.c: * tests/check/elements/filesink.c: * tests/check/elements/multiqueue.c: * tests/check/elements/queue.c: * tests/check/generic/sinks.c: * tests/check/gst/gstevent.c: * tests/check/gst/gstinfo.c: * tests/check/gst/gstsegment.c: * tests/check/libs/basesrc.c: Rework GstSegment handling Improve GstSegment, rename some fields. The idea is to have the GstSegment structure represent the timing structure of the buffers as they are generated by the source or demuxer element. gst_segment_set_seek() -> gst_segment_do_seek() Rename the NEWSEGMENT event to SEGMENT. Make parsing of the SEGMENT event into a GstSegment structure. Pass a GstSegment structure when making a new SEGMENT event. This allows us to pass the timing info directly to the next element. No accumulation is needed in the receiving element, all the info is inside the element. Remove gst_segment_set_newsegment(): This function as used to accumulate segments received from upstream, which is now not needed anymore because the segment event contains the complete timing information. 2011-05-16 10:25:10 +0200 Sebastian Dröge * gst/gstpad.c: pad: Re-implement notify::caps 2011-05-14 14:02:06 +0100 Tim-Philipp Müller * docs/plugins/gstreamer-plugins.args: * gst/gstelement.h: * gst/gstghostpad.c: * gst/gstminiobject.c: * gst/gstminiobject.h: * plugins/elements/gstinputselector.c: * plugins/elements/gstmultiqueue.c: docs: fix up some Since markers and update for new multiqueue args 2011-05-12 16:48:41 +0200 Sebastian Dröge * gst/gstbin.c: bin: Don't interprete pipelines without sink elements as always being in EOS state Some tests (e.g. elements/capsfilter) have pipelines with dangling sinkpads and without a sink element. These pipelines can never post an EOS message (because this is only valid by a sink) and as such should never get an EOS message posted by the bin. 2011-05-12 15:51:22 +0200 Sebastian Dröge * gst/gstsystemclock.c: systemclock: Only retry writing to the socket for EAGAIN, EWOULDBLOCK and EINTR Fixes infinite loop in some cases, bug #650002. 2011-05-12 09:59:20 +0200 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * win32/common/libgstreamer.def: miniobject: Add new miniobject weak ref/unref functions to the docs 2011-05-12 09:55:45 +0200 Sebastian Dröge * gst/gstminiobject.c: * gst/gstminiobject.h: miniobject: Minor cleanup of last commit 2011-05-11 13:09:19 -0400 José Alburquerque * gst/gstminiobject.c: * gst/gstminiobject.h: * tests/check/gst/gstminiobject.c: miniobject: Add weak referencing functionality API: gst_mini_object_weak_ref() API: gst_mini_object_weak_unref() Add weak referencing functionality to GstMiniObject, which allows to get notifications when an mini object is destroyed but doesn't increase the real refcount. This is mostly useful for bindings. Fixes bug #609473. 2011-03-19 10:28:49 +0100 Sebastian Dröge * plugins/elements/gstinputselector.c: * plugins/elements/gstinputselector.h: inputselector: Add sync mode that syncs inactive pads to the running time of the active pad Fixes bug #645017. 2011-03-22 13:19:47 +0100 Sebastian Dröge * plugins/elements/gstmultiqueue.c: * plugins/elements/gstmultiqueue.h: multiqueue: Add mode to synchronize deactivated/not-linked streams by the running time Fixes bug #645107, #600648. 2011-04-18 14:26:33 +0200 Sebastian Dröge * gst/gstbin.c: bin: Only post EOS messages after reaching the PLAYING state Fixes bug #647756. 2011-05-10 16:37:44 +0200 Sebastian Dröge * gst/gst_private.h: * gst/gstbin.c: * gst/gstelement.c: * gst/gstelement.h: element: Add GstElement::state_changed vfunc API: GstElement::state_changed This is always called when the state of an element has changed and before the corresponding state-changed message is posted on the bus. 2011-05-06 16:44:29 +0200 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gstghostpad.c: * gst/gstghostpad.h: * win32/common/libgstreamer.def: ghostpad: Add docs for all the new, public functions 2011-05-06 16:15:51 +0200 Sebastian Dröge * gst/gstghostpad.c: ghostpad: Add guards against invalid parameters to the new, public functions 2011-05-06 16:00:22 +0200 Sebastian Dröge * gst/gstghostpad.c: * gst/gstghostpad.h: * win32/common/libgstreamer.def: ghostpad: Rename ghostpad/proxypad default functions API: gst_ghost_pad_activate_pull_default API: gst_ghost_pad_activate_push_default API: gst_ghost_pad_internal_activate_pull_default API: gst_ghost_pad_internal_activate_push_default API: gst_ghost_pad_link_default API: gst_ghost_pad_setcaps_default API: gst_ghost_pad_unlink_default API: gst_proxy_pad_acceptcaps_default API: gst_proxy_pad_bufferalloc_default API: gst_proxy_pad_chain_default API: gst_proxy_pad_chain_list_default API: gst_proxy_pad_checkgetrange_default API: gst_proxy_pad_event_default API: gst_proxy_pad_fixatecaps_default API: gst_proxy_pad_getcaps_default API: gst_proxy_pad_getrange_default API: gst_proxy_pad_iterate_internal_links_default API: gst_proxy_pad_query_default API: gst_proxy_pad_query_type_default API: gst_proxy_pad_setcaps_default 2011-05-06 15:50:20 +0200 Sebastian Dröge * gst/gstghostpad.c: * gst/gstghostpad.h: ghostpad: Make all the internal caps functions public This is useful if ghostpad/proxypads should be used but additional code should be executed, e.g. for tracking segments in the event function. 2011-05-06 15:25:04 +0200 Sebastian Dröge * gst/gstghostpad.c: ghostpad: Only implement the iterate_internal_links function on proxypads ghostpads inherit it from their parent class. Also make it threadsafe. 2011-05-06 15:16:09 +0200 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gstghostpad.c: * gst/gstghostpad.h: * tests/check/gst/gstghostpad.c: * win32/common/libgstreamer.def: ghostpad: API: Expose gst_proxy_pad_get_internal() This allows to get the internal pad of ghostpads and proxypads without using gst_pad_iterate_internal_links() and is much more convenient. The internal pad of a ghostpad is the pad of the opposite direction that is used to link to the ghostpad target. 2011-05-05 17:54:56 +0200 Sebastian Dröge * libs/gst/base/gstbasetransform.c: basetransform: When trying to fixate the sink suggestion prefer its structure order 2011-05-05 11:28:38 +0200 Sebastian Dröge * gst/gstcaps.c: * tests/check/gst/gstcaps.c: caps: Merge structures when intersecting instead of appending them This prevents adding duplicates over and over again to the resulting caps if they already describe the new intersection result. While this changes intersection from O(n*m) to O(n^2*m), it results in smaller caps, which in the end will decrease further processing times. For example in an audioconvert ! audioconvert ! audioconvert pipeline, when forwarding the downstream caps preference in basetransform (see e26da72de25a91c3eaad9f7c8b2f53ba888a0394) this results in 16 instead of 191 caps structures. 2011-05-04 11:29:15 +0200 Sebastian Dröge * libs/gst/base/gstbasetransform.c: basetransform: In getcaps() prefer the caps order and caps of downstream if possible 2011-05-03 17:26:53 +0200 Sebastian Dröge * libs/gst/base/gstbasetransform.c: basetransform: Prefer caps order given by the subclass of the template caps order 2011-04-20 22:52:36 +0200 Miguel Angel Cabrera Moya * gst/parse/types.h: * tests/check/pipelines/parse-launch.c: parse: don't unescape inside quotes Escaped characters inside quoted strings are supposed to be unescaped by deserialization functions, not by parsing functions. https://bugzilla.gnome.org/show_bug.cgi?id=648025 2011-04-18 10:04:24 +0200 Sebastian Dröge * gst/gstpad.c: pad: Remove unnecessary FIXME Resetting the result is not necessary when resyncing because pads that previously got the event will be skipped and we need to consider the results of the previous pushes. 2011-04-18 09:53:55 +0200 Sebastian Dröge * gst/gstelement.c: element: If activating one pad failed error out early instead of trying to activate the next pads If one pad fails to activate the complete activation process will fail anyway and trying to activate the other pads only wastes time. 2011-04-18 09:49:04 +0200 Sebastian Dröge * gst/gstbin.c: bin: If activating one pad failed error out early instead of trying to activate the next pads If one pad fails to activate the complete activation process will fail anyway and trying to activate the other pads only wastes time. 2011-05-14 09:31:33 +0100 Tim-Philipp Müller * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * win32/common/config.h: * win32/common/gstversion.h: Back to development === release 0.10.34 === 2011-05-14 01:00:23 +0100 Tim-Philipp Müller * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * gstreamer.doap: * win32/common/config.h: * win32/common/gstversion.h: Release 0.10.34 2011-05-13 08:38:06 +0200 Sebastian Dröge * tests/check/gst/gstmeta.c: meta: Fix compilation of the unit test after removal of the serialize/deserialize functions 2011-05-04 15:31:56 +0300 Vincent Penquerc'h * libs/gst/base/gstbasesrc.c: basesrc: do not set first buffer timestamp to 0 for live sources Doing so avoids a large timestamp gap between first and second buffer for live sources which take time to start up. The first buffer now has a "live" timestamp based on the running time, as other buffers do. https://bugzilla.gnome.org/show_bug.cgi?id=649369 2011-05-11 19:10:24 +0200 Wim Taymans * gst/gstmeta.c: * gst/gstmeta.h: meta: remove (de)serialize functions Add a GType to the metadata to identify the GstMetaInfo. We can remove the (de)serialize functions for the metadata because we can register GTtype transform functions between various types to implement serialization later. 2011-05-11 18:17:45 +0200 Wim Taymans * gst/gst.c: * gst/gst_private.h: * gst/gstcaps.c: * gst/gstevent.c: * gst/gststructure.c: * gst/gststructure.h: structure: more cleanups gst_structure_get_type() -> _gst_structure_type to avoid method calls for getting the GType that initialized at the start. Hide some structure fields in private data so that we can change the implementation. Move structure equality check from caps.c to structure.c where it belongs. 2011-05-11 18:07:23 +0200 Wim Taymans * libs/gst/base/gstbasetransform.c: basetransform: remove obsolete code Remove some obsolete code. Don't try to reconfigure when we don't have sink caps. 2011-05-11 16:46:49 +0200 Sebastian Dröge * gst/gstbin.c: bin: Dereference GstQuery** before passing it to GST_QUERY_TYPE_NAME 2011-05-11 16:03:40 +0200 Wim Taymans * gst/gstevent.c: event: update the structure when needed When we get the structure of an event, make sure it also contains the fields that we keep in fast variables, this way we can easily serialize and debug the events. We would probably later simply prefer to register a transform function to G_TYPE_STRING and G_TYPE_BYTEARRAY etc.. 2011-05-11 16:01:41 +0200 Wim Taymans * gst/gstcaps.c: caps: cleanups We don't need to check if the type is 0, the init function is only called once in the beginning. 2011-05-11 12:04:43 +0200 Wim Taymans * gst/gstevent.c: * gst/gstevent.h: event: clean up some macros Avoid executing a method for GST_TYPE_EVENT but instead use the type variable directly. We can do this because we register it before anything else. 2011-05-11 15:48:15 +0200 Sebastian Dröge * gst/gstbus.c: bus: Fix GST_DEBUG parameters to be consistent with the format string 2011-05-11 15:26:02 +0200 Sebastian Dröge * libs/gst/base/gstbasetransform.c: basetransform: Implement support for pad reconfiguration again 2011-05-11 15:18:56 +0200 Sebastian Dröge * plugins/elements/gstcapsfilter.c: capsfilter: Fix deadlock, gst_pad_get_current_caps() already takes the pad's object lock 2011-05-11 11:06:36 +0200 Wim Taymans * gst/gstevent.c: * tests/check/gst/gstevent.c: event: example of how to optimize events Use a structure for the QoS event by 'extending' the GstEventImpl structure. This should avoid allocation of GstStructures and its contents. 2011-05-10 11:11:15 +0200 Mark Nauwelaerts * plugins/elements/gstmultiqueue.c: multiqueue: ensure thread safety when adding a pad This seems to be a regression, and was causing crashes. https://bugzilla.gnome.org/show_bug.cgi?id=649878 2011-05-10 18:36:33 +0200 Wim Taymans * gst/gstbin.c: * gst/gstelement.c: * gst/gstelement.h: * gst/gstghostpad.c: * gst/gstpad.c: * gst/gstpad.h: * gst/gstutils.c: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasesrc.h: * libs/gst/base/gstbasetransform.c: * plugins/elements/gstfdsink.c: * plugins/elements/gstfdsrc.c: * plugins/elements/gstfilesink.c: * plugins/elements/gstfilesrc.c: * plugins/elements/gstinputselector.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstqueue.c: * plugins/elements/gstqueue2.c: * plugins/elements/gsttypefindelement.c: * tests/check/elements/fdsrc.c: * tests/check/elements/filesrc.c: * tests/check/gst/gstquery.c: query: allow _make_writable on query handlers Pass a GstQuery ** to the query handlers so that they can make the query writable before using a setter on it. Port code to new API. 2011-05-10 16:46:15 +0200 Wim Taymans * docs/random/porting-to-0.11.txt: porting: update porting doc 2011-05-10 16:41:36 +0200 Wim Taymans * gst/gstelement.c: * gst/gstelement.h: * plugins/elements/gstfunnel.c: * plugins/elements/gstinputselector.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstoutputselector.c: * plugins/elements/gsttee.c: element: use request_new_pad_full as the default Add GstCaps to request_new_pad so that request_new_pad_full can be removed. Fix elements. 2011-05-10 16:23:08 +0200 Wim Taymans * docs/random/porting-to-0.11.txt: porting: update porting doc 2011-05-10 15:41:54 +0200 Wim Taymans * gst/gstquery.c: query: make sure query is writable Make sure the Query is writable before executing the setters. 2011-05-10 15:33:53 +0200 Wim Taymans * gst/gstinfo.c: * gst/gstquery.c: * gst/gstquery.h: * tests/check/gst/gstquery.c: query: Hide GstStructure in queries Hide the GstStructure from the query API. Rename some methods to match the more common names in GObject libraries. Add some more useful query API. 2011-05-10 13:34:10 +0200 Wim Taymans * gst/gstbus.c: * gst/gstinfo.c: * gst/gstmessage.c: * gst/gstmessage.h: * plugins/elements/gstfakesink.c: message: hide the message structure field Make a private structure to hold the GstStructure bits of the message. Add some more useful macros like we have for events. === release 0.10.33 === 2011-05-10 08:55:10 +0100 Tim-Philipp Müller * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * gstreamer.doap: * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: * win32/common/config.h: * win32/common/gstversion.h: Release 0.10.33 Highlights: - new parser base class: GstBaseParse - new core element: funnel - OSX multi-arch fixes - new QoS type for QoS events - new progress message API to notify applications of asynchronous operations - countless other fixes and improvements 2011-05-10 12:29:06 +0200 Wim Taymans * gst/gstcaps.h: caps: fix the macros a little 2011-05-10 11:50:16 +0200 Wim Taymans * gst/gstevent.c: * gst/gstevent.h: * gst/gstinfo.c: * libs/gst/check/gstconsistencychecker.c: * libs/gst/dataprotocol/dataprotocol.c: event: Hide the GstStructure Hide the GstStructure of the event in the implementation specific part so that we can change it. Add methods to check and make the event writable. Add a new method to get a writable GstStructure of the element. Avoid directly accising the event structure. 2011-05-09 18:48:55 +0200 Wim Taymans * gst/gstevent.c: * gst/gstevent.h: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: * tests/check/gst/gstevent.c: event: _qos_full -> _qos 2011-05-09 17:51:07 +0200 Wim Taymans * gst/gstevent.c: * gst/gstevent.h: * gst/gstsegment.c: * gst/gstsegment.h: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstcollectpads.c: * plugins/elements/gstfdsink.c: * plugins/elements/gstfilesink.c: * plugins/elements/gstfunnel.c: * plugins/elements/gstidentity.c: * plugins/elements/gstinputselector.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstoutputselector.c: * plugins/elements/gstqueue.c: * plugins/elements/gstqueue2.c: * tests/check/elements/fakesink.c: * tests/check/elements/filesink.c: * tests/check/elements/multiqueue.c: * tests/check/elements/queue.c: * tests/check/generic/sinks.c: * tests/check/gst/gstevent.c: * tests/check/gst/gstinfo.c: * tests/check/gst/gstsegment.c: * tests/check/libs/basesrc.c: segment: remove _full version Rename the _full versions of the functions to the normal function names. 2011-05-09 16:39:13 +0200 Wim Taymans * gst/gstsegment.c: * gst/gstsegment.h: * libs/gst/base/gstbasesink.c: * plugins/elements/gstinputselector.c: segment: remove abs_rate from segment structure Remove the abs_rate field from the segment structure, we can trivially compute it when needed. 2011-05-09 16:21:28 +0200 Wim Taymans * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstpad.c: * gst/gstpad.h: * tests/check/elements/selector.c: * tests/check/elements/tee.c: * tests/check/gst/gstcaps.c: * tests/check/gst/gstghostpad.c: * tests/check/libs/transform1.c: caps: remove caps from buffers and pads Remove the GstCaps from buffers and pads. We now use CAPS events to negotiate formats between element. 2011-05-09 15:06:20 +0200 Wim Taymans * libs/gst/base/gstbasetransform.c: basetransform: Use CAPs event Use the caps event to configure basetransform. Remove force_alloc hack, we don't need this in 0.11 with new upstream negotiation. Avoid getting some pad caps. 2011-05-09 15:06:07 +0200 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: add some more debug 2011-05-08 11:02:16 +0200 Edward Hervey * win32/common/libgstreamer.def: win32: Add new symbols 2011-05-08 11:01:57 +0200 Edward Hervey * gst/gstbuffer.c: gstbuffer: Fix unitialized variables 2011-05-09 10:54:10 +0200 Wim Taymans * gst/gstutils.c: * tools/gst-inspect.c: * tools/gst-xmlinspect.c: tools: avoid using pad caps Avoid directly accessing the pad caps, use gst_pad_get_current_caps() instead. 2011-05-08 13:14:55 +0200 Wim Taymans Merge branch 'master' into 0.11 2011-05-08 13:07:13 +0200 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: use CAPS event instead of setcaps function 2011-05-08 12:46:17 +0200 Wim Taymans * libs/gst/base/gstbasetransform.c: * libs/gst/base/gsttypefindhelper.c: * libs/gst/check/gstcheck.c: * plugins/elements/gstcapsfilter.c: * plugins/elements/gsttypefindelement.c: * tests/check/gst/gstbuffer.c: * tests/check/gst/gstpad.c: * tools/gst-launch.c: base: avoid using buffer caps Comment all code using buffer caps. Rework capsfilter code a little. Fix some unit tests 2011-05-08 12:43:26 +0200 Wim Taymans * gst/gstpad.c: pad: improve caps event handling Fix replace of caps events when linking: we need to unref the old ones. Make sure we pass error values around. Move backward compat code into the default handler for now. 2011-05-08 12:38:05 +0200 Wim Taymans * gst/gstevent.c: event: don't ref the caps Use a different way of getting the caps from the caps event so that no refcounting happens. 2011-05-08 12:37:44 +0200 Wim Taymans * gst/gstbuffer.c: buffer: avoid using buffer caps 2011-05-06 23:40:58 +0100 Tim-Philipp Müller * libs/gst/base/gstbaseparse.c: baseparse: don't post loads of empty taglists Only post bitrate updates if there's something to post, don't post empty taglists if nothing changed. 2011-05-06 19:04:54 +0200 Wim Taymans * gst/gstghostpad.c: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: * plugins/elements/gstcapsfilter.c: * plugins/elements/gstfunnel.c: * plugins/elements/gstinputselector.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstqueue.c: * plugins/elements/gstqueue2.c: pad: avoid using the old GST_PAD_CAPS Don't use GST_PAD_CAPS but instead use the new gst_pad_get_current_caps() method. Avoid setting caps on buffers. 2011-05-06 19:03:33 +0200 Wim Taymans * gst/gstpad.c: * gst/gstpad.h: pad: add 2 new caps methods Add method to get the currently configured caps on the pad. Add a method to check if caps are configured on a pad. 2011-05-06 17:59:33 +0200 Wim Taymans * gst/gstpad.c: * gst/gstpad.h: * gst/gstutils.c: * gst/gstutils.h: pad: implement fixed caps with an object flag Implement fixed caps with an object flag instead of a custom getcaps function. 2011-05-06 17:30:24 +0200 Wim Taymans * gst/gstpad.c: pad: don't use buffer caps for negotiation Don't use the buffer caps for negotiation anymore but use the CAPS events. Make the _set_caps method produce the CAPS event, add some backward compatibility code to trigger the setcaps functions on src and sinkpads. Remove all negotiation code from the chain functions. Don't use the GST_PAD_CAPS variable anymore to store the caps but retrieve the caps from the sticky event array. 2011-05-06 16:14:41 +0200 Wim Taymans * tests/check/elements/selector.c: selector: don't unset caps 2011-05-06 16:14:23 +0200 Wim Taymans * plugins/elements/gsttypefindelement.c: typefind: don't unset caps 2011-05-06 16:13:55 +0200 Wim Taymans * libs/gst/check/gstcheck.c: check: let the normal code unset caps 2011-05-06 16:11:44 +0200 Wim Taymans * plugins/elements/gstoutputselector.c: outputselector: handle NULL pads in some cases 2011-05-06 16:11:18 +0200 Wim Taymans * gst/gstbin.c: bin: let the pad clean up in activate 2011-05-06 15:55:31 +0200 Wim Taymans * gst/gstelement.c: element: don't mess with pad caps in activate When deactivating a pad, let the pad decide what fields to clear. 2011-05-06 15:51:11 +0200 Wim Taymans * gst/gstevent.c: event: only allow fixed caps in caps event 2011-05-06 13:01:24 +0200 Sebastian Dröge * gst/gstevent.c: event: Improve documentation of gst_event_new_reconfigure() 2011-05-06 12:23:01 +0200 Wim Taymans * docs/random/porting-to-0.11.txt: porting: update porting doc 2011-05-06 12:19:16 +0200 Wim Taymans * gst/gstelement.c: * gst/gstelement.h: * libs/gst/base/gstbasesink.c: * win32/common/libgstreamer.def: element: rename gst_element_lost_state_full() Rename gst_element_lost_state_full() to gst_element_lost_state() and remove the old method name. 2011-05-06 12:09:00 +0200 Wim Taymans * gst/gstpad.h: pad: clean up the .h file a bit 2011-05-06 11:14:02 +0200 Wim Taymans * gst/Makefile.am: * gst/gst.c: * gst/gstcontext.c: * gst/gstcontext.h: * gst/gstpad.c: * gst/gstpad.h: * win32/common/libgstreamer.def: pad: implement more sticky events Remove the context again, adding an extra layer of refcounting and object creation to manage an array is too complicated and inefficient. Use a simple array again. Also implement event updates when calling gst_pad_chain() and gst_event_send_event() directly. 2011-05-06 11:35:36 +0300 Stefan Kost * gst/gstinfo.h: info: avoid redefinition of symbols when debugging is off The refactoring of gst_debug_add_log_function() now causes build failure when debug-logging is turned off. Just move it to the conditional part of the header. 2011-05-06 11:00:18 +0200 Wim Taymans * gst/gstevent.h: event: reorder events Reorder the sticky events so that they are in the order they should be pushed. 2011-05-05 19:24:46 +0200 Wim Taymans * gst/gstpad.c: pad: simplify some more If we get a context in the chain functions we always need to do a full update of the context on the peer pad. 2011-05-05 18:56:41 +0200 Wim Taymans * gst/gstpad.c: pad: improve context passing some more Pass the context downstream when it got updated. Have two ways of informing downstream of events, do a full context update when the CONTEXT_PENDING flag is set and simply forward the event otherwise. Set the CONTENT_PENDING flag when linking pads. We don't need to old context anymore when updating the context of a pad. 2011-05-05 18:21:21 +0200 Sebastian Dröge * libs/gst/base/gstbasetransform.c: basetransform: Don't get the parent twice in the setcaps function 2011-05-05 16:59:36 +0200 Sebastian Dröge * gst/gstpad.c: pad: Fix refcount leak of the parent in the default event dispatch function 2011-05-05 16:32:11 +0200 Wim Taymans * gst/gstpad.c: * gst/gstpad.h: pad: improve passing around the context Improve passing around the context, only send the context to the peer element when the CONTEXT_PENDING flag is set. 2011-05-05 16:05:20 +0200 Sebastian Dröge * win32/common/libgstreamer.def: win32: Update exports 2011-03-17 11:52:42 +0100 Sebastian Dröge * tests/check/elements/tee.c: * tests/check/gst/gstbin.c: * tests/check/gst/gstiterator.c: tests: Update for new GstIterator API 2011-03-17 11:32:24 +0100 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * win32/common/libgstreamer.def: docs/def: Add new symbols, remove old symbols 2011-03-17 11:32:11 +0100 Sebastian Dröge * plugins/elements/gstfunnel.c: * plugins/elements/gstinputselector.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gsttee.c: elements: Update everything for the new GstIterator API 2011-03-17 11:31:59 +0100 Sebastian Dröge * gst/gstbin.c: * gst/gstelement.c: * gst/gstformat.c: * gst/gstghostpad.c: * gst/gstpad.c: * gst/gstquery.c: * gst/gstutils.c: * gst/gstvalue.c: gst: Update everything for the new GstIterator API 2011-03-16 10:50:39 +0100 Sebastian Dröge * gst/gstiterator.c: * gst/gstiterator.h: * gst/gstplugin.c: iterator: Refactor GstIterator to be more binding friendly and have saner refcounting Fixes bug #638987. 2011-01-08 12:27:55 -0200 Johan Dahlin * gst/gstiterator.c: * gst/gstiterator.h: iterator: register as a boxed type https://bugzilla.gnome.org/show_bug.cgi?id=638987 2011-01-08 12:14:40 -0200 Johan Dahlin * gst/gstiterator.c: iterator: use GSlice https://bugzilla.gnome.org/show_bug.cgi?id=638987 2011-01-08 12:12:41 -0200 Johan Dahlin * gst/gstbin.c: * gst/gstiterator.c: iterator: free struct in gst_iterator_free https://bugzilla.gnome.org/show_bug.cgi?id=638987 2011-01-08 12:07:55 -0200 Johan Dahlin * gst/gstiterator.c: * gst/gstiterator.h: iterator: store size in the struct https://bugzilla.gnome.org/show_bug.cgi?id=638987 2011-05-05 11:28:38 +0200 Sebastian Dröge * gst/gstcaps.c: * tests/check/gst/gstcaps.c: caps: Merge structures when intersecting instead of appending them This prevents adding duplicates over and over again to the resulting caps if they already describe the new intersection result. While this changes intersection from O(n*m) to O(n^2*m), it results in smaller caps, which in the end will decrease further processing times. For example in an audioconvert ! audioconvert ! audioconvert pipeline, when forwarding the downstream caps preference in basetransform (see e26da72de25a91c3eaad9f7c8b2f53ba888a0394) this results in 16 instead of 191 caps structures. 2011-05-04 11:29:15 +0200 Sebastian Dröge * libs/gst/base/gstbasetransform.c: basetransform: In getcaps() prefer the caps order and caps of downstream if possible 2011-05-03 17:26:53 +0200 Sebastian Dröge * libs/gst/base/gstbasetransform.c: basetransform: Prefer caps order given by the subclass of the template caps order 2011-05-03 14:13:59 +0200 Sebastian Dröge * libs/gst/base/gstbasesrc.c: basesrc: Use the reconfigure flag on the pad instead of the event 2011-05-03 14:11:34 +0200 Sebastian Dröge * libs/gst/base/gstbasetransform.c: basetransform: Use new reconfigure flag on the pads instead of the reconfigure event 2011-05-03 13:42:44 +0200 Sebastian Dröge * gst/gstpad.c: * gst/gstpad.h: pad: Keep track of reconfigure events and the pad-needs-reconfiguring status 2011-05-03 13:05:06 +0200 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gstevent.c: * gst/gstevent.h: * gst/gstquark.c: * gst/gstquark.h: * win32/common/libgstreamer.def: event: Rename renegotiate event to reconfigure In 0.11 this event will also do reconfiguration of buffer pools and similar things, not just renegotiation. 2010-03-17 21:24:55 +0000 Olivier Crête * gst/gstpad.c: pad: Send renegotiate event on link 2010-03-17 21:17:10 +0000 Olivier Crête * gst/gstpad.c: pad: Drop renegotiate event if there is no getcaps function on a sink pad If there is no custom getcaps function on a sink pad, then changes in downstream caps will never be propagated, so there is no point in trying to renegotiate the capabilities. 2011-04-26 16:39:56 +0200 Sebastian Dröge * libs/gst/base/gstbasesrc.c: basesrc: Only renegotiate once after receiving a renegotiate event Also make this threadsafe. 2011-01-17 14:13:46 -0300 Thiago Santos * libs/gst/base/gstbasesrc.c: basesrc: Handle the new renegotiate event Makes basesrc handle the new renegotiate event by using a renegotiate flag. 2011-04-26 16:48:05 +0200 Sebastian Dröge * libs/gst/base/gstbasetransform.c: basetransform: Also call gst_base_transform_reconfigure() on renegotiate events 2011-01-17 14:13:46 -0300 Thiago Santos * libs/gst/base/gstbasetransform.c: basetransform: Handle the new renegotiate event Let basetransform push a renegotiate event upstream when it gets a new suggestion 2011-01-17 11:51:49 -0300 Thiago Santos * gst/gstevent.c: * gst/gstevent.h: * gst/gstquark.c: * gst/gstquark.h: * win32/common/libgstreamer.def: event: Adding new renegotiate event 2011-05-05 13:10:42 +0200 Wim Taymans * gst/gstpad.c: pad: pass the context around Pass the context from srcpad to sinkpad before dataflow when something changed. 2011-05-05 11:17:20 +0200 Wim Taymans * gst/gstpad.c: * gst/gstpad.h: pad: update the context lazyly 2011-05-05 11:16:48 +0200 Wim Taymans * gst/gst.c: gst: init the GType early 2011-05-05 11:16:23 +0200 Wim Taymans * win32/common/libgstreamer.def: defs: update defs 2011-05-05 10:40:14 +0200 Wim Taymans * gst/gstcontext.c: * gst/gstcontext.h: context: add foreach function Add a function to iterate over all stored events. 2011-05-05 10:37:19 +0200 Wim Taymans * gst/gst.c: * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstcontext.c: * gst/gstcontext.h: * gst/gstevent.h: * gst/gstghostpad.c: * gst/gstpad.c: * gst/gstpad.h: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: * libs/gst/base/gsttypefindhelper.c: * libs/gst/check/gstcheck.c: * plugins/elements/gstcapsfilter.c: * plugins/elements/gstfunnel.c: * plugins/elements/gstinputselector.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstqueue.c: * plugins/elements/gstqueue2.c: * plugins/elements/gsttypefindelement.c: * tests/check/elements/selector.c: * tests/check/elements/tee.c: * tests/check/gst/gstbuffer.c: * tests/check/gst/gstcaps.c: * tests/check/gst/gstpad.c: * tests/check/libs/transform1.c: * tools/gst-launch.c: Revert "context: use context on buffers instead of caps" This reverts commit 9ef1346b1fa0bd2bb42cd991a52ff308a728bdb6. Way to much for one commit and I'm not sure we want to get rid of the pad caps just like that. It's nice to have the buffer and its type in onw nice bundle without having to drag the complete context with it. 2011-04-20 22:52:36 +0200 Miguel Angel Cabrera Moya * gst/parse/types.h: * tests/check/pipelines/parse-launch.c: parse: don't unescape inside quotes Escaped characters inside quoted strings are supposed to be unescaped by deserialization functions, not by parsing functions. https://bugzilla.gnome.org/show_bug.cgi?id=648025 2011-04-18 14:26:33 +0200 Sebastian Dröge * gst/gstbin.c: bin: Only post EOS messages after reaching the PLAYING state Fixes bug #647756. 2011-04-18 10:04:24 +0200 Sebastian Dröge * gst/gstpad.c: pad: Remove unnecessary FIXME Resetting the result is not necessary when resyncing because pads that previously got the event will be skipped and we need to consider the results of the previous pushes. 2011-04-18 09:53:55 +0200 Sebastian Dröge * gst/gstelement.c: element: If activating one pad failed error out early instead of trying to activate the next pads If one pad fails to activate the complete activation process will fail anyway and trying to activate the other pads only wastes time. 2011-04-18 09:49:04 +0200 Sebastian Dröge * gst/gstbin.c: bin: If activating one pad failed error out early instead of trying to activate the next pads If one pad fails to activate the complete activation process will fail anyway and trying to activate the other pads only wastes time. 2011-05-05 12:28:02 +0200 Sebastian Dröge * libs/gst/base/gstbasetransform.c: basetransform: Remove nowadays unused and uninitialized setcaps variable 2011-05-05 12:27:51 +0200 Sebastian Dröge Merge branch 'master' into 0.11 Conflicts: docs/gst/gstreamer-sections.txt gst/gstelementfactory.c gst/gstminiobject.c 2011-05-04 18:59:47 +0200 Wim Taymans * gst/gst.c: * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstcontext.c: * gst/gstcontext.h: * gst/gstevent.h: * gst/gstghostpad.c: * gst/gstpad.c: * gst/gstpad.h: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: * libs/gst/base/gsttypefindhelper.c: * libs/gst/check/gstcheck.c: * plugins/elements/gstcapsfilter.c: * plugins/elements/gstfunnel.c: * plugins/elements/gstinputselector.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstqueue.c: * plugins/elements/gstqueue2.c: * plugins/elements/gsttypefindelement.c: * tests/check/elements/selector.c: * tests/check/elements/tee.c: * tests/check/gst/gstbuffer.c: * tests/check/gst/gstcaps.c: * tests/check/gst/gstpad.c: * tests/check/libs/transform1.c: * tools/gst-launch.c: context: use context on buffers instead of caps Put the srcpad context on buffers instead of caps. This allows us to associate all the relevant info contained in events with a buffer. 2011-05-04 15:29:42 +0100 Tim-Philipp Müller * tests/check/gst/gstminiobject.c: tests: fix compiler warning in new miniobject test gst/gstminiobject.c: In function ‘test_dup_null_mini_object’: gst/gstminiobject.c:459:7: warning: assignment from incompatible pointer type 2011-05-04 15:53:21 +0200 Wim Taymans * gst/gstcontext.h: * gst/gstevent.c: * gst/gstpad.c: * gst/gstpad.h: pad: use the context to store sticky events Store the sticky events in the context of a source pad. 2011-05-04 15:20:10 +0200 Wim Taymans * gst/Makefile.am: * gst/gstcontext.c: * gst/gstcontext.h: * gst/gstevent.h: context: add helper object to manage events Add a helper object to manage the events that define the context of a buffer and a stream. 2011-05-04 11:07:19 +0200 Wim Taymans * win32/common/libgstreamer.def: defs: update defs 2011-05-04 11:03:05 +0200 Wim Taymans * gst/gstevent.c: * gst/gstevent.h: * gst/gstquark.c: * gst/gstquark.h: event: add new CAPS event Add a new CAPS event that will be used to negotiate downstream elements. It'll also stick on pad so that we can remove the GstCaps field on pads and the GstCaps field on buffers. 2011-05-03 18:58:18 +0200 Wim Taymans * gst/gstevent.h: * gst/gstpad.c: * gst/gstpad.h: pad: more sticky events work Copy the sticky events from the srcpad to the sinkpad when linking pads. Set the STICKY_PENDING flag to make sure that the sticky events are dispatched before pushing the next buffer to the element. 2011-05-03 16:11:12 +0200 Wim Taymans * docs/random/porting-to-0.11.txt: docs: improve porting doc 2011-05-02 18:45:24 +0200 Wim Taymans * docs/random/porting-to-0.11.txt: porting: update porting document 2011-05-02 11:30:06 -0300 Thiago Santos * gst/gstminiobject.c: * tests/check/gst/gstminiobject.c: miniobject: Fix dup_mini_object function to handle NULL gvalues g_value_dup_object handles gvalues that contain NULL pointers, gst_value_dup_mini_object should do the same. https://bugzilla.gnome.org/show_bug.cgi?id=649195 2011-05-03 13:55:43 +0300 Stefan Kost * libs/gst/base/gstbaseparse.c: docs: it its %TRUE (constant) As spotted by Tim. 2011-05-02 16:22:56 +0300 Stefan Kost * gst/gstelementfactory.c: docs: fix copy'n'paste doc header mistake 2011-05-02 16:20:24 +0300 Stefan Kost * gst/gstelement.h: * gst/gstpluginfeature.h: docs: add two trivial doc blobs 2011-05-02 16:03:29 +0300 Stefan Kost * libs/gst/base/gstbaseparse.c: docs: add missing parameter docs 2011-05-02 16:00:52 +0300 Stefan Kost * libs/gst/dataprotocol/dataprotocol.h: docs: add docs for GstDPPacketizer 2011-05-02 15:52:58 +0300 Stefan Kost * gst/gstcaps.h: docs: improve the syntax for the capsintersectmode docs 2011-05-02 15:48:01 +0300 Stefan Kost * gst/gstelement.c: docs: fixup broken xref 2011-05-02 15:46:59 +0300 Stefan Kost * docs/gst/gstreamer-sections.txt: * docs/libs/gstreamer-libs-sections.txt: docs: add new api to -section.txt 2011-05-02 15:35:52 +0300 Stefan Kost * gst/gstatomicqueue.h: docs: fix gtk-doc syntax 2011-05-02 15:30:13 +0300 Stefan Kost * plugins/elements/gstfunnel.c: docs: don't duplicate info that we take from element-details 2011-04-28 15:37:02 +0300 Stefan Kost * docs/gst/gstreamer-sections.txt: docs: remove non existing symbol 2011-04-28 15:05:28 +0300 Stefan Kost * gst/gstbufferlist.c: * gst/gstsystemclock.h: docs: we don't need to document private members in opaque structs 2011-04-29 13:43:07 +0200 Philippe Normand * docs/random/porting-to-0.11.txt: * gst/gstpreset.c: * gst/gstregistry.c: * tests/check/gst/gstpreset.c: core: store presets, registry and plugins in XDG directories. Presets and plugins moved to $XDG_DATA_HOME/gstreamer-0.11/ root directory. Registry moved to $XDG_CACHE_HOME/gstreamer-0.11/. Fixes bug #518597. 2011-05-03 09:41:48 +0200 Sebastian Dröge Merge branch 'master' into 0.11 Conflicts: configure.ac gst/gstbus.c 2011-05-02 18:34:18 +0200 Wim Taymans * gst/gstevent.c: * gst/gstevent.h: * gst/gstinfo.c: * gst/gstpad.c: * gst/gstpad.h: event: add sticky flags to events Add the sticky flag to events and a sticky index. Keep sticky events in an array on each pad. Remove GST_EVENT_SRC(), it is causing refcycles with sticky events, was not used and is not very interesting anyway. 2011-05-02 11:09:52 +0200 Wim Taymans * gst/gstquery.c: * gst/gstquery.h: query: improve allocation parameters query Use the same parameters as those used for the bufferpool. Make sure we can pass a minimum and maximum amount of buffers needed. 2011-04-30 16:55:36 +0100 Tim-Philipp Müller * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * docs/plugins/inspect/plugin-staticelements.xml: * po/de.po: * po/fr.po: * win32/common/config.h: * win32/common/gstversion.h: 0.10.32.4 pre-release 2011-04-29 23:44:55 +0100 Tim-Philipp Müller * gst/gstpluginfeature.h: pluginfeature: include plugin.h in header where we use a GstPlugin pointer Should fix issue with gstreamermm build where is included directly instead of gst/gst.h. 2011-04-29 13:42:57 +0200 Wim Taymans * libs/gst/base/gstbasetransform.c: transform: do pad_alloc fallback correctly 2011-04-29 13:26:19 +0200 Wim Taymans * gst/gstghostpad.c: * gst/gstpad.c: * gst/gstpad.h: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesink.h: * libs/gst/base/gstbasetransform.c: * plugins/elements/gstfunnel.c: * plugins/elements/gstinputselector.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstoutputselector.c: * plugins/elements/gstqueue.c: * plugins/elements/gstqueue2.c: * plugins/elements/gsttee.c: * plugins/elements/gstvalve.c: * tests/check/elements/funnel.c: * tests/check/elements/tee.c: * tests/check/elements/valve.c: * tests/check/libs/test_transform.c: * tests/check/libs/transform1.c: * tools/gst-inspect.c: * tools/gst-xmlinspect.c: * win32/common/libgstreamer.def: Remove pad_alloc, this can now be done better Remove pad_alloc and all references. This can now be done more efficiently and more flexible with the ALLOCATION query and the bufferpool objects. There is no reverse negotiation yet but that will be done with an event later. 2011-04-29 12:11:56 +0200 Wim Taymans * gst/gstquery.c: query: init the ALLOCATION query correctly Don't add the 'pool' property instead of adding it with a NULL array. 2011-04-29 10:50:17 +0200 Wim Taymans * gst/gstquery.c: * gst/gstquery.h: * win32/common/libgstreamer.def: query: fix parsing of the ALLOCATION query Add methods for parsing the caps and the need_pool boolean. 2011-04-28 16:20:22 +0200 Wim Taymans * gst/gstquery.c: * gst/gstquery.h: * win32/common/libgstreamer.def: query: fix typo in method name and improve docs Fixed typo in method name and add/improve the docs. 2011-04-28 15:31:48 +0200 Wim Taymans * docs/design/draft-allocation.txt: * gst/gstquark.c: * gst/gstquark.h: * gst/gstquery.c: * gst/gstquery.h: * win32/common/libgstreamer.def: bufferpool: add query to request pool and configuration Add a query to request allocation parameters and optionally a bufferpool as well. This should allow elements to discover downstream capabilities and also use the downstream allocators. 2011-04-27 18:10:55 +0200 Wim Taymans * gst/gstbus.c: bus: fix timeout handling 2011-04-27 17:56:12 +0200 Wim Taymans * docs/design/draft-bufferpool.txt: * gst/gstbufferpool.c: bufferpool: fix some docs 2011-04-27 17:55:20 +0200 Wim Taymans * gst/gstevent.c: * gst/gstevent.h: * gst/gstquark.c: * gst/gstquark.h: event: improve argument names of segments 2011-04-27 11:49:11 +0100 Tim-Philipp Müller * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * po/bg.po: * po/nl.po: * po/pl.po: * po/ru.po: * win32/common/config.h: * win32/common/gstversion.h: 0.10.32.3 pre-release 2011-04-26 15:42:46 +0100 Tim-Philipp Müller * gst/gst_private.h: * gst/gstbin.c: * gst/gstbus.c: * gst/gstbus.h: Revert lockfree GstBus for the release Drop in old GstBus code for the release to play it safe, since regressions that are apparently hard to track down and reproduce have been reported (on windows/OSX mostly) against the lockfree version, and more time is needed to fix them. This reverts commit 03391a897001d35d1d290f27dd12e98a8b729fb4. This reverts commit 43cdbc17e6f944cdf02aeed78d1d5f6bde5190c9. This reverts commit 80eb160e0f62350271f061daa5f289d9d4277cf4. This reverts commit c41b0ade28790ffdb0e484b41cd7929c4e145dec. This reverts commit 874d60e5899dd5b89854679d1a4ad016a58ba4e0. This reverts commit 79370d4b1781af9c9a65f2d1e3498124d8c4c413. This reverts commit 2cb3e5235196eb71fb25e0a4a4b8749d6d0a8453. This reverts commit bd1c40011434c1efaa696dc98ef855ef9cce9b28. This reverts commit 4bf8f1524f6e3374b3f3bc57322337723d06b928. This reverts commit 14d7db1b527b05f029819057aef5c123ac7e013d. https://bugzilla.gnome.org/show_bug.cgi?id=647493 2011-04-25 11:10:47 +0200 Josep Torra * gst/gstformat.c: * gst/gstparse.c: * gst/gstquery.c: * gst/gsttagsetter.c: * gst/gstutils.c: * libs/gst/base/gstbaseparse.c: Small cosmetic cleanups Make sure the return values from g_return_* are of the right type. 2011-04-25 10:56:06 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2: fix mixing of return values 2011-04-25 10:30:41 +0200 Wim Taymans Merge branch 'master' into 0.11 2011-04-15 22:00:11 -0700 David Schleef * gst/gstutils.c: minor inline documentation fix 2011-04-24 14:02:51 +0100 Tim-Philipp Müller * common: Automatic update of common submodule From c3cafe1 to 46dfcea 2011-04-24 11:44:19 +0100 Tim-Philipp Müller * tests/check/gst/gstbin.c: tests: clean up properly in the bin test_link_structure_change unit test Don't forget to set the pipeline back to NULL state, which makes valgrind happy again. 2011-04-24 09:58:53 +0100 Tim-Philipp Müller * gst/gstregistry.c: registry: when removing a cached-but-no-longer-existing plugin, only remove features that belong to it When a plugin file no longer exists, e.g. because it's been removed or renamed, don't remove all features in the registry based on the *name* of the plugin they belong to, but only remove those who actually belong to that particular plugin (object/pointer). This fixes issues of plugin features disappearing when a plugin .so file is renamed. https://bugzilla.gnome.org/show_bug.cgi?id=604094 2011-04-24 09:53:39 +0100 Tim-Philipp Müller * gst/gstelementfactory.c: * gst/gstpluginfeature.c: * gst/gstpluginfeature.h: * gst/gstregistrychunks.c: * gst/gsttypefind.c: pluginfeature: store pointer to plugin in addition to the plugin name So we can reliably remove plugin features for a specific plugin later. https://bugzilla.gnome.org/show_bug.cgi?id=604094 2011-04-24 11:05:58 +0100 Tim-Philipp Müller * gst/gstregistry.c: registry: use TRACE log level to log files that don't look like plugins Cuts down the noise in uninstalled setups. 2011-04-19 20:35:04 -0300 Thiago Santos * libs/gst/base/gstbasetransform.c: basetransform: fix negotiation regression Fixup patch for 83597767b169dd6c39a07b6144a650c1f098825a Use a separate variable for knowing if a pad alloc has been made instead of checking for the flow return that might not be the result of the pad alloc https://bugzilla.gnome.org/show_bug.cgi?id=648220 2011-04-21 12:33:10 +0100 Tim-Philipp Müller * tests/check/gst/gstpipeline.c: tests: add simple pipeline-in-pipeline unit test https://bugzilla.gnome.org/show_bug.cgi?id=648297 2011-04-20 15:39:16 +0200 Mark Nauwelaerts * gst/gstbus.c: bus: also allow popping a message without timeout if no poll available ... which happens in particular flushing a bus, possibly as part of a state change, e.g. when having a pipeline in a pipeline and then changing state back to NULL. The interior pipeline will/might then flush the bus, which is a child bus from the parent which does not have a poll anymore these days. https://bugzilla.gnome.org/show_bug.cgi?id=648297 2011-04-20 19:08:40 +0200 Wim Taymans * win32/common/libgstreamer.def: defs: update defs 2011-04-20 19:03:49 +0200 Wim Taymans * gst/gstelement.c: element: remove unused variable 2011-04-20 19:00:07 +0200 Wim Taymans * gst/gstelement.c: element: don't touch base_time or clock in state change Don't touch the base_time or the clock when setting an element to the READY or NULL state. It is the parent that will manage this for us. 2011-04-19 20:52:05 +0200 Sebastian Dröge * gst/gstbufferlist.c: bufferlist: Implement gst_buffer_list_foreach() 2011-04-19 19:30:28 +0200 Wim Taymans Merge branch 'master' into 0.11 2011-04-19 18:57:43 +0200 Wim Taymans * gst/gstbuffer.c: * gst/gstbuffer.h: buffer: add method to compare buffer data Add method to compare the data in a buffer. 2011-04-19 16:21:15 +0200 Wim Taymans Merge branch 'master' into 0.11 Conflicts: configure.ac 2011-04-19 14:05:23 +0200 Havard Graff * gst/gstpad.c: pad: unlock before freeing the cache to avoid deadlock https://bugzilla.gnome.org/show_bug.cgi?id=648199 2011-04-14 10:15:26 +0200 Havard Graff * libs/gst/base/gstbasetransform.c: basetransform: don't unref trans until the function is done using it trans->priv->force_alloc = FALSE would crash if the ref held is the last https://bugzilla.gnome.org/show_bug.cgi?id=648215 2011-04-19 13:23:19 +0100 Tim-Philipp Müller * gst/gstindex.c: docs: add note/warning to gst_index_get_writer_id() docs about the OBJECT_LOCK https://bugzilla.gnome.org/show_bug.cgi?id=646811 2011-04-19 13:05:53 +0100 Tim-Philipp Müller * libs/gst/base/gstbaseparse.c: baseparse: don't deadlock when setting external index Protect index with its own lock. gst_index_get_writer_id() may take the object lock internally (the default resolver, GST_INDEX_RESOLVER_PATH, will anyway), so if we're using that to protect the index as well, we'll deadlock. https://bugzilla.gnome.org/show_bug.cgi?id=646811 2011-04-19 11:51:30 +0100 Tim-Philipp Müller * libs/gst/base/gstbaseparse.c: baseparse: make fmtlist constant 2011-04-19 11:48:05 +0100 Tim-Philipp Müller * gst/gstquery.c: * gst/gstquery.h: query: const-ify formats arguments to gst_query_set_formatsv() 2011-04-18 18:19:51 +0200 Sebastian Dröge * tests/check/elements/fakesink.c: * tests/check/gst/gstparamspecs.c: * tests/check/gst/gsttagsetter.c: * tests/check/libs/test_transform.c: * tests/check/pipelines/parse-launch.c: tests: Use G_DEFINE_TYPE instead of GST_BOILERPLATE 2011-04-18 18:19:24 +0200 Sebastian Dröge * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: base{sink,src}: Don't try to fixate ANY caps 2011-04-18 18:07:06 +0200 Sebastian Dröge * plugins/elements/gstcapsfilter.c: * plugins/elements/gstfakesink.c: * plugins/elements/gstfakesrc.c: * plugins/elements/gstfdsink.c: * plugins/elements/gstfdsrc.c: * plugins/elements/gstfilesink.c: * plugins/elements/gstfilesrc.c: * plugins/elements/gstfunnel.c: * plugins/elements/gstidentity.c: * plugins/elements/gstinputselector.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstoutputselector.c: * plugins/elements/gstqueue.c: * plugins/elements/gstqueue2.c: * plugins/elements/gsttee.c: * plugins/elements/gsttypefindelement.c: * plugins/elements/gstvalve.c: elements: Use G_DEFINE_TYPE instead of GST_BOILERPLATE 2011-04-18 17:33:34 +0200 Sebastian Dröge * libs/gst/net/gstnetclientclock.c: net: Use G_DEFINE_TYPE instead of GST_BOILERPLATE 2011-04-18 17:32:17 +0200 Sebastian Dröge * libs/gst/base/gstadapter.c: * libs/gst/base/gstcollectpads.c: * libs/gst/base/gstpushsrc.c: base: Use G_DEFINE_TYPE instead of GST_BOILERPLATE 2011-04-18 17:28:37 +0200 Sebastian Dröge * docs/random/porting-to-0.11.txt: * gst/gstutils.h: utils: Remove GST_BOILERPLATE and friends 2011-04-18 10:47:26 +0200 Sebastian Dröge * gst/gstpad.c: * gst/gstpad.h: pad: Make the size parameter of gst_pad_alloc_buffer() unsigned Internally guints were used everywhere already. 2011-04-18 10:41:18 +0200 Sebastian Dröge * gst/gstpad.c: pad: Don't allow fixating ANY caps and remove FIXME 2011-04-18 10:36:41 +0200 Sebastian Dröge * docs/random/porting-to-0.11.txt: * gst/gstbin.c: bin: Enable DURATION query caching Elements must now post a DURATION message on the bus if they change the duration in PAUSED or PLAYING. 2011-04-16 15:20:08 +0100 Tim-Philipp Müller * libs/gst/base/gstbaseparse.c: docs: remove reference to baseparse API that didn't make it 2011-04-16 16:06:02 +0200 Sebastian Dröge Merge branch 'master' into 0.11 2011-04-16 15:28:53 +0200 Sebastian Dröge * tests/check/gst/gstelement.c: element: Add test for inheriting metadata/pad templates 2011-04-16 15:24:01 +0200 Sebastian Dröge * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: base: Update docs to say class_init instead of base_init And remove a useless base_init in basesrc 2011-04-16 15:23:46 +0200 Sebastian Dröge * libs/gst/net/gstnettimeprovider.c: net: Use G_DEFINE_TYPE 2011-04-16 15:23:19 +0200 Sebastian Dröge * gst/gstbin.c: * gst/gstpipeline.c: gst: Don't use base_init and use G_DEFINE_TYPE instead of GST_BOILERPLATE 2011-04-16 15:03:33 +0200 Sebastian Dröge * docs/random/porting-to-0.11.txt: * gst/gstelement.c: * gst/gstpadtemplate.c: element: Inherit element metadata and pad templates from parent classes This allows to add pad templates and set metadata in class_init instead of base_init. base_init is a concept that is not supported by almost all languages and copying the templates/metadata for subclasses is the more intuitive way of doing things. Subclasses can override pad templates of parent classes by adding a new template with the same now. Also gst_element_class_add_pad_template() now takes ownership of the pad template, which was assumed by all code before anyway. Fixes bug #491501. 2011-04-16 14:56:03 +0100 Tim-Philipp Müller * configure.ac: * docs/plugins/gstreamer-plugins.args: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * win32/common/config.h: * win32/common/gstenumtypes.c: * win32/common/gstenumtypes.h: * win32/common/gstversion.h: 0.10.32.2 pre-release 2011-04-16 14:54:00 +0100 Tim-Philipp Müller * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/el.po: * po/en_GB.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/gl.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: po: update translations 2011-04-16 14:52:40 +0100 Tim-Philipp Müller * tools/gst-launch.c: gst-launch: remove newline from translatable string 2011-04-16 13:49:45 +0100 Tim-Philipp Müller * gst/Makefile.am: gst: gobject-introspection scanner doesn't need to scan or update plugin info 2011-04-16 14:34:08 +0200 Sebastian Dröge * gst/Makefile.am: gst: make sure gobject-introspection scanner calls gst_init() https://bugzilla.gnome.org/show_bug.cgi?id=647922 2011-04-16 10:45:16 +0100 Tim-Philipp Müller * libs/gst/base/Makefile.am: * libs/gst/check/Makefile.am: * libs/gst/controller/Makefile.am: * libs/gst/dataprotocol/Makefile.am: * libs/gst/net/Makefile.am: libs: gobject-introspection scanner doesn't need to scan or update plugin info Make sure the scanner doesn't load or introspect or check any plugins, (especially not outside the build directory). 2011-04-16 10:33:21 +0100 Tim-Philipp Müller * libs/gst/base/Makefile.am: * libs/gst/check/Makefile.am: * libs/gst/controller/Makefile.am: * libs/gst/dataprotocol/Makefile.am: * libs/gst/net/Makefile.am: libs: make sure gobject-introspection scanner calls gst_init() https://bugzilla.gnome.org/show_bug.cgi?id=647922 2011-04-16 10:17:24 +0100 Tim-Philipp Müller * win32/common/libgstbase.def: win32: add new baseparse API to libgstbase.def 2011-04-16 09:33:06 +0200 Sebastian Dröge Merge branch 'master' into 0.11 2011-04-16 09:32:17 +0200 Sebastian Dröge * win32/common/libgstreamer.def: win32: Add exports for the GstParseContext and GstBufferListIterator types 2011-04-16 08:59:58 +0200 Sebastian Dröge Merge branch 'master' into 0.11 2011-04-15 20:58:51 +0100 Tim-Philipp Müller * gst/gstpluginloader.c: pluginloader: only run gst-plugin-scanner with /usr/bin/arch wrapper on OS X >= 10.5 Based on patch by: Daniel Macks Earlier versions of OSX don't support proper multiarch and trying to use /usr/bin/arch -foo with those versions would just break things. https://bugzilla.gnome.org/show_bug.cgi?id=615357 2011-04-15 19:07:55 +0100 Tim-Philipp Müller * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbaseparse.h: baseparse: expose gst_base_parse_frame_free() for completeness API: gst_base_parse_frame_free() 2011-04-15 18:52:18 +0100 Tim-Philipp Müller * libs/gst/base/gstbaseparse.c: baseparse: init frames on the stack with gst_base_parse_frame_init() Frames must now be inited this way, can't just zero them out and use them. 2011-04-15 18:38:46 +0100 Tim-Philipp Müller * libs/gst/base/gstbaseparse.c: baseparse: more debug logging, minor clean-up Trace frames, split out code to queue a frame for later. 2011-04-15 18:00:21 +0100 Tim-Philipp Müller * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbaseparse.h: baseparse: change gst_base_parse_frame_init() to not take a GstBaseParse argument 2011-04-15 17:41:02 +0100 Tim-Philipp Müller * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbaseparse.h: baseparse: make GstBaseParseFrame handling more bindings-friendly Change semantics of gst_base_parse_push_frame() and make it take ownership of the whole frame, not just the frame contents. This is more in line with how gst_pad_push() etc. work. Just transfering the content, but not the container of something that's not really known to be a container is hard to annotate properly and probably won't work. We mark frames allocated on the stack now with a private flag in gst_base_parse_frame_init(), so gst_base_parse_frame_free() only frees the contents in that case but not the frame struct itself. https://bugzilla.gnome.org/show_bug.cgi?id=518857 API: gst_base_parse_frame_new() 2011-04-15 15:02:20 +0100 Tim-Philipp Müller * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbaseparse.h: baseparse: register boxed type for GstBaseFrameParse To make this usable for bindings. https://bugzilla.gnome.org/show_bug.cgi?id=518857 2011-04-15 13:57:47 +0200 Sebastian Dröge * plugins/elements/gstqueue2.c: queue2: Add missing ) to the ring-buffer-max-size property description 2011-04-15 10:53:56 +0200 Robert Swain * libs/gst/base/gstbaseparse.c: baseparse: Remove unused but set variable GCC 4.6.0 spits warnings about these. 2011-04-14 16:06:16 +0200 Sebastian Dröge * gst/gst.c: * gst/gstbufferlist.c: * gst/gstbufferlist.h: bufferlist: Add boxed type for GstBufferListIterator for gobject-introspection 2011-04-14 15:59:28 +0200 Sebastian Dröge * gst/gst.c: * gst/gstparse.c: * gst/gstparse.h: parse: Add boxed type for GstParseContext for gobject-introspection 2011-04-14 15:51:24 +0200 Sebastian Dröge * gst/gstbufferlist.c: * gst/gstfilter.c: * gst/gstinterface.c: * gst/gstiterator.c: * gst/gstminiobject.c: * gst/gstregistry.c: * gst/gststructure.c: * gst/gstutils.c: gst: Add some more gobject-introspection annotations 2011-04-14 09:07:48 +0200 Sebastian Dröge * plugins/elements/gstmultiqueue.c: multiqueue: Don't leak the sinkpad name 2011-04-14 09:07:25 +0200 Sebastian Dröge * tests/check/elements/multiqueue.c: multiqueue: Don't leak pads in the named pads unit test 2011-04-14 08:59:14 +0200 Sebastian Dröge * gst/gstutils.c: utils: Fix caps leaks in gst_element_factory_can_accept_{any,all}_caps_in_direction() 2011-04-13 09:20:13 -0700 David Schleef * gst/parse/parse.l: * tests/check/pipelines/parse-launch.c: parser: Allow element names to begin with digits 2011-04-13 10:24:33 -0700 David Schleef * tests/check/gst/gstutils.c: tests: Add test for greatest common divisor 2011-01-06 18:11:31 +0100 Ole André Vadla Ravnås * plugins/elements/gstfunnel.c: * plugins/elements/gstinputselector.c: * plugins/elements/gstoutputselector.c: * plugins/elements/gstqueue.c: * plugins/elements/gsttee.c: elements: Fix pad callbacks so they handle when parent goes away 1) We need to lock and get a strong ref to the parent, if still there. 2) If it has gone away, we need to handle that gracefully. This is necessary in order to safely modify a running pipeline. Has been observed when a streaming thread is doing a buffer_alloc() while an application thread sends an event on a pad further downstream, and from within a pad probe (holding STREAM_LOCK) carries out the pipeline plumbing while the streaming thread has its buffer_alloc() in progress. 2011-01-06 18:11:31 +0100 Ole André Vadla Ravnås * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasetransform.c: base: Fix pad callbacks so they handle when parent goes away 1) We need to lock and get a strong ref to the parent, if still there. 2) If it has gone away, we need to handle that gracefully. This is necessary in order to safely modify a running pipeline. Has been observed when a streaming thread is doing a buffer_alloc() while an application thread sends an event on a pad further downstream, and from within a pad probe (holding STREAM_LOCK) carries out the pipeline plumbing while the streaming thread has its buffer_alloc() in progress. 2011-01-06 18:11:31 +0100 Ole André Vadla Ravnås * gst/gstghostpad.c: ghostpad: Fix pad callbacks so they handle when parent goes away 1) We need to lock and get a strong ref to the parent, if still there. 2) If it has gone away, we need to handle that gracefully. This is necessary in order to safely modify a running pipeline. Has been observed when a streaming thread is doing a buffer_alloc() while an application thread sends an event on a pad further downstream, and from within a pad probe (holding STREAM_LOCK) carries out the pipeline plumbing while the streaming thread has its buffer_alloc() in progress. 2011-04-13 17:26:54 +0200 Janne Grunau * plugins/elements/gstqueue2.c: queue2: prevent calculation with GST_CLOCK_TIME_NONE in update_time_level() 2011-04-11 15:08:30 +0100 Tim-Philipp Müller * tests/check/elements/multiqueue.c: * tests/check/elements/queue2.c: * tests/check/gst/gstvalue.c: * tests/check/libs/test_transform.c: tests: fix unusued-but-assigned-variable warnings with gcc 4.6 2011-04-11 13:04:32 +0100 Tim-Philipp Müller * tests/check/gst/gstbin.c: tests: disable test_many_bins unit test for now It fails on the OSX bot (both with git and the last release), and it doesn't really test anything useful, so may just as well disable it for now. 2011-04-11 12:51:36 +0100 Tim-Philipp Müller * gst/gstpluginloader.c: pluginloader: fix compiler warnings Cast string constants to make compiler happy. 2011-04-11 12:04:34 +0100 Tim-Philipp Müller * tests/check/gst/gstbin.c: tests: allow more time for the test_many_bins pipeline to preroll Hopefully makes this test work on the OSX build bot and other not-so-powerful machines. https://bugzilla.gnome.org/show_bug.cgi?id=646624 2011-04-11 11:29:00 +0100 Jan Schmidt * gst/gstpluginloader.c: pluginloader: make sure gst-plugin-scanner is called with the right arch on OSX On OSX, GStreamer might be built as a 'fat/universal' binary containing both 32-bit and 64-bit code. We must take care that gst-plugin-scanner is executed with the same architecture as the GStreamer core, otherwise bad things may happen and core/scanner will not be able to communicate properly. Should fix issues with (32-bit) firefox using a 32-bit GStreamer core which then spawns a 'universal' gst-plugin-scanner binary which gets run in 64-bit mode, causing 100% cpu usage / busy loops or just hanging firefox until killed. https://bugzilla.gnome.org/show_bug.cgi?id=615357 2011-04-11 11:05:24 +0200 Robert Swain * gst/gstpad.c: pad: Allow tracking of buffers in GST_SCHEDULING debug output As GST_SCHEDULING reports when buffers pass through pads due to gst_pad_push calls, they are a good way of tracking the progress of buffers through pipelines. As such, adding output of the buffer pointers to these messages allows tracking of specific buffers, easing debugging. 2011-04-11 10:53:39 +0200 Wim Taymans * libs/gst/base/gstbaseparse.c: baseparse: port to 0.11 2011-04-11 10:26:54 +0200 Wim Taymans Merge branch 'master' into 0.11 Conflicts: android/base.mk android/controller.mk android/dataprotocol.mk android/elements.mk android/gst-inspect.mk android/gst-launch.mk android/gst-plugin-scanner.mk android/gst.mk android/indexers.mk android/net.mk win32/common/libgstbase.def 2011-04-11 10:20:10 +0200 Wim Taymans * gst/gstbuffer.c: buffer: add FIXME 2011-01-27 14:33:08 +0100 Alessandro Decina * .gitignore: * Android.mk: * android/NOTICE: * android/base.mk: * android/controller.mk: * android/dataprotocol.mk: * android/elements.mk: * android/gst-inspect.mk: * android/gst-launch.mk: * android/gst-plugin-scanner.mk: * android/gst.mk: * android/gst/gstconfig.h: * android/gst/gstenumtypes.c: * android/gst/gstenumtypes.h: * android/gst/gstmarshal.c: * android/gst/gstmarshal.h: * android/gst/gstversion.h: * android/gst/parse/grammar.output: * android/gst/parse/grammar.tab.c: * android/gst/parse/grammar.tab.h: * android/gst/parse/lex._gst_parse_yy.c: * android/indexers.mk: * android/net.mk: * android/tools.mk: * gst/Makefile.am: * gst/parse/Makefile.am: * libs/Makefile.am: * libs/gst/Makefile.am: * libs/gst/base/Makefile.am: * libs/gst/controller/Makefile.am: * libs/gst/dataprotocol/Makefile.am: * libs/gst/helpers/Makefile.am: * libs/gst/net/Makefile.am: * plugins/Makefile.am: * plugins/elements/Makefile.am: * plugins/indexers/Makefile.am: * tools/Makefile.am: android: make it ready for androgenizer Remove the android/ top dir Fixe the Makefile.am to be androgenized To build gstreamer for android we are now using androgenizer which generates the needed Android.mk files. Androgenizer can be found here: http://git.collabora.co.uk/?p=user/derek/androgenizer.git 2011-04-09 23:54:20 +0100 Tim-Philipp Müller * gst/gsttrace.c: trace: don't put code with side effects into g_return_if_fail() 2011-04-09 22:57:46 +0100 Tim-Philipp Müller * libs/gst/base/gstbaseparse.c: docs: minor fixes for baseparse docs Class vfunc references still aren't right, no idea what the correct markup for those is. 2011-04-09 18:04:55 +0100 Tim-Philipp Müller * gst/gstelement.c: element: unref event in default_send_event in case element has no pads Spotted by Haakon Sporsheim. 2011-04-09 04:07:04 +0200 Edward Hervey * tests/check/gst/.gitignore: check: Ignore new gstmeta binary 2011-04-09 04:05:48 +0200 Edward Hervey * docs/design/Makefile.am: design: draft-buffer2.txt no longer exists 2011-04-09 04:05:20 +0200 Edward Hervey * gst/Makefile.am: gst: Don't forget to dist gstelementmetadata.h 2011-04-08 19:07:02 +0100 Tim-Philipp Müller * libs/gst/base/gstbaseparse.c: baseparse: minor variable name clean-up 2011-04-08 15:31:14 +0100 Tim-Philipp Müller * docs/libs/gstreamer-libs-sections.txt: * docs/plugins/gstreamer-plugins.args: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbaseparse.h: * win32/common/libgstbase.def: baseparse: rename _set_frame_props() to _set_frame_rate() Seems like the best fit to what it does, and is shorter than set_frame_properties() which might also have been confusing because of GstBaseParseFrame. https://bugzilla.gnome.org/show_bug.cgi?id=518857 2011-04-06 17:43:27 +0100 Tim-Philipp Müller * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbaseparse.h: baseparse: replace format flags with gst_base_parse_set_{passthrough,syncable,has_timing_info} This is more in line with e.g. GstBaseTransform's API, and makes for nicer to read code. No getters for now since I don't see any use case for them, the API is for subclasses, which usually know what format they're dealing with already and hence know what they've set. https://bugzilla.gnome.org/show_bug.cgi?id=518857 2011-04-04 17:58:59 +0100 Tim-Philipp Müller * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbaseparse.h: baseparse: make DRAIN and SYNC flags on baseparse, not the frame, and change to DRAINING and LOST_SYNC The first because it seems a better fit conceptually, the second to express booleanness. Also change the accessor macros for subclasses to GST_BASE_PARSE_DRAINING and GST_BASE_PARSE_LOST_SYNC. https://bugzilla.gnome.org/show_bug.cgi?id=518857 2011-04-02 14:18:57 +0100 Tim-Philipp Müller * libs/gst/base/gstbaseparse.h: baseparse: add some padding to GstBaseParseFrame Esp. since it's usually allocated on the stack. https://bugzilla.gnome.org/show_bug.cgi?id=518857 2011-04-02 14:08:46 +0100 Tim-Philipp Müller * libs/gst/base/gstbaseparse.h: baseparse: fix typo in docs for GST_BASE_PARSE_FORMAT_FLAG_PASSTHROUGH https://bugzilla.gnome.org/show_bug.cgi?id=518857 2011-04-02 14:04:42 +0100 Tim-Philipp Müller * libs/gst/base/gstbaseparse.c: baseparse: use GQueue instead of GList for queued frames and make buffer metadata writable before setting caps on queued buffer. https://bugzilla.gnome.org/show_bug.cgi?id=646341 2011-04-02 13:02:01 +0100 Zaheer Abbas Merali * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbaseparse.h: baseparse: add GST_BASE_PARSE_FLOW_QUEUED to queue buffers until caps are known This is useful for parser like flacparse or h264parse which may need to process some buffers before they can construct the final caps, in which case they may want to delay pushing the initial buffers until the full and proper caps are known. https://bugzilla.gnome.org/show_bug.cgi?id=646341 2011-03-31 15:50:22 +0100 Tim-Philipp Müller * docs/libs/gstreamer-libs-docs.sgml: * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbaseparse.h: baseparse: add to docs and fix up gtk-doc markup a little And add Since markers. 2011-03-31 14:48:47 +0100 Tim-Philipp Müller * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbaseparse.h: baseparse: replace set_seek() with _set_average_bitrate() and FLAG_SYNCABLE This makes more sense conceptually, since the bitrate may be used to estimate a seek position if there's no seek table or just for duration reporting/estimation if we can't seek. Also, even if the format is not syncable, we could still seek by pushing data from the start and using the segment to make downstream clip. https://bugzilla.gnome.org/show_bug.cgi?id=518857 2011-03-24 17:30:53 +0000 Tim-Philipp Müller * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbaseparse.h: baseparse: rename GstBaseFormat to GstBaseFormatFlags and fix up associated API Also change gst_base_parse_set_format(parse,flags,switch_on) to gst_base_parse_set_format_flags(parse,flags) which is more in line with the rest of our API and how the function is used. 2011-03-13 23:43:52 +0000 Tim-Philipp Müller * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbaseparse.h: baseparse: don't expose GstAdapter in public header None of the existing subclasses needs access to that, so there's no reason to expose it for now. https://bugzilla.gnome.org/show_bug.cgi?id=518857 2011-03-13 23:38:12 +0000 Tim-Philipp Müller * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbaseparse.h: baseparse: move various segment-related members into the private instance struct If none of the existing subclasses uses these, there's probably no need to expose them at the moment. Keep the segment itself exposed though. https://bugzilla.gnome.org/show_bug.cgi?id=518857 2011-03-13 23:30:51 +0000 Tim-Philipp Müller * libs/gst/base/gstbaseparse.h: baseparse: remove unused GST_BASE_PARSE_{SINK,SRC}_NAME https://bugzilla.gnome.org/show_bug.cgi?id=518857 2011-03-12 16:16:22 +0000 Tim-Philipp Müller * libs/gst/base/gstbaseparse.h: baseparse: re-indent header 2011-03-12 15:34:33 +0000 Tim-Philipp Müller * libs/gst/base/gstbaseparse.c: baseparse: fix up GType name and make _get_type() function thread-safe Rename GType from GstBaseParseBad to GstBaseParse. 2011-03-12 15:29:38 +0000 Tim-Philipp Müller * libs/gst/base/Makefile.am: libs: add GstBaseParse which was moved from -bad 2011-02-23 17:24:14 -0800 David Schleef * libs/gst/base/gstbaseparse.c: baseparse: make_metadata_writable() fix 2011-02-21 13:24:03 +0000 Tim-Philipp Müller * libs/gst/base/gstbaseparse.c: baseparse: rename GType from GstAudioBaseParseBad to GstBaseParseBad We use it for video as well now. 2011-02-18 15:05:31 +0200 Stefan Kost * libs/gst/base/gstbaseparse.c: baseparse: trim trailing whitespace 2011-02-18 15:05:03 +0200 Stefan Kost * libs/gst/base/gstbaseparse.c: baseparse: use delta-unit flags instead of none 2011-02-17 13:22:28 -0800 David Schleef * libs/gst/base/gstbaseparse.h: baseparse: update documentation for API changes 2010-10-13 15:39:55 -0700 David Schleef * libs/gst/base/gstbaseparse.c: * libs/gst/base/gstbaseparse.h: baseparse: Create baseparse library 2011-02-07 14:46:57 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: tune QUERY_SEEKING response Even if we currently do not have a duration yet, assume seekable if it looks like we'll likely be able to determine it later on (which coincides with needed information to perform seeking). Fixes #641047. 2011-02-08 23:39:24 +0530 Arun Raghavan * gst/audioparsers/gstbaseparse.c: baseparse: Update min/max bitrate before first posting them This avoids posting an initial min-bitrate of G_UINTMAX and max-bitrate of 0. https://bugzilla.gnome.org/show_bug.cgi?id=641857 2011-01-21 14:53:39 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: tune default duration estimate update interval Rather than a fixed default frame count, estimate frame count to aim for an interval duration depending on fps if available, otherwise use old fixed default. 2011-01-14 15:16:04 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: reverse playback; mind keyframes for fragment boundary 2011-01-12 14:40:37 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: ensure non-empty candidate frames 2011-01-11 15:24:23 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: clarify some debug statements 2011-01-11 15:24:02 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: properly track upstream timestamps ... rather than with a delay. 2011-01-11 15:23:29 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: need proper frame duration to obtain sensible frame bitrate 2011-01-11 15:22:51 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: proper initial values for index tracking variables 2011-01-11 12:05:13 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: arrange for consistent event handling 2011-01-10 16:59:59 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.h: baseparse: header style cleaning 2011-01-10 17:07:38 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: provide some more initial frame metadata in parse_frame ... and document accordingly. 2011-01-10 16:56:36 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: * gst/audioparsers/gstbaseparse.h: baseparse: refactor passthrough into format flags Also add a format flag to signal baseparse that subclass/format can provide (parsed) timestamp rather than an estimated one. In particular, such "strong" timestamp then allows to e.g. determine duration. 2011-01-10 15:34:48 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: * gst/audioparsers/gstbaseparse.h: baseparse: introduce a baseparse frame to serve as context ... and adjust subclass parsers accordingly 2011-01-07 16:39:51 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: * gst/audioparsers/gstbaseparse.h: baseparse: restrict duration scanning to pull mode and avoid extra set_caps call 2011-01-07 15:58:49 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: * gst/audioparsers/gstbaseparse.h: baseparse: update some documentation Also add some more debug. 2011-01-06 11:41:44 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: allow increasing min_size for current frame parsing only Also check that subclass actually either directs to skip bytes or increases expected frame size to avoid going nowhere in bogus indefinite looping. 2011-01-14 15:26:37 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baesparse: fix refactor regression in loop based parsing 2011-01-06 11:16:56 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: pass all available data to subclass rather than minimum Also reduce some adapter calls and add a few debug statements. 2010-12-10 15:59:49 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: fix reverse playback handling 2010-12-10 14:56:13 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: minor typo and debug statement cleanup 2010-12-10 14:40:05 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: * gst/audioparsers/gstbaseparse.h: baseparse: reduce locking ... which is either already mute and/or implicitly handled by STREAM_LOCK. 2011-01-14 14:08:38 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: avoid loop in frame locating interpolation 2011-01-14 16:30:11 -0300 Thiago Santos * gst/audioparsers/gstbaseparse.c: audioparsers: baseparse: Be careful to not lose the event ref Don't unref the event if it hasn't been handled, because the caller assumes it is still valid and might reuse it. I ran into this problem when transcoding an AVI (with mp3 inside) to gpp. https://bugzilla.gnome.org/show_bug.cgi?id=639555 2011-01-13 16:27:04 +0000 Tim-Philipp Müller * gst/audioparsers/gstbaseparse.c: docs: minor baseparse docs/comment fixes Remove copy'n'paste leftovers. 2010-11-08 19:58:31 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: increase keyframe awareness ... which is not particular relevant for audio parsing, but more so in video cases. In particular, auto-determine if dealing with video (caps). 2010-11-30 15:41:02 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: avoid unexpected stray metadata 2010-11-30 15:40:28 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: use proper _NONE output value when applicable 2010-11-25 18:56:42 +0100 Edward Hervey * gst/audioparsers/gstbaseparse.c: audioparsers: Remove dead assignments 2010-11-25 17:14:23 +0100 Andoni Morales Alastruey * gst/audioparsers/gstbaseparse.c: audioparse: fix possible division-by-zero https://bugzilla.gnome.org/show_bug.cgi?id=635786 2010-11-17 16:23:42 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: use correct offset when adding index entry ... bearing in mind that BUFFER_OFFSET is media specific and may not reflect the basic offset after having been parsed. 2010-11-17 14:30:09 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: enhancements for timestamp marked framed formats That is, as such formats allow subclass to extract position from frame, it is possible to extract duration (if not otherwise provided) from (near) last frame, and a seek can fairly accurately target the required position. Fixes #631389. 2010-11-16 17:06:14 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: refactor frame scanning peformed by _loop 2010-11-16 18:04:00 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: slightly optimize sending of pending newsegment events 2010-11-16 17:04:35 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: minor fixes and enhancements Arrange for upstream as well as downstream flushing when seeking. Also determine upstream size as well as seekability. Adjust some comments to reality and employ debug statement in proper order. 2010-10-29 14:08:58 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: use only upstream duration if it provides one 2010-10-25 14:15:50 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: reflow update_bitrate code ... which makes local variables represent real state better, and avoids triggering unneeded updates/actions. 2010-10-25 14:13:51 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: add some debug statements 2010-10-11 17:49:46 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: perform bitrate handling and posting after newsegment sending 2010-10-11 17:36:19 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: immediately post subclass provided bitrate 2010-10-05 11:17:52 +0100 Tim-Philipp Müller * gst/audioparsers/gstbaseparse.c: Revert "baseparse: add skip property" This reverts commit b5a3d60363d837a10f0533c141ec93d10b742312. Reverting this for now, since no one really seems to remember why this property exists or what it could possibly be good for. It seems to have been in the original mp3parse since the beginning of time and was back- ported from there. 2010-10-03 23:50:29 +0200 Sebastian Dröge * gst/audioparsers/gstbaseparse.c: audioparser: Let the format string agree with the parameters to fix compiler warning 2010-09-22 15:44:43 +0530 Arun Raghavan * gst/audioparsers/gstbaseparse.c: baseparse: Fix debug output We lose the reference to the buffer after gst_pad_push(), so the debug print should happen before. https://bugzilla.gnome.org/show_bug.cgi?id=622276 2010-09-29 16:12:42 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: support reverse playback ... in pull mode or upstream driven. 2010-09-27 12:16:43 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: remove done TODOs and update documentation 2010-09-25 14:40:54 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: use determined seekability in answering SEEKING query 2010-09-25 14:32:06 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: add skip property 2010-09-22 15:07:09 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: * gst/audioparsers/gstbaseparse.h: baseparse: use _set_frame_props to configure frame lead_in and lead_out ... provided a corresponding decoder with sufficient leading and following frames to carry out full decoding for a particular segment. 2010-09-22 14:13:17 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: * gst/audioparsers/gstbaseparse.h: baseparse: use _set_duration to configure duration update interval ... as it logically belongs there as one or the other; either subclass can provide a duration, or an estimate must be made (reguarly updated). 2010-09-22 13:55:20 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: localize use of provided fps information 2010-09-22 12:13:12 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: seek table and accurate seek support 2010-09-21 13:57:10 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: proper and more extended segment and seek handling That is, loop pause handling, segment seek support, newsegment for gaps, etc 2010-09-21 10:57:04 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: * gst/audioparsers/gstbaseparse.h: baseparse: add index support 2010-09-21 09:59:56 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: refactor state reset 2010-09-20 16:39:37 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: prevent indefinite resyncing 2010-09-20 13:57:55 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: specific EOS handling if no output so far 2010-09-20 13:31:57 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: adjust _set_frame_prop documentation and set default as claimed 2010-09-20 13:30:54 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: fix bitrate copy-and-paste and update heuristic 2010-09-17 18:33:29 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: post duration message if average bitrates is updated 2010-09-17 18:24:22 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: * gst/audioparsers/gstbaseparse.h: baseparse: remove is_seekable vmethod and use a set_seek instead Seekability, like duration, etc is unlikely to change (frequently), and the default assumption covers most cases, so let subclass set when needed. At the same time, allow subclass to indicate if it has seek-metadata (table) available, and possibly have it provide an average bitrate. 2010-09-17 17:21:46 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: * gst/audioparsers/gstbaseparse.h: baseparse: add another hook for subclass prior to pushing buffer ... and allow subclass to perform custom segment clipping, or to emit tags or messages at this time. 2010-09-17 17:19:37 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: 0 converts to 0 by default 2010-09-16 18:56:46 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: * gst/audioparsers/gstbaseparse.h: baseparse: refactor conversion using helper function and export default convert 2010-09-16 18:35:47 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: streamline query handling 2010-09-16 11:51:20 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: * gst/audioparsers/gstbaseparse.h: baseparse: cleanup struct and remove unused member 2010-09-22 16:07:24 +0530 Arun Raghavan * gst/audioparsers/gstbaseparse.c: baseparse: Allow chaining of subclass event handlers This allows the child class to chain its event handler with GstBaseParse, so that subclasses don't have to duplicate all the default event handling logic. https://bugzilla.gnome.org/show_bug.cgi?id=622276 2010-08-27 18:35:10 +0200 Sebastian Dröge * gst/audioparsers/gstbaseparse.c: baseparse: Don't use GST_FLOW_IS_FATAL() Also don't post an error message for UNEXPECTED and do it for NOT_LINKED. 2010-09-06 14:12:00 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: non-TIME seek event is simply not handled 2010-06-15 15:34:05 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: fix seek event ref handling 2010-06-15 15:33:37 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: prevent arithmetic overflows in pull mode buffer cache handling 2010-06-15 15:32:34 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: fix seek handling Allow a few more seek event type combinations, and really use the result of gst_segment_set_seek to perform the seek. Also add some debug. 2010-03-26 18:56:49 +0000 Arun Raghavan * gst/audioparsers/gstbaseparse.c: baseparse: Don't emit bitrate tags too early We wait to parse a minimum number of frames (10, arbitrarily) before emiting bitrate tags so that our early estimates are not wildly inaccurate for streams that start with a silence. If the stream ends before that, we just emit the tags anyway. While it _would_ be nicer to be specify the threshold to start pushing the tags in terms of duration, this would introduce more complexity than this merits. https://bugzilla.gnome.org/show_bug.cgi?id=614991 2010-03-26 18:20:24 +0100 Sebastian Dröge * gst/audioparsers/gstbaseparse.c: baseparse: Set the last stop to the buffer starttime if the duration is invalid ...instead of not setting it at all. 2010-03-26 18:19:00 +0100 Joshua M. Doe * gst/audioparsers/gstbaseparse.c: baseparse: Send NEWSEGMENT event with correct start and position Instead of taking the last stop (which could be buffer endtime instead of starttime) always take the buffer starttime. Fixes bug #614016. 2010-03-25 17:09:17 +0000 Tim-Philipp Müller * gst/audioparsers/gstbaseparse.c: * gst/audioparsers/gstbaseparse.h: audioparsers: remove unused GstBaseParseClassPrivate structure 2010-03-25 11:22:58 +0000 Arun Raghavan * gst/audioparsers/gstbaseparse.c: * gst/audioparsers/gstbaseparse.h: audioparsers: Add bitrate calculation to baseparse This makes baseparse keep a running average of the stream bitrate, as well as the minimum and maximum bitrates. Subclasses can override a vfunc to make sure that per-frame overhead from the container is not accounted for in the bitrate calculation. We take care not to override the bitrate, minimum-bitrate, and maximum-bitrate tags if they have been posted upstream. We also rate-limit the emission of bitrate so that it is only triggered by a change of >10 kbps. 2010-01-14 11:50:33 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: audioparsers: rename baseparse GType name to avoid possible conflicts 2010-01-05 15:05:05 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: audioparsers: documentation fixes 2009-12-21 18:18:39 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: adjust seek handling and newsegment sending Perform sanity check on type of seek, and only perform one that is appropriately supported. Adjust downstream newsegment event to first buffer timestamp that is sent downstream. 2009-12-21 11:59:45 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: minor refactor cleanup Also add some debug logging. 2009-12-18 21:02:40 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: implement leftover draining in pull mode 2009-12-16 18:38:33 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: provide default conversion using bps if no fps available Also store estimated duration as such, rather than pretending otherwise (e.g. set by subclass). 2009-12-18 13:30:29 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: check for remaining data when draining in push mode 2009-12-18 13:30:07 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: fix pull mode cache size comparison 2009-12-11 10:25:16 -0800 Michael Smith * gst/audioparsers/gstbaseparse.c: audioparse: fix a format string as reported on irc. 2009-10-29 15:18:37 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: * gst/audioparsers/gstbaseparse.h: baseparse: custom bufferflag indicates not to count frame in stats 2009-11-27 17:27:32 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: audioparsers: reference GstBaseParse now lives here 2009-11-28 18:13:31 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: * gst/audioparsers/gstbaseparse.h: audioparsers: rename 'aacparse' plugin to generic 'audioparsers' plugin 2009-10-29 16:05:00 +0100 Mark Nauwelaerts * gst/aacparse/gstbaseparse.c: baseparse: reset passthrough mode to default (disabled) on activation 2009-10-29 15:16:59 +0100 Mark Nauwelaerts * gst/aacparse/gstbaseparse.c: baseparse: ensure buffer metadata is writable 2009-10-28 14:06:13 +0100 Mark Nauwelaerts * gst/aacparse/gstbaseparse.c: * gst/aacparse/gstbaseparse.h: baseparse: fix/enhance DISCONT marking In particular, consider DISCONT == !sync, and allow subclass to query sync state, as it may want to perform additional checks depending on whether sync was achieved earlier on. Also arrange for subclass to query whether leftover data is being drained. 2009-11-23 15:48:25 +0100 Mark Nauwelaerts * gst/aacparse/gstbaseparse.c: * gst/aacparse/gstbaseparse.h: baseparse: add timestamp handling, and default conversion In particular, (optionally) provide baseparse with a notion of frames per second (and therefore also frame duration) and have it track frame and byte counts. This way, subclass can provide baseparse with fps and have it provide default buffer time metadata and conversions, though subclass can still install callbacks to handle such itself. 2009-10-28 12:02:03 +0100 Mark Nauwelaerts * gst/aacparse/gstbaseparse.c: baseparse: documentation fixes 2009-10-28 12:00:08 +0100 Mark Nauwelaerts * gst/aacparse/gstbaseparse.c: baseparse: use_fixed_caps for src pad After all, stream is as-is, and there is little molding to downstream's taste that can be done. If subclass can and wants to do so, it can still override as such. 2009-11-20 17:32:13 +0100 Julien Moutte * gst/aacparse/gstbaseparse.c: aacparse: Fix compilation warnings 2009-10-11 11:22:11 +0200 Josep Torra * gst/aacparse/gstbaseparse.c: aacparse: fix warnings in macosx snow leopard 2009-09-25 17:02:53 +0200 Mark Nauwelaerts * gst/aacparse/gstbaseparse.c: * gst/aacparse/gstbaseparse.h: aacparse: forego (bogus) parsing of already parsed (raw) input 2009-08-07 13:07:17 +0200 Mark Nauwelaerts * gst/aacparse/gstbaseparse.c: baseparse: prevent infinite loop when draining 2009-08-07 13:06:28 +0200 Mark Nauwelaerts * gst/aacparse/gstbaseparse.c: baseparse: fix minor memory leak 2009-07-14 14:08:04 +0200 Sebastian Dröge * gst/aacparse/gstbaseparse.c: * gst/aacparse/gstbaseparse.h: aacparse: Add function for the baseparse subclass to push buffers downstream Also handle the case gracefully where the subclass decides to drop the first buffers and has no caps set yet. It's still required to have valid caps set when the first buffer should be passed downstream. 2009-07-14 14:07:44 +0200 Sebastian Dröge * gst/aacparse/gstbaseparse.c: baseparse: Fix seek event leaking 2009-06-01 13:56:18 +0100 Tim-Philipp Müller * gst/aacparse/gstbaseparse.c: baseparse: propagate return value of GstBaseParse::set_sink_caps() gst_base_parse_sink_setcaps() presumably should fail if the subclass returns FALSE from its ::set_sink_caps() function. 2009-06-01 13:47:01 +0100 Tim-Philipp Müller * gst/aacparse/gstbaseparse.c: baseparse: don't try to GST_LOG an already-freed caps string The proper way to log caps is via GST_PTR_FORMAT anyway. 2009-05-26 19:43:53 +0200 Mark Nauwelaerts * gst/aacparse/gstbaseparse.c: baseparse: fix debug category 2009-04-27 22:39:15 +0200 Mark Nauwelaerts * gst/aacparse/gstbaseparse.c: baseparse: fix (regression in) newsegment handling (aacparse, amrparse, flacparse). Fixes #580133. 2009-04-07 04:53:02 +0300 René Stadler * gst/aacparse/gstbaseparse.c: baseparse: Fix slightly broken buffer-in-segment check (aacparse, amrparse, flacparse) 2009-04-05 03:50:19 +0300 René Stadler * gst/aacparse/gstbaseparse.c: baseparse: Fix push mode seeking (aacparse, amrparse) Sending the flush-start event forward before taking the stream lock actually works, in contrast to deadlocking in downstream preroll_wait (hunk 1). After that we get the chain function being stuck in a busy loop. This is fixed by updating the minimum frame size inside the synchronization loop because the subclass asks for more data in this way (hunk 2). Finally, this leads to a very probable crash because the subclass can find a valid frame with a size greater than the currently available data in the adapter. This makes the subsequent gst_adapter_take_buffer call return NULL, which is not expected (hunk 3). 2009-03-31 16:07:46 +0200 Mark Nauwelaerts * gst/aacparse/gstbaseparse.c: baseparse: Delay newsegment as long as possible. If newsegment is sent (too) early, caps may not yet be fixed/set, and downstream may not have been linked. 2009-02-27 11:24:37 +0200 Stefan Kost * gst/aacparse/gstbaseparse.c: baseparse: revert last change and properly fix Baseparse internaly breaks the semantics of a _chain function by calling it with buffer==NULL. The reson I belived it was okay to remove it was that there is also an unchecked access to buffer later in _chain. Actually that code is wrong, as it most probably wants to set discont on the outgoing buffer. 2009-02-26 11:02:06 +0200 Stefan Kost * gst/aacparse/gstbaseparse.c: baseparse: remove checks for buffer==NULL Accordifn to docs for GstPadChainFunction buffer cannot be NULL. If we would leave the check, we would also need more such check below. 2009-01-30 18:18:10 +0000 Jan Schmidt * gst/aacparse/gstbaseparse.c: Fix the return value of the default parse_frame function. Fix the return value of the default parse_frame function in both copies of GstBaseParse 2008-11-13 14:21:39 +0000 Stefan Kost gst/: Fix baseparse type name. Original commit message from CVS: * gst/aacparse/gstbaseparse.c: * gst/amrparse/gstbaseparse.c: Fix baseparse type name. 2008-11-13 12:59:34 +0000 Stefan Kost Add two new baseparse based parsers (aac and amr) from Bug #518857. Original commit message from CVS: * configure.ac: * gst/aacparse/Makefile.am: * gst/aacparse/gstaacparse.c: * gst/aacparse/gstaacparse.h: * gst/aacparse/gstbaseparse.c: * gst/aacparse/gstbaseparse.h: * gst/amrparse/Makefile.am: * gst/amrparse/gstamrparse.c: * gst/amrparse/gstamrparse.h: * gst/amrparse/gstbaseparse.c: * gst/amrparse/gstbaseparse.h: Add two new baseparse based parsers (aac and amr) from Bug #518857. 2011-03-20 00:56:08 +0100 Havard Graff * plugins/elements/gstqueue.c: * plugins/elements/gstqueue2.c: queue[2]: Make src query MT-safe It is possible that the element might be going down while the event arrives 2011-03-20 00:56:08 +0100 Havard Graff * libs/gst/base/gstbasesrc.c: basesrc: Make src query MT-safe It is possible that the element might be going down while the event arrives 2011-04-08 14:56:37 +0200 Sebastian Dröge * plugins/elements/gstqueue.c: * plugins/elements/gstqueue2.c: queue[2]: Unref events if the parent element disappeared 2011-03-21 16:01:05 +0100 Havard Graff * plugins/elements/gstqueue.c: * plugins/elements/gstqueue2.c: queue[2]: Make upstream events MT-safe 2011-04-08 14:55:09 +0200 Sebastian Dröge * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: base: Unref events if the parent element disappeared And also unref events if the basetransform subclass has no event handler and the event is not forwarded at all. 2011-03-21 16:01:05 +0100 Havard Graff * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: base: Make upstream events MT-safe 2011-03-29 11:57:06 +0200 Stian Selnes * plugins/elements/gstqueue.c: * plugins/elements/gstqueue2.c: gstqueue, gstqueue2: check if parent of pad is NULL in _getcaps Parent of the pad (the queue) may be set to NULL while there is a buffer alloc going on. 2011-04-08 14:50:10 +0200 Sebastian Dröge * plugins/elements/gstinputselector.c: inputselector: Fix getcaps and event function from last commit Return ANY caps if the parent disappeared, i.e. the template caps and don't leak events if the parent disappeared. 2011-04-01 08:46:14 +0200 Havard Graff * plugins/elements/gstinputselector.c: inputselector: Protect against pad-parent disappearing 2010-12-14 16:06:46 +0100 Stian Selnes * gst/gstiterator.c: iterator: resync to avoid infinite loop 2011-04-08 09:20:28 +0200 Sebastian Dröge * tests/check/gst/gstutils.c: utils: Fix uninitialized variable compiler warnings 2011-04-08 09:15:10 +0200 Sebastian Dröge * gst/gstbus.c: bus: Removed unused GCond 2011-04-08 09:07:59 +0200 Sebastian Dröge * plugins/elements/gstmultiqueue.c: multiqueue: Add another check for the flushing flag after taking the lock This prevents another potential deadlock when flushing the pad at exactly the right time. 2011-04-07 11:24:35 +0200 Sebastian Dröge * gst/gstbus.c: bus: Immediately drop messages after calling the sync handler if this is a synchronous bus Otherwise we might wait forever for the message to be popped from the queue if a sync handler returned GST_BUS_ASYNC. https://bugzilla.gnome.org/show_bug.cgi?id=647005 2011-04-07 11:19:57 +0200 Sebastian Dröge * gst/gst_private.h: * gst/gstbin.c: * gst/gstbus.c: bus: Use a construct-only property to distinguish between child buses and normal buses This allows to only create the socketpair when it is really required instead of always creating it and immediately destroying it again for child buses. https://bugzilla.gnome.org/show_bug.cgi?id=647005 2011-04-07 20:47:25 +0100 Tim-Philipp Müller * tests/check/Makefile.am: * tests/check/elements/.gitignore: * tests/check/elements/queue2.c: tests: add some basic unit tests for queue2 2011-04-07 20:45:22 +0100 Tim-Philipp Müller * plugins/elements/gstqueue2.c: queue2: fix buffer leak on eos when using the ring buffer 2011-01-11 14:27:35 +0100 Idar Tollefsen * plugins/elements/gstqueue2.c: queue2: Fixes memory leak on out_flushing error in gst_queue2_create_read. https://bugzilla.gnome.org/show_bug.cgi?id=646972 2011-04-07 19:44:44 +0100 Tim-Philipp Müller * plugins/elements/gstqueue2.c: queue2: fix minor memory leak 2011-04-07 17:34:10 +0100 Tim-Philipp Müller * plugins/elements/gstfunnel.c: funnel: minor element description fix 2011-04-07 16:13:56 +0200 Wim Taymans Merge branch 'master' into 0.11 2011-04-07 16:02:43 +0200 Wim Taymans * gst/gstbuffer.c: * gst/gstmemory.h: memory: add NO_SHARE flag to memory Add a NO_SHARE flag to memory to indicate that it should not be shared between buffers. 2011-04-07 16:08:34 +0300 Stefan Kost * docs/random/draft-missing-plugins.txt: docs: remove file as we have docs/design/part-missing-plugins.txt 2011-04-07 10:48:04 +0200 Sebastian Dröge * libs/gst/base/gstbasesrc.c: basesrc: Handle tag and custom downstream events the same Especially drop tag events when flushing to not send them over and over again. Should've been in the last commit already but I forgot to call git rebase --continue... 2011-04-07 10:40:16 +0200 Sebastian Dröge * libs/gst/base/gstbasesrc.c: bla 2011-04-07 10:29:41 +0200 Sebastian Dröge * libs/gst/base/gstbasesrc.c: basesrc: Send syncronized custom downstream/both events downstream from the streaming thread Instead of just silently dropping them. The same was done for tag events before already. Fixes bug #635718. 2011-04-06 19:19:55 +0200 Wim Taymans * gst/gstmemory.c: memory: don't follow the parent in the fallback share 2011-04-06 18:57:57 +0200 Wim Taymans * gst/gstbuffer.c: * gst/gstminiobject.c: buffer: make memory writable in _peek Make the memory writable when we are asked to _peek with MAP_WRITE. Improve debugging of miniobject. 2011-04-06 16:37:40 +0200 Wim Taymans * gst/gstminiobject.c: miniobject: fix debug 2011-04-06 14:20:59 +0200 Sebastian Dröge Merge branch 'master' into 0.11 2011-04-06 14:06:49 +0200 Sebastian Dröge * gst/gst_private.h: * gst/gstbin.c: * gst/gstbus.c: bus: Add private API to set a GstBus in child mode This is used by GstBin to create a child bus without a socketpair because child buses will always work synchronous. Otherwise too many sockets could be created and the limit of file descriptors for the process could be reached. Fixes bug #646624. 2011-04-06 13:56:49 +0200 Sebastian Dröge * gst/gstbus.c: Revert "bus: Only create the signalling socket pair when required" This reverts commit 4bf8f1524f6e3374b3f3bc57322337723d06b928. 2011-04-06 13:56:46 +0200 Sebastian Dröge * gst/gstbus.c: Revert "bus: Check if pending messages are in the queue" This reverts commit bd1c40011434c1efaa696dc98ef855ef9cce9b28. 2011-04-06 11:38:57 +0100 Tim-Philipp Müller * tests/check/gst/gstbin.c: checks: make tests_many_bins in bin unit test a bit faster Not doing expensive checks when linking elements makes things much faster. 2011-04-06 11:30:18 +0100 Tim-Philipp Müller * tests/check/gst/gstbin.c: checks: add some queues to test_many_bins unit test To limit the number of calls in a row per thread. 2011-04-06 12:03:18 +0200 Sebastian Dröge * gst/gstbus.c: bus: Check if pending messages are in the queue We can't rely completely on the poll fd because the fd might be created after messages were posted to the bus. 2011-04-06 11:45:27 +0200 Sebastian Dröge * tests/check/gst/gstvalue.c: value: GstDate/GDate has a abbreviation now 2011-04-03 16:11:50 +0100 Tim-Philipp Müller * tests/check/gst/gstbin.c: checks: add GstBin unit test that creates a lot of bins Currently fails (in normal circumstances) because we create a socket pair for each bin's bus and exhaust the number of available file descriptors. https://bugzilla.gnome.org/show_bug.cgi?id=646624 2011-04-05 16:22:48 +0200 Sebastian Dröge * gst/gstbus.c: bus: Only create the signalling socket pair when required Otherwise a new one would be created for every single bus and the process could easily run out of file descriptors. Fixes bug #646624. 2011-04-05 14:36:43 +0200 Sebastian Dröge * gst/gststructure.c: structure: Add date as a type abbreviation of GDate See bug #646696. 2011-04-04 15:56:30 +0300 Stefan Kost * common: Automatic update of common submodule From 1ccbe09 to c3cafe1 2011-04-04 11:17:28 +0200 Wim Taymans Merge branch 'master' into 0.11 2011-04-04 03:33:46 +0200 Andoni Morales Alastruey * gst/gstpoll.c: gstpoll: retry reading the control socket to release properly all wakeups if set->control_pending is set to 0 but we didn't not succed reading the control socket, future calls to gst_poll_wait() will be awaiken by the control socket which will not be released properly because set->control_pending is already 0, causing an infinite loop. 2011-04-04 10:18:14 +0200 Sebastian Dröge * gst/gststructure.c: structure: Don't allow invalid GDates in all structures and don't allow NULL GDates in taglists Some code (e.g. gstvorbistag.c) assumes non-NULL GDates in taglists and explodes otherwise and NULL or invalid GDates don't make much sense anyway. 2011-03-25 15:56:07 +0100 Thomas Kristensen * gst/gstpoll.c: poll: don't call WSAWaitForMultipleEvents with no events Fixes error caught by Microsoft Application Verifier. 2011-04-03 16:18:54 +0100 Tim-Philipp Müller * gst/gstevent.h: docs: add pointer to part-seeking.txt design docs to event seek flags docs 2011-04-03 16:18:14 +0100 Tim-Philipp Müller * tests/check/elements/.gitignore: checks: ignore new funnel unit test binary 2011-04-02 14:51:18 +0100 Bastien Nocera * gst/gstutils.h: utils: Avoid using "type" as name for a variable and a macro argument in GST_BOILERPLATE This caused "re-declaration" problems. ./clutter-gst-video-sink.c: In function ‘clutter_gst_video_sink_init_interfaces’: ./clutter-gst-video-sink.c:231:1: warning: declaration of ‘ClutterGstVideoSink’ shadows a global declaration [-Wshadow] ./clutter-gst-video-sink.h:64:44: warning: shadowed declaration is here [-Wshadow] https://bugzilla.gnome.org/show_bug.cgi?id=646531 2011-04-01 13:56:09 +0200 Sebastian Dröge * gst/gstelement.c: element: When requesting an existing pad print a g_critical() instead of using an assertion Some applications are requesting the same pad name multiple times and the behaviour is undefined and different from element to element but we don't want to break applications that work just fine. In 0.11 this check should be an assertion again, although elements have to do manual checking if the pad already exists again because it can't be done in a threadsafe way here. 2011-04-01 13:53:39 +0200 Sebastian Dröge * gst/gstelement.c: element: Use gint64/guint64 string parsing functions And check that the requested pad names are inside the valid gint/guint range. 2011-04-01 13:51:31 +0200 Josep Torra * gst/gstelement.c: element: strto[u]l() returns a g[u]long 2011-04-01 10:47:48 +0200 Wim Taymans Merge branch 'master' into 0.11 2011-04-01 10:46:06 +0200 Wim Taymans * docs/random/porting-to-0.11.txt: docs: update porting guide with bufferlist changes 2011-03-31 19:25:30 +0100 Tim-Philipp Müller * docs/design/part-seeking.txt: design docs: document expected behaviour for ACCURATE and KEY_UNIT seek flags 2011-03-31 18:39:57 +0200 Wim Taymans * libs/gst/base/gstbytewriter.c: bytewriter: don't add NULL data 2011-03-31 17:55:22 +0200 Wim Taymans Merge branch 'master' into 0.11 Conflicts: tests/check/gst/struct_x86_64.h 2011-03-31 17:51:02 +0200 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gst.c: * gst/gstbufferlist.c: * gst/gstbufferlist.h: * gst/gstpad.c: * libs/gst/base/gstbasesink.c: * tests/check/gst/gstbufferlist.c: * tests/check/gst/gstpad.c: * win32/common/libgstreamer.def: bufferlist: simplify bufferlists We now have multiple memory blocks as part of the buffers and we can therefore reduce the bufferlist to a simple array of buffers. 2011-03-31 10:53:03 +0200 Sebastian Dröge * tests/check/gst/struct_x86_64.h: gstabi: Add some new structures for x86-64 2011-03-31 10:46:40 +0200 Sebastian Dröge * tests/check/libs/libsabi.c: * tests/check/libs/struct_x86_64.h: libsabi: Add lots of new structures for x86-64 2011-03-31 10:31:22 +0200 Wim Taymans * docs/random/porting-to-0.11.txt: docs: update porting doc 2011-03-30 20:05:26 +0200 Wim Taymans * plugins/elements/gstfunnel.c: funnel: fix for API change 2011-03-30 19:58:52 +0200 Wim Taymans Merge branch 'master' into 0.11-fdo Conflicts: docs/plugins/gstreamer-plugins.hierarchy gst/gstelement.c 2011-03-30 19:01:13 +0200 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstmeta.c: docs: update docs 2011-03-30 18:45:08 +0200 Wim Taymans * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * docs/plugins/gstreamer-plugins.hierarchy: * gst/gstmemory.c: * gst/gstmemory.h: * win32/common/libgstreamer.def: docs: update documentation 2011-03-30 16:47:55 +0200 Wim Taymans * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstcompat.h: * gst/gstmemory.c: * gst/gstmemory.h: * libs/gst/base/gstadapter.c: * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstcollectpads.c: * plugins/elements/gstcapsfilter.c: * plugins/elements/gstfakesrc.c: * tests/check/gst/gstbuffer.c: * tests/check/gst/gstmeta.c: * tests/check/libs/adapter.c: * win32/common/libgstreamer.def: buffer: more API tweaks _trim -> _resize _create_sub -> copy_region 2011-03-30 15:29:39 +0200 Wim Taymans * docs/design/part-buffer.txt: * docs/design/part-bufferlist.txt: design: update design docs 2011-03-30 13:04:34 +0200 Wim Taymans * docs/design/part-meta.txt: * gst/gstbuffer.c: design: update docs 2011-03-30 10:48:47 +0200 Sebastian Dröge * plugins/elements/gstmultiqueue.c: * tests/check/elements/multiqueue.c: multiqueue: Make assignment of queue IDs and pad names threadsafe Also add a test for naming pads by the caller and return NULL when requesting an already existing pad. 2011-03-29 23:58:43 +0200 Andreas Frisch * plugins/elements/gstmultiqueue.c: multiqueue: Set the single queue ID to the ID of the requested pad if one was given by the caller 2011-03-29 19:17:55 +0200 Wim Taymans * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstmemory.c: * gst/gstmemory.h: * win32/common/libgstreamer.def: memory: further memory tweaking Allow for automatic merging of memory block in the _map function and automatic freeing of the temporary memory. Remove some unneeded functions. Add possibility to force writable spanned memory. 2011-03-29 17:17:46 +0200 Wim Taymans * gst/gstbuffer.c: buffer: implement COPY_MERGE 2011-03-29 16:52:21 +0200 Wim Taymans * gst/gstbuffer.c: * gst/gstmemory.c: * gst/gstmemory.h: * win32/common/libgstreamer.def: buffer: clean up _span and add more g_return_if.. 2011-03-29 16:22:46 +0200 Sebastian Dröge * gst/gstelement.c: element: Fix sanity checks for request pad templates without % 2011-03-29 13:51:25 +0200 Wim Taymans * gst/gstbuffer.c: * gst/gstbuffer.h: buffer: optimize memory handling 2011-03-29 11:57:58 +0200 Sebastian Dröge * gst/gstelement.c: element: Add some more sanity checks to the pad name checking of request pads in all cases Especially check if a pad with that name already exists. 2011-03-29 11:52:06 +0200 Sebastian Dröge * gst/gstelement.c: element: Check %u too when trying to find a pad template for a request pad 2011-03-29 11:31:30 +0200 Wim Taymans * gst/gstbuffer.c: * gst/gstbuffer.h: buffer: move implementation details in private struct 2011-03-28 21:01:13 +0200 Fraxinas * plugins/elements/gstmultiqueue.c: multiqueue: Fix arbitrary sink + source pad naming Use the string provided by the caller for the sinkpad name if possible. Note that all sanity checking for this name is already done in GstElement. Fixes Bug #645931 2011-03-29 11:18:36 +0200 Sebastian Dröge * plugins/elements/gstfunnel.c: funnel: Add some more documentation about the behaviour of funnel 2011-03-29 11:08:57 +0200 Sebastian Dröge * plugins/elements/gstfunnel.c: funnel: Send a newsegment event after flush-stop 2011-03-29 11:07:48 +0200 Sebastian Dröge * plugins/elements/gstfunnel.c: funnel: Some random cleanup 2011-03-29 10:56:00 +0200 Sebastian Dröge * plugins/elements/gstfunnel.c: funnel: Use a GstPad subclass for the sinkpads instead of using the pad's element private data 2011-03-29 10:42:31 +0200 Sebastian Dröge * docs/plugins/gstreamer-plugins-docs.sgml: * docs/plugins/gstreamer-plugins-sections.txt: * docs/plugins/gstreamer-plugins.hierarchy: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-staticelements.xml: * plugins/elements/Makefile.am: * plugins/elements/gstelements.c: * plugins/elements/gstfunnel.c: * plugins/elements/gstfunnel.h: * tests/check/Makefile.am: * tests/check/elements/funnel.c: funnel: Integrate into the build system and rename the types 2011-03-29 10:39:42 +0200 Sebastian Dröge * plugins/elements/gstfunnel.c: * plugins/elements/gstfunnel.h: * tests/check/elements/funnel.c: funnel: Import funnel element from farsight2 2011-03-29 11:07:36 +0200 Wim Taymans * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstpad.c: * plugins/elements/gstfdsrc.c: * plugins/elements/gstfilesrc.c: * tests/check/gst/gstbuffer.c: * win32/common/libgstreamer.def: buffer: more buffer updates 2011-03-28 20:20:39 +0200 Wim Taymans * win32/common/libgstreamer.def: defs: fix defs 2011-03-28 20:11:20 +0200 Wim Taymans Merge branch 'master' into 0.11-fdo Conflicts: gst/gst.c libs/gst/base/gstcollectpads.c 2011-03-28 19:19:44 +0200 Wim Taymans * gst/gstbuffer.c: * gst/gstmemory.c: * libs/gst/base/gstbasetransform.c: buffer: fix subbuffers 2011-03-28 16:40:24 +0200 Wim Taymans * gst/gstbuffer.c: buffer: implemet trim and set_size 2011-03-28 15:52:17 +0200 Wim Taymans * gst/gstbuffer.c: * gst/gstbuffer.h: * libs/gst/check/Makefile.am: * libs/gst/check/gstcheck.c: * libs/gst/check/gstcheck.h: * win32/common/libgstreamer.def: buffer: more fixes 2011-03-28 10:28:02 +0200 Wim Taymans * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstmemory.h: buffer: add more methods 2011-03-24 21:21:00 +0100 Wim Taymans * gst/gst.c: gst: add class init 2011-03-24 21:18:52 +0100 Wim Taymans * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstbufferlist.c: * gst/gstmeta.c: * gst/gstmeta.h: * libs/gst/base/gstadapter.c: * tests/check/elements/filesrc.c: * tests/check/gst/gstmeta.c: * tests/check/gst/gstpad.c: * tests/check/libs/adapter.c: * win32/common/libgstbase.def: * win32/common/libgstreamer.def: buffer: fix remaining unit tests 2011-03-24 20:09:02 +0100 Wim Taymans * gst/gstbuffer.c: * tests/check/gst/gstbuffer.c: buffer: fix unit test 2011-03-24 13:01:00 +0100 Wim Taymans * gst/gst.c: * gst/gstmeta.c: * gst/gstmeta.h: * libs/gst/base/gstadapter.c: * tests/check/gst/gstbufferlist.c: * tests/check/gst/gstmeta.c: * tests/check/gst/gstpad.c: memory: remove memory metadata again 2011-03-24 11:49:46 +0100 Wim Taymans * gst/gstbuffer.c: * gst/gstmemory.c: * tests/check/libs/adapter.c: memory: more fixes Automatically make the memory of a buffer writable when the buffer is writable and the memory is asked to mapped WRITE. Add docs 2011-03-23 20:52:27 +0100 Wim Taymans * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstmemory.c: * gst/gstmemory.h: * gst/gstminiobject.c: * gst/gstminiobject.h: * libs/gst/base/gstadapter.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstbytewriter.c: * plugins/elements/gstcapsfilter.c: * plugins/elements/gstfakesrc.c: * plugins/elements/gstidentity.c: * plugins/elements/gstinputselector.c: * plugins/elements/gstqueue.c: * plugins/elements/gsttypefindelement.c: * plugins/elements/gstvalve.c: * tests/check/gst/gstbuffer.c: * tests/check/gst/gstminiobject.c: * tests/check/libs/bitreader.c: * tests/check/libs/bytereader.c: * tests/check/libs/typefindhelper.c: memory: more work on implementing buffer memory 2011-03-22 20:51:06 +0100 Wim Taymans * gst/gst.c: * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstmemory.c: * gst/gstmemory.h: * tests/check/gst/gstbuffer.c: * tests/check/libs/adapter.c: * tests/check/libs/bitreader.c: * tests/check/libs/bytereader.c: * tests/check/libs/test_transform.c: * tests/check/libs/transform1.c: memory: more work on porting the unit tests 2011-03-21 19:15:27 +0100 Wim Taymans * tests/check/elements/fakesrc.c: * tests/check/elements/filesink.c: * tests/check/elements/filesrc.c: * tests/check/elements/identity.c: * tests/check/elements/multiqueue.c: * tests/check/gst/gstbuffer.c: * tests/check/gst/gstbufferlist.c: * tests/check/gst/gstelementfactory.c: * tests/check/gst/gstmeta.c: * tests/check/gst/gstminiobject.c: * tests/check/gst/gstpad.c: * tests/check/gst/gststructure.c: * tests/check/gst/gsttag.c: * tests/check/gst/gstvalue.c: * tests/check/libs/typefindhelper.c: tests: make some tests compile 2011-03-21 18:13:55 +0100 Wim Taymans * docs/manual/advanced-dataaccess.xml: * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gsttypefind.c: * gst/gsttypefind.h: * gst/gstutils.c: * gst/gstvalue.c: * libs/gst/base/gstadapter.c: * libs/gst/base/gstadapter.h: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstbasetransform.h: * libs/gst/base/gstbitreader.c: * libs/gst/base/gstbitreader.h: * libs/gst/base/gstbytereader.c: * libs/gst/base/gstbytereader.h: * libs/gst/base/gstbytewriter.c: * libs/gst/base/gstbytewriter.h: * libs/gst/base/gstcollectpads.c: * libs/gst/base/gstcollectpads.h: * libs/gst/base/gsttypefindhelper.c: * libs/gst/base/gsttypefindhelper.h: * libs/gst/check/gstcheck.c: * libs/gst/dataprotocol/dataprotocol.c: * plugins/elements/gstcapsfilter.c: * plugins/elements/gstfakesink.c: * plugins/elements/gstfakesrc.c: * plugins/elements/gstfdsink.c: * plugins/elements/gstfdsrc.c: * plugins/elements/gstfilesink.c: * plugins/elements/gstfilesrc.c: * plugins/elements/gstidentity.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstqueue.c: * plugins/elements/gstqueue2.c: * plugins/elements/gsttee.c: * plugins/elements/gsttypefindelement.c: * plugins/elements/gsttypefindelement.h: * tests/examples/adapter/adapter_test.c: * tools/gst-launch.c: memory: port code to new buffer data API 2011-03-21 13:07:42 +0100 Wim Taymans * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstbufferlist.c: * gst/gstbufferpool.c: * gst/gstmemory.c: * gst/gstmemory.h: * gst/gstmeta.c: * gst/gstpad.c: memory: more fixes Fix span and is_span Implement buffer memory 2011-03-21 09:51:53 +0100 Wim Taymans * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstmemory.h: WIP use memory in buffer 2011-03-20 11:42:39 +0100 Wim Taymans * gst/gstmemory.c: * gst/gstmemory.h: memory: more improvements 2011-03-19 10:45:37 +0100 Wim Taymans * gst/gstmemory.c: * gst/gstmemory.h: memory: more memory improvements 2011-03-18 21:45:39 +0100 Wim Taymans * gst/gstmemory.c: * gst/gstmemory.h: memory: add more memory operations 2011-03-18 19:28:17 +0100 Wim Taymans * gst/Makefile.am: * gst/gst.h: * gst/gstmemory.c: * gst/gstmemory.h: memory: add memory implementation 2011-03-18 18:35:42 +0100 Wim Taymans * gst/gstmemory.h: memory: add API for handling memory blocks Adds some API to handle memory blocks. 2011-03-08 18:18:24 +0000 Wim Taymans * gst/gstmeta.h: meta: fix docs 2011-03-28 21:21:00 +0530 Arun Raghavan * gst/gstbin.c: * libs/gst/base/gstbasesrc.c: basesrc: Return FALSE if we don't handle an event basesrc's default event handler returns TRUE regardless of whether the event is handled or not. This fixes the handler to conform with the expected behaviour (which is to only return TRUE when the event has actually benn handled). gst_bin_do_latency_func() depended on this (incorrect) behaviour, and is now modified as well. (Remaining 1-liner change in gstbasesrc.c is to keep gst-indent happy) 2011-03-25 22:08:41 +0100 Sebastian Dröge * common: Automatic update of common submodule From 193b717 to 1ccbe09 2011-03-25 14:55:39 +0200 Stefan Kost * common: Automatic update of common submodule From b77e2bf to 193b717 2011-03-25 09:27:58 +0100 Sebastian Dröge * common: Automatic update of common submodule From d8814b6 to b77e2bf 2011-03-25 08:59:37 +0100 Sebastian Dröge * common: Automatic update of common submodule From 6aaa286 to d8814b6 2011-03-24 18:48:41 +0200 Stefan Kost * common: Automatic update of common submodule From 6aec6b9 to 6aaa286 2011-03-24 18:27:09 +0200 Stefan Kost * docs/plugins/gstreamer-plugins-sections.txt: * plugins/elements/gstqueue.h: docs: fix some gtk-doc warnings Document the queue leaky enums. 2011-03-24 18:25:08 +0200 Stefan Kost * plugins/elements/gstqueue2.c: queue2: set max value for to the matching one for the datatype The property is guint64, so use G_MAXUINT64 instead of G_MAXUINT. 2011-03-24 13:22:57 +0200 Stefan Kost * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasesrc.h: * libs/gst/base/gstbasetransform.h: * libs/gst/base/gstcollectpads.c: docs: cleanup and xref fixes Deal with the hints from gtk-doc and fix the xrefs. Apply a work-around for () precedence over @. Move "MT Safe" text to doc body in many places. Trim eol whitespaces. 2011-03-23 16:42:24 +0200 Stefan Kost * libs/gst/base/gstbasesink.c: basesink: print flow return as a name in debug log 2011-03-23 17:13:58 +0200 Stefan Kost * docs/libs/Makefile.am: * docs/plugins/Makefile.am: docs: do xrefs for non installed books too Get the xrefs from the builddir for the books in the same packages. This fixes the cross references if one does not have the docs already installed. 2010-04-19 20:39:53 +0200 Edward Hervey * libs/gst/base/gstbasesrc.c: basesrc: Keep downstream caps order when fixating This allows use to use the first intersecting format prefered by downstream. https://bugzilla.gnome.org/show_bug.cgi?id=617045 2010-04-19 20:40:56 +0200 Edward Hervey * libs/gst/base/gstbasetransform.c: basetransform: Retain caps order when getting caps If the element gave us caps in a specific order, let's retain that by intersecting against the template but retaining the order given by the element. https://bugzilla.gnome.org/show_bug.cgi?id=617045 2011-02-25 10:25:26 -0300 Thiago Santos * tests/check/gst/gstcaps.c: tests: caps: Tests for the new caps intersection mode Adds test cases for the caps 'first' intersect mode Adds another test for the 'zigzag' mode Fixes #617045 2011-02-25 08:50:12 -0300 Edward Hervey * gst/gst.c: * gst/gstcaps.c: * gst/gstcaps.h: * win32/common/libgstreamer.def: gstcaps: new API : gst_caps_intersect_full Just like gst_caps_intersect, but adds a new parameter 'mode' that allows selecting the intersection algorithm to use. Currently we have GST_CAPS_INTERSECT_MODE_ZIG_ZAG (default) and GST_CAPS_INTERSECT_MODE_FIRST. API: gst_caps_intersect_full API: GstCapsIntersectMode API: GST_CAPS_INTERSECT_MODE_ZIG_ZAG API: GST_CAPS_INTERSECT_MODE_FIRST https://bugzilla.gnome.org/show_bug.cgi?id=617045 2011-03-12 17:01:39 +0000 Tim-Philipp Müller * tests/check/Makefile.am: * tests/check/libs/.gitignore: * tests/check/libs/gstlibscpp.cc: tests: add libscpp unit test to make sure g++ likes our library headers 2011-03-12 16:58:01 +0000 Tim-Philipp Müller * libs/gst/base/gstbytereader.h: * libs/gst/base/gstbytewriter.h: bytereader, bytewriter: fix up inline functions to make g++ happy gstbytereader.h: In function ‘guint8* gst_byte_reader_dup_data_unchecked(GstByteReader*, guint)’: gstbytereader.h:249:75: error: invalid conversion from ‘void*’ to ‘guint8*’ gstbytewriter.h: In function ‘gboolean _gst_byte_writer_ensure_free_space_inline(GstByteWriter*, guint)’: gstbytewriter.h:196:75: error: invalid conversion from ‘void*’ to ‘guint8*’ https://bugzilla.gnome.org/show_bug.cgi?id=645595 2011-03-22 16:26:56 -0300 Thiago Santos * gst/gstelement.h: gstelement: Fix typo in the docs GST_ELEMENT_INFO will post a INFO message, not a WARNING 2011-03-18 08:22:23 -0300 Thiago Santos * gst/gsttagsetter.c: tagsetter: Removing unused debug category tagsetter's debug category had a typo and was unused. Removing it. 2011-03-18 19:34:57 +0100 Luis de Bethencourt * autogen.sh: autogen: wingo signed comment 2011-03-22 11:04:20 +0100 Sebastian Dröge * plugins/elements/gstmultiqueue.c: multiqueue: Don't leak objects when flushing after dequeueing and before pushing the object 2011-03-21 17:54:10 +0100 Sebastian Dröge * plugins/elements/gstmultiqueue.h: multiqueue: Really remove unused variable 2011-03-21 17:52:13 +0100 Sebastian Dröge * plugins/elements/gstmultiqueue.c: * plugins/elements/gstmultiqueue.h: multiqueue: Increment unique item counter with atomic operations Before it was only protected by the stream lock but every pad has its own stream lock, making the protection rather useless. 2011-03-21 17:17:22 +0100 Sebastian Dröge * plugins/elements/gstmultiqueue.c: multiqueue: Unblock all waiting pads when shutting down 2011-03-21 12:39:34 +0100 Sebastian Dröge * plugins/elements/gstmultiqueue.c: multiqueue: Remove unused variable 2011-03-21 16:28:37 +0100 Sebastian Dröge * plugins/elements/gstmultiqueue.c: multiqueue: Exit loop function if the pad is flushing Fixes possible deadlocks when flushing an unlinked pad that waits for other pads to advance. 2011-03-19 17:06:12 -0500 Jason D. Clinton * gst/gstpoll.c: * libs/gst/controller/gstinterpolation.c: * plugins/elements/gstfilesrc.c: build: fix build with -Werror with GCC 4.6.0 This touches three areas of code, removes unused variables and discards return values from two functions with (void). https://bugzilla.gnome.org/show_bug.cgi?id=645267 2011-03-19 10:39:28 +0100 Sebastian Dröge * gst/gstevent.h: event: Add since marker to GST_EVENT_SINK_MESSAGE 2011-03-19 08:55:57 +0100 Sebastian Dröge * plugins/elements/gstinputselector.c: inputselector: Stop waiting for a pad switch when the pad is flushing 2011-03-19 08:50:06 +0100 Sebastian Dröge * plugins/elements/gstinputselector.c: inputselector: Move locking and signalling macros from the header to the source file 2011-03-17 23:42:48 +0000 Tim-Philipp Müller * gst/gsttask.h: task: fix GST_TASK_BROADCAST Surprisingly enough, you can't "breadcast" on a GCond. Spotted by Rune Sætre. https://bugzilla.gnome.org/show_bug.cgi?id=645022 2011-03-17 14:21:17 +0100 Sebastian Dröge * plugins/elements/gstinputselector.c: inputselector: Hold the selector lock while reading properties of the active pad 2011-03-17 14:10:49 +0100 Sebastian Dröge * plugins/elements/gstinputselector.c: inputselector: Make sure that EOS is always sent downstream for the active pad It can happen that the currently active pad got the EOS event before it was activated and the previously active pad got the EOS event after it was deactivated. In that case we have to send the EOS event from an inactive pad downstream. 2011-03-16 18:19:11 +0100 Sebastian Dröge * plugins/elements/gstinputselector.c: inputselector: Return GST_FLOW_OK until the selected pad pushed something downstream This makes sure that during switches at no point in time all pads have returned not-linked, which can happen when playing an audio-only file with playbin2 and switching between the streams for example. Fixes bug #644935. 2011-03-17 10:53:49 +0100 Sebastian Dröge * gst/gstutils.c: * gst/gstutils.h: * win32/common/libgstreamer.def: utils: Remove deprecated gst_element_factory_can_{sink,src}_caps() 2011-03-17 10:50:43 +0100 Sebastian Dröge Merge branch 'master' into 0.11 Conflicts: gst/gstbufferlist.c 2011-03-16 12:01:21 +0100 Sebastian Dröge * gst/gstpad.c: pad: Document that pad blocks only make sense for sink pads in pull mode and src pads in push mode See bug #644907. 2011-03-16 11:53:53 +0100 Sebastian Dröge * gst/gstghostpad.c: ghostpad: The internally linked pad of the proxypad is the ghostpad Previously we were returning the peerpad, which is the target of the ghostpad. 2011-02-25 16:20:49 +0100 Jonas Holmberg * gst/gstbufferlist.c: * tests/check/gst/gstbufferlist.c: bufferlist: Use a GQueue instead of a GList Adding a buffer to the end of a GstBufferList is supposed to be a fast operation, but it was not since the iterator does not advance its nextpointer when adding buffers and GList does not have a tail pointer. Using a GQueue to store the buffers makes it easier to add buffers to the end of the list and this operation will now be much more efficient. Adding an entire GList of buffers using gst_buffer_list_iterator_add_list() will however have to iterate over the list being added to be able to update the tail pointer in the GQueue. 2011-03-10 17:48:26 +0000 Tim-Philipp Müller * gst/gstutils.c: * win32/common/libgstreamer.def: utils: fix ABI break when compiling gstreamer with -DGST_DISABLE_DEPRECATED GST_DISABLE_DEPRECATED should only affect visibility of declarations in headers, not actually remove symbols. See GitDeveloperGuidelines and DeprecatingAPI pages in wiki. https://bugzilla.gnome.org/show_bug.cgi?id=402141 2011-03-10 16:46:04 +0100 Edward Hervey * win32/common/libgstreamer.def: win32: Update .def file for API addition 2011-03-10 10:25:07 +0100 Wim Taymans Merge branch 'master' into 0.11 2011-03-09 16:15:33 +0200 Stefan Kost * docs/pwg/advanced-types.xml: pwg: fix element name "videodrop" to "videorate" 2011-03-08 12:11:08 +0200 Stefan Kost * tests/check/gst/gstelementfactory.c: test: add tests for new element_factory api. 2010-06-23 22:00:04 +0200 Thijs Vermeir * gst/gstutils.c: * gst/gstutils.h: * win32/common/libgstreamer.def: gstutils: replace gst_element_factory_can_{sink,src}_caps Add new functions to clarify how the caps are compared to the template caps of the element factory. Improve the docs to point out the difference. Deprecate: gst_element_factory_can_{src|sink}_caps API: add gst_element_factory_can_{src|sink}_{any|all}_capps https://bugzilla.gnome.org/show_bug.cgi?id=402141 2011-03-07 23:13:56 +0200 Stefan Kost * tests/check/gst/gstcaps.c: tests: add a unit test for gst_caps_new_simple Add a test for the crash in bug #642271. 2011-03-08 18:05:42 +0000 Wim Taymans * docs/design/part-meta.txt: docs: rename draft to official doc 2011-03-08 16:58:49 +0000 Wim Taymans * gst/gstbuffer.c: * gst/gstmeta.c: * gst/gstmeta.h: * tests/check/gst/gstmeta.c: meta: implement transform function Replace subbuffer and copy vmethods by a more generic transform function that can then be parametrised by transform specific data. This should allow us to implement make-writable and more future transform functions. 2011-03-08 17:06:30 +0000 Wim Taymans Merge branch 'master' into 0.11 2011-03-08 11:55:29 +0200 Stefan Kost * tests/check/gst/gstelementfactory.c: tests: add test to create a factory 2011-03-08 10:36:30 +0200 Stefan Kost * tests/check/Makefile.am: * tests/check/gst/.gitignore: * tests/check/gst/gstelement.c: * tests/check/gst/gstelementfactory.c: tests: start a new test suite for element factories Move one test from gstelement suite. 2011-03-08 11:34:19 +0200 Stefan Kost * gst/gstpadtemplate.c: padtemplate: add missing ; in example (and trim whitespace) 2011-03-08 09:58:55 +0200 Stefan Kost * gst/gststructure.c: structure: gst_structure_empty_new() does better error checking No need to check for media_type!=NULL as the function we call that actual create the structure does a full check anyway. 2011-03-08 10:06:23 +0200 Stefan Kost * gst/gstcaps.c: * gst/gststructure.c: caps,structure: trim trailing whitespace 2011-03-04 08:28:25 +1000 Jonathan Matthew * gst/gstcaps.c: caps: don't create broken caps for invalid media types Check if structure has been created before appending it to the caps. Free the caps in the case of an error to not conceal it be returning empty caps. Fixes #642271 2011-03-07 16:21:47 +0200 Stefan Kost * tests/examples/helloworld/helloworld.c: examples: update hello world example Our helloworld example thatw e reference from the manual has been a bit complicated to serve a first contact with gstreamer. Since we have and promote playbin2 as a playback api use it here. Based on work from Mathias Hasselmann Fixes #424143 2011-03-04 19:02:33 +0100 Wim Taymans * docs/design/draft-buffer2.txt: docs: update metadata draft 2011-03-04 18:11:19 +0100 Wim Taymans * gst/gstminiobject.c: miniobject: remove FIXME Now that we don't subclass buffers anymore, the FIXME about limited functionality of the copy function is irrelevant. 2011-03-04 17:43:24 +0100 Wim Taymans * gst/gst.c: gst: add flag registration 2011-03-04 17:25:02 +0100 Wim Taymans * gst/gstpad.c: * gst/gstpad.h: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesink.h: pad: more preroll lock to basesink Move the preroll lock to basesink where it belongs. 2011-03-04 16:05:44 +0100 Wim Taymans * docs/design/draft-bufferpool.txt: docs: update bufferpool draft 2011-03-04 12:06:11 +0100 Wim Taymans * gst/gstbuffer.c: * gst/gstbufferpool.c: bufferpool: add more debug info 2011-03-03 18:38:32 +0100 Wim Taymans * gst/gstbufferpool.c: bufferpool: add debug 2011-03-03 18:21:31 +0100 Wim Taymans * gst/gstbufferpool.c: bufferpool: add some more debug info 2011-03-03 16:31:49 +0100 Wim Taymans * gst/gstbufferpool.c: * gst/gstbufferpool.h: * gst/gstquark.c: * gst/gstquark.h: bufferpool: add caps to the config Add the caps to the configuration parameters of the pool. Initialize the private data 2011-03-02 11:57:40 +0100 Wim Taymans * win32/common/libgstreamer.def: defs: update defs 2011-03-02 11:57:06 +0100 Wim Taymans * gst/gstbuffer.c: buffer: release buffer to pool in dispose Use the dispose method to release the buffer to the pool when it is configured. 2011-02-22 12:35:45 +0100 Wim Taymans * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstbufferpool.c: * gst/gstbufferpool.h: buffer: add pool to buffer structure Keep a pointer to the bufferpool. Release the buffer to the pool when finalizing. Make sure the pool sets itself as the pool member of buffers that it sends out. 2011-02-22 12:35:06 +0100 Wim Taymans * gst/gst.c: gst: add pool flags type 2011-02-22 11:05:09 +0100 Wim Taymans * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * win32/common/libgstreamer.def: docs: update bufferpool docs 2011-02-21 18:43:19 +0100 Wim Taymans * gst/gstbufferpool.c: bufferpool: Refactor stopping of the pool Move some methods around. Make sure we check for config parsing errors. Increment the outstanding buffers before calling acquire so that we can be sure that set_active() doesn't free the pool from under us. 2011-02-21 17:33:38 +0100 Wim Taymans * gst/gstbufferpool.c: * gst/gstbufferpool.h: bufferpool: Rework buffer management a little Add start/stop methods to allow for bulk allocation of buffers. Free buffers only when all outstanding buffers returned. Make things more threadsafe wrt flushing and starting/stopping by keeping track of start and stop method calls. 2011-02-21 12:18:41 +0100 Wim Taymans * gst/gstbufferpool.c: * gst/gstbufferpool.h: bufferpool: memory management cleanups Use a lock to protect concurrect execution of set_config and set_active. Start freeing the buffers when flushing and all buffers are returned to the pool. Make a copy of the config to avoid crashing with concurrent access. 2011-02-18 16:35:46 +0100 Stefan Kost * gst/gstbufferpool.c: bufferpool: also allow NULL params in _acquire 2011-02-18 16:15:30 +0100 Wim Taymans * gst/gstbufferpool.c: * gst/gstbufferpool.h: bufferpool: more updates Keep track if the buffer is configured and block activation when not configured yet. Keep track of outstanding buffers and disallow configuration when not all buffers are returned to the pool. We need to do this or else we might end up with wrong buffers in the pool. Add return value to set_active. Small cleanups. Fix finalize. 2011-02-18 12:50:21 +0100 Wim Taymans * gst/gstbufferpool.c: * gst/gstbufferpool.h: bufferpool: rename 'flushing' to 'active' Rename the flushing variable and methods to active to better match the other gstreamer name conventions 2011-02-17 18:37:19 +0100 Wim Taymans * gst/gstbufferpool.c: bufferpool: prealloc when unset flushing According to the design doc we need to prealloc buffers when we unset the flushing state, not in set_config. Set the flushing state better. 2011-02-17 17:29:27 +0100 Wim Taymans * gst/gstbufferpool.c: * gst/gstquark.c: * gst/gstquark.h: bufferpool: use quarks for structure fields 2011-02-17 16:46:51 +0100 Wim Taymans * gst/gstbufferpool.c: * gst/gstbufferpool.h: * win32/common/libgstreamer.def: bufferpool: use GstStructure to configure the pool Use a GstStructure to provide the pool with the right configuration. Also provide some helper methods to configure such a structure. don't pass the config in alloc_buffer, pool implementation will already have parsed it during set_config. Update defs 2011-02-17 12:55:37 +0100 Wim Taymans * win32/common/libgstreamer.def: fix defs 2010-11-02 18:56:29 +0100 Wim Taymans * gst/Makefile.am: * gst/gst.h: * gst/gstbufferpool.c: * gst/gstbufferpool.h: bufferpool: add simple bufferpool helper object 2011-03-02 11:08:34 +0100 Wim Taymans Merge branch 'master' into 0.11 Conflicts: gst/gstregistry.h 2011-03-02 13:55:36 +0530 Arun Raghavan * docs/faq/git.xml: faq: Minor update to ssh key generation commands fd.o requires RSA keys, and in general, users would probably want to make a per-server key file rather than overwrite id_rsa, id_rsa.pub. 2011-02-28 18:43:41 +0100 Mark Nauwelaerts * configure.ac: configure.ac: export plugin description more platform independent Fixes #642504. 2011-02-28 18:32:07 +0100 Mark Nauwelaerts * common: Automatic update of common submodule From 1de7f6a to 6aec6b9 2011-02-28 15:01:54 +0000 Tim-Philipp Müller * gst/gstregistry.h: * gst/gstutils.c: * libs/gst/controller/gsthelper.c: docs: typo fixes convinience -> convenience 2011-02-28 14:56:23 +0000 Tim-Philipp Müller * tools/gst-inspect.c: tools: print "pad-added", "pad-removed" and "no-more-pads" signals for elements with sometimes pads It's often not obvious to people that elements like e.g. uridecodebin (or demuxers) automatically support the standard signals of the GstElement class, so let's print the useful pad-related ones for elements with sometimes pads. 2011-02-28 16:27:01 +0200 Stefan Kost * gst/gstutils.c: docs: small updates as suggested on a blog Link from convinience api to the underlying api. 2011-02-28 10:05:47 +0100 Wim Taymans * gst/gstmeta.c: * gst/gstmeta.h: meta: add timing metadata 2011-02-28 10:05:38 +0100 Wim Taymans * gst/gstminiobject.h: miniobject: fix whitespace 2011-02-28 09:39:44 +0100 Wim Taymans * tests/check/gst/gstmeta.c: tests: add memory unit test 2011-02-27 20:54:58 +0100 Wim Taymans * gst/gstmeta.c: * gst/gstmeta.h: meta: simplify a bit 2011-02-27 20:42:15 +0100 Wim Taymans * gst/gstmeta.c: * gst/gstmeta.h: * win32/common/libgstreamer.def: meta: add default memory metadata Add a metadata implementation for normall malloced memory. 2011-02-27 19:40:45 +0100 Wim Taymans * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstmeta.h: * tests/check/gst/gstmeta.c: * win32/common/libgstreamer.def: meta: separate add and get methods Make separate api for getting and adding metadata. This allows us to pass extra parameters to the init functions when creating metadata, which is needed for specific API implementations. Add beginnings of memory metadata. 2011-02-27 12:21:32 +0100 Wim Taymans * docs/design/draft-buffer2.txt: * gst/gstminiobject.h: * win32/common/libgstreamer.def: docs: update docs and defs 2011-02-26 18:14:36 +0100 Wim Taymans * gst/gstbuffer.c: * gst/gstbuffer.h: buffer: remove useless method Remove the method to retrieve metadata by api. One will always use the GstMetaInfo to get metadata. 2011-02-25 16:31:11 +0100 Wim Taymans * gst/gstbuffer.c: * gst/gstbuffer.h: buffer: remove owner_priv now that we have metadata Now that we have metadata we can remove the owner_priv field. 2011-02-25 13:23:19 +0100 Wim Taymans * win32/common/libgstreamer.def: defs: fix defs 2011-02-25 13:15:25 +0100 Wim Taymans * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * gst/Makefile.am: * gst/gst.c: * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstbuffermeta.c: * gst/gstmeta.c: * gst/gstmeta.h: * tests/check/Makefile.am: * tests/check/gst/gstmeta.c: metadata: Rename to GstMeta Rename to the shorter GstMeta Add docs Add api to get metadata by API 2011-02-25 10:37:07 +0100 Wim Taymans * win32/common/libgstreamer.def: defs: fix defs 2010-11-15 11:49:24 +0100 Philippe Normand * gst/gstbuffer.c: buffer: fix memory corruption 2010-04-07 11:34:23 +0200 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gstbuffermeta.c: * tests/check/gst/gstbuffermeta.c: buffermeta: fix compilation 2010-02-26 13:11:43 +0100 Wim Taymans * docs/design/draft-buffer2.txt: * gst/gstbuffermeta.h: updates 2009-12-27 22:03:32 +0100 Wim Taymans * tests/check/gst/gstbuffermeta.c: meta: improve test a little 2009-12-17 12:34:42 +0100 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/Makefile.am: * gst/gst.c: * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstbuffermeta.c: * gst/gstbuffermeta.h: * tests/check/Makefile.am: * tests/check/gst/gstbuffermeta.c: * win32/common/libgstreamer.def: buffermeta: add beginnings of buffer metadata Add first implementation of arbitrary buffer metadata. We use a simple linked linked of slice allocated metadata chunks. Future implementations could use something more performant. Add get, remove, iterate methods to handle the metadata. 2011-02-25 10:19:25 +0100 Wim Taymans * docs/design/draft-buffer2.txt: design: add api tag We want to find metadata based on the API it implements and based on the specific implementation. 2011-02-24 17:11:49 +0000 Tim-Philipp Müller * gst/gsturi.c: uri: make win32 buildbot happy gsturi.c:854:16: error: unused variable 'abs_clean' gsturi.c:788:1: error: 'gst_file_utils_canonicalise_path' defined but not used 2011-02-24 15:32:00 +0000 Tim-Philipp Müller * plugins/elements/gstfilesink.c: * plugins/elements/gstfilesrc.c: * tests/check/elements/filesrc.c: filesrc, filesink: fix URI creation regression for non-absolute locations Passing e.g. location=foo would lead to warnings because g_filename_to_uri() wants an absolute file path and returns NULL otherwise. Use brand-new gst_filename_to_uri() instead, which will try harder to create a proper URI for us. Also add unit test. 2011-02-24 15:18:43 +0000 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gsturi.c: * gst/gsturi.h: * win32/common/libgstreamer.def: uri: add gst_filename_to_uri() that takes relative filenames Add function that (unlike the GLib equivalent) also accepts paths that aren't absolute and will clean up relative markers such as ./ and ../ before forming a URI. Fixes warnings with e.g. filesrc location=foo ! typefind caused by the recent switch to g_filename_to_uri(), but also actually creates valid URIs for the first time. Windows code paths could need some more work, e.g. we don't clean up the relative markers there for now (because path could have \ and / as separators). API: gst_filename_to_uri() 2011-02-24 16:20:01 +0200 Stefan Kost * tests/check/gst/gstabi.c: * tests/check/libs/libsabi.c: tests: refix the tests (missing #endif) 2011-02-24 16:11:17 +0200 Stefan Kost * tests/check/Makefile.am: Makefile.am: add new abi headers to nodist_HEADERS 2011-02-21 11:24:45 +0200 Stefan Kost * tools/gst-launch.1.in: * tools/gst-launch.c: gst-launch: add index support When option "-i" is given, set an index object on the pipeline and compute statistics for all index writers. Print a sumary when shutting down the pipeline. 2011-02-24 15:12:14 +0200 Stefan Kost * tests/check/libs/libsabi.c: * tests/check/libs/struct_arm.h: tests: add abi check data for ARM (libs) 2011-02-24 15:02:37 +0200 Stefan Kost * tests/check/gst/gstabi.c: * tests/check/gst/struct_arm.h: tests: add abi check data for ARM 2011-02-24 13:55:35 +0100 Wim Taymans * gst/gstbuffer.h: buffer: add owner private as intermediate solution Add an owner private field where the owner of a buffer can store some extra information. We can use this to implement most of the subclassing that happens now. Later this will be removed and replaced by arbitrary buffer metadata. 2011-02-24 10:28:20 +0100 Wim Taymans * gst/gstcaps.c: caps: remove poisoning 2011-02-23 16:48:00 +0100 Wim Taymans * gst/gstbuffer.c: * gst/gstbufferlist.c: * gst/gstcaps.c: * gst/gstevent.c: * gst/gstmessage.c: * gst/gstminiobject.h: * gst/gstquery.c: miniobject: cleanups Use the stored size in the miniobject to free the miniobject. Refactor some init methods. 2011-02-23 15:43:49 +0100 Wim Taymans * docs/random/porting-to-0.11.txt: docs: update porting guide 2011-02-23 12:54:21 +0100 Wim Taymans * docs/random/porting-to-0.11.txt: docs: update porting guide 2011-02-23 12:44:54 +0100 Wim Taymans * gst/gstcaps.h: caps: warn when make_writable result is ignored 2011-02-23 12:08:03 +0100 Wim Taymans * win32/common/libgstreamer.def: defs: fix defs 2011-02-23 12:01:55 +0100 Wim Taymans * gst/gst.c: gst: fix type registration We need to have the types of the miniobjects before registering the tranforms. 2011-02-23 12:01:16 +0100 Wim Taymans * gst/gstelementfactory.c: elementfactory: improve caps string management 2011-02-23 12:00:42 +0100 Wim Taymans * gst/gstminiobject.c: miniobject: clear flags in init 2011-02-23 12:33:58 +0200 Stefan Kost * docs/gst/running.xml: docs: tell that ORC_CODE can contain a list of flags 2011-02-23 10:31:44 +0100 Wim Taymans * gst/gstbuffer.h: * gst/gstminiobject.h: miniobject: fix flags 2011-02-22 19:30:59 +0100 Wim Taymans * gst/gstevent.c: fix compilation after rebase 2010-11-02 13:31:25 +0100 Wim Taymans * gst/gst.c: * gst/gst_private.h: * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstbufferlist.c: * gst/gstbufferlist.h: * gst/gstcaps.c: * gst/gstcaps.h: * plugins/elements/gsttypefindelement.c: improve type registration 2010-11-02 12:58:14 +0100 Wim Taymans * gst/gstbuffer.c: * gst/gstbufferlist.c: * gst/gstcaps.c: * gst/gstelementfactory.c: * gst/gstminiobject.c: * gst/gstregistrychunks.c: fix compilation 2009-12-07 20:32:12 +0100 Wim Taymans * gst/gstbuffer.h: * gst/gstbufferlist.h: * gst/gstcaps.c: * gst/gstcaps.h: * gst/gstevent.h: * gst/gstmessage.h: * gst/gstminiobject.h: * gst/gstquery.h: fix macros 2009-12-05 15:18:09 +0100 Wim Taymans * gst/gstpad.c: pad: set boxed type correctly 2009-12-05 14:16:57 +0100 Wim Taymans * gst/gstcaps.c: * gst/gstevent.c: miniobject: small fixes Make dataflow happen. 2009-12-04 23:52:32 +0100 Wim Taymans * gst/gstbuffer.c: * gst/gstcaps.c: * gst/gstevent.c: * gst/gstmessage.c: * gst/gstminiobject.c: * gst/gstpad.c: * gst/gstquery.c: * gst/gsttaglist.c: * gst/gstvalue.c: * libs/gst/base/gstbasesink.c: * plugins/elements/gstfakesink.c: * plugins/elements/gstfakesrc.c: * plugins/elements/gstfilesrc.c: * plugins/elements/gstidentity.c: * plugins/elements/gsttypefindelement.c: * tests/check/gst/gstbuffer.c: * tests/check/gst/gstminiobject.c: * tests/check/gst/gstutils.c: * tests/check/gst/gstvalue.c: * tests/check/gst/struct_x86_64.h: * tools/gst-inspect.c: miniobject: more boxed type fixing More miniobject fixing, leaks horribly somewhere.. 2009-12-04 22:32:38 +0100 Wim Taymans * gst/gstcaps.h: * gst/gstevent.c: * gst/gstmarshal.list: * gst/gstmessage.c: * gst/gstminiobject.c: * gst/gstpad.c: miniobject: make queries a boxed type More minionject stuff. 2009-12-03 20:49:30 +0100 Wim Taymans * gst/gstcaps.c: * gst/gstcaps.h: * gst/gstelementfactory.c: * gst/gstevent.c: * gst/gstevent.h: * gst/gstmessage.c: messages: make message a simple boxed type 2009-12-02 21:21:48 +0100 Wim Taymans * gst/gstbuffer.c: * gst/gstbufferlist.c: * gst/gstbufferlist.h: * gst/gstbus.c: * gst/gstcaps.c: * gst/gstcaps.h: * gst/gstminiobject.c: * gst/gstminiobject.h: miniobject: work on making caps a boxed type More work on making miniobject a simple allocated struct. 2009-11-29 00:21:24 +0100 Wim Taymans * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstcaps.h: * gst/gstevent.h: * gst/gstmessage.h: * gst/gstminiobject.h: * gst/gstquery.h: miniobject: make miniobject a boxed type First attempt at making miniobject a simple boxed type. 2011-02-22 19:09:48 +0100 Wim Taymans * libs/gst/base/gstadapter.h: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesink.h: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasesrc.h: * libs/gst/base/gstbasetransform.h: * libs/gst/base/gstdataqueue.c: * libs/gst/base/gstdataqueue.h: libs: cleanups for 0.11 Remove deprecated stuff, fix padding, rearrange methods. 2011-02-22 16:04:12 +0100 Wim Taymans * gst/gstbin.h: * gst/gstbuffer.h: * gst/gstclock.c: * gst/gstclock.h: * gst/gstevent.c: * gst/gstevent.h: * gst/gstindex.h: * gst/gstmessage.c: * gst/gstmessage.h: * gst/gstplugin.h: * gst/gstregistry.h: * gst/gstsegment.h: * gst/gstsystemclock.c: * gst/gstsystemclock.h: * gst/gsttask.c: * gst/gsttask.h: cleanups Fix padding, remove deprecated symbols. 2011-02-22 15:08:51 +0100 Wim Taymans Merge branch 'master' into 0.11 2011-02-22 14:11:59 +0100 Wim Taymans Merge branch 'master' into 0.11 Conflicts: configure.ac gst/gstelement.c gst/gstelement.h gst/gstpad.c gst/gstutils.c libs/gst/base/Makefile.am libs/gst/check/Makefile.am libs/gst/controller/Makefile.am libs/gst/dataprotocol/Makefile.am libs/gst/net/Makefile.am win32/common/libgstreamer.def 2011-02-14 18:05:09 -0300 Thiago Santos * libs/gst/base/gstbasetransform.c: * tests/check/libs/transform1.c: basetransform: Be smarter with pad allocs Avoid doing unnecessary pad-allocs when on passthrough mode. If multiple basetransform elements are on a pipeline, they would do a pad-alloc for each received buffer, each element would do this, so we would have lots of pad allocs on the pipeline for a single buffer being pushed through it. This patch attempts to reduce this amount by avoiding doing pad-allocs if the element has already done it after the last pushed buffer. So it will only be allowed to do a new pad-alloc after it has pushed a buffer, so we get 1x1 pad-alloc and buffer ratio https://bugzilla.gnome.org/show_bug.cgi?id=642373 2011-02-21 13:39:38 +0100 Philip Jägenstedt * gst/gstindex.c: docs: fix typo in gst_index_new() docs https://bugzilla.gnome.org/show_bug.cgi?id=642869 2011-02-21 12:44:05 +0000 Tim-Philipp Müller * plugins/elements/gstfakesink.c: fakesink: print new MEDIA4 flag as well 2011-01-03 11:37:05 +0100 Robert Swain * gst/gstbuffer.h: * gst/gstminiobject.h: miniobject, buffer: steal miniobject flag for use as MEDIA4 buffer flag This was required to add a new MEDIA4 buffer flag for indicating progressive/mixed telecine video buffers. There is no space for additional flags in GstBuffer, so steal one from GstMiniObject. https://bugzilla.gnome.org/show_bug.cgi?id=642671 2011-02-20 16:11:27 +0000 Tim-Philipp Müller * gst/gstatomicqueue.c: * gst/gstatomicqueue.h: docs: add some more Since: markers to atomic queue docs 2011-02-21 11:55:50 +0100 Edward Hervey * gst/gstelement.c: Revert "element: Call ->release_pad() to clean up pad" This commit changes the request pad behaviour for plugins and applications. Reopens Bug #402562 The proper fix for that bug is to keep track of created request pads. This reverts commit a5e44ffffaa6d7a8d7af8dcb77e37990996253a5. 2011-02-21 10:03:16 +0200 Stefan Kost * gst/gstindex.c: index: add FIXME-0.11: comments 2011-02-15 10:57:08 +0200 Stefan Kost * gst/gstindex.c: docs: improve index docs 2011-02-18 17:09:14 +0200 Stefan Kost * docs/design/part-progress.txt: docs: spell-check 2011-02-15 19:15:16 -0800 David Schleef * plugins/elements/gstfakesink.c: fakesink: print buffer flags 2010-12-04 18:53:55 -0800 David Schleef * gst/gstelement.c: element: Call ->release_pad() to clean up pad Fixes #636011 and #402562. 2011-02-17 14:50:40 +0200 Stefan Kost * gst/gstindex.c: index: fix creation of writer id for unparented pads Also do some cleanup in the impl. 2011-02-17 10:34:37 +0000 Tim-Philipp Müller * gst/gstvalue.c: * tests/check/gst/gstvalue.c: value: add (de)serialisation function for uchar .. since we sadly have a plugin in -good that has a uchar property (cmmlenc) https://bugzilla.gnome.org/show_bug.cgi?id=642522 2011-02-16 19:54:57 +0100 Wim Taymans * gst/gstatomicqueue.c: atomicqueue: fix include order atomicqueue: fix include order# Please enter the commit message for your changes. Lines starting 2010-10-28 13:27:43 +0100 Wim Taymans * gst/gstbus.c: * gst/gstbus.h: bus: make the bus almost lockfree Use new GstPoll functionality to wakeup the mainloop. Use an atomic queue on the writer side to post the messages. The reader side it protected with the lock still because we don't want multiple concurrent readers. 2011-02-16 17:21:52 +0100 Wim Taymans * win32/common/libgstreamer.def: defs: fix defs file for new symbols 2011-02-16 17:14:11 +0100 Wim Taymans * gst/gstatomicqueue.c: atomicqueue: use correct array sizes 2011-02-16 16:21:58 +0100 Wim Taymans * gst/gstatomicqueue.c: atomicqueue: fix docs some more 2011-02-16 16:19:46 +0100 Wim Taymans * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * gst/gstatomicqueue.c: * gst/gstatomicqueue.h: atomicqueue: add refcounting and docs 2011-02-16 12:48:59 +0100 Wim Taymans * gst/gstatomicqueue.c: atomicqueue: make sure a min initial_size is used 2010-10-28 16:02:39 +0100 Wim Taymans * gst/Makefile.am: * gst/gstatomicqueue.c: * gst/gstatomicqueue.h: atomicqueue: add an atomic queue Add an atomic queue. The queue can be used from multiple threads simultaneously and without taking any locks or doing any blocking operations. This makes it highly scalable for things like the bus, bufferpools and object recycling. 2011-02-16 17:14:46 +0100 Wim Taymans * tests/check/gst/gstbus.c: check: fix a leak in the bus unit test 2011-02-16 17:28:15 +0100 Wim Taymans * gst/gst.c: deinit: add progress type class unref 2011-02-16 15:13:05 +0200 Stefan Kost * gst/gstutils.c: utils: tell also what pad a pad is already linked against 2011-02-15 22:56:35 +0100 Sebastian Dröge * tests/check/elements/filesink.c: * tests/check/elements/filesrc.c: file{sink,src}: Check if non-URI characters are escaped, but only for the URI not the location property 2011-02-15 22:49:26 +0100 Sebastian Dröge * tests/check/elements/filesink.c: * tests/check/elements/filesrc.c: file{src,sink}: Fix unit tests filesink and filesrc should return exactly the same URI as passed and must not escape path separators. 2011-02-15 22:48:44 +0100 Sebastian Dröge * plugins/elements/gstfilesink.c: filesink: Fix escaping of URIs Especially don't escape / as path separators 2011-02-15 22:05:31 +0100 Andoni Morales Alastruey * plugins/elements/gstfilesrc.c: filesrc: Fix escaping of file uris Fixes bug #642393. 2011-02-15 18:26:00 +0100 Wim Taymans * gst/gstmessage.c: * gst/gstquark.c: * gst/gstquark.h: message: add timeout to progress message Add a timeout member to the progress messages to let the application know about the timeout so that it can do some gui things with it. 2011-02-15 18:14:16 +0100 Wim Taymans * docs/design/part-progress.txt: design: mention timeout in the progress message 2011-02-15 17:20:08 +0100 Wim Taymans * docs/design/part-progress.txt: design: make progress draft official 2011-01-06 18:55:43 +0100 Wim Taymans * docs/design/draft-progress.txt: * gst/gstmessage.c: * gst/gstmessage.h: * gst/gstquark.c: * gst/gstquark.h: message: rename category to code 2011-01-06 15:58:47 +0100 Wim Taymans * gst/gstmessage.c: message: add new message quark 2011-01-06 15:58:23 +0100 Wim Taymans * docs/design/draft-progress.txt: docs: add more standard categories 2011-01-05 13:53:00 +0100 Wim Taymans * gst/gst.c: gst: register new type 2011-01-05 13:48:51 +0100 Wim Taymans * tests/check/gst/gstmessage.c: check: add progress message unit test 2011-01-05 13:41:08 +0100 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gstmessage.c: * gst/gstmessage.h: * gst/gstquark.c: * gst/gstquark.h: * win32/common/libgstreamer.def: message: add progress message functions 2011-01-05 13:39:19 +0100 Wim Taymans * docs/design/draft-progress.txt: docs: update progress field Avoid naming the progress free text field 'message' as it conflicts with the message itself. 2011-02-15 14:42:58 +0100 Mark Nauwelaerts * plugins/elements/gstqueue2.c: queue2: don't read beyond the end of file upstream in pull mode ... which could lead to a premature eos being reported downstream, rather than a successful partial read which would result when performed directly on e.g. basesrc. 2011-01-26 16:46:25 +0800 Chen Rui * gst/gstutils.c: utils: return real error in compatible link check We need to ensure we call gst_pad_check_link() with the two pads in the correct order. The order depends on wheter we iterate src or sink pads. Signed-off-by: Chen Rui 2011-02-14 17:31:25 +0100 Wim Taymans * gst/gstpad.c: pad: Check sinkpad for flushing Check the sinkpad for the flushing state before calling the chainfunction on the pad. We do this by checking the cache (which is also cleared on the srcpad when the sink is set to flushing). Fixes #641928 2011-02-11 17:47:17 -0300 Thiago Santos * libs/gst/base/gstbasetransform.c: basetransform: Check for pad alloc caps when suggestion is not fixed If after computing the suggestion with downstream caps we still have a non-fixed suggestion caps try to intersect with the input caps of the pad alloc to avoid useless renegotiations. https://bugzilla.gnome.org/show_bug.cgi?id=642130 2011-02-14 14:00:38 +0100 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: improve duration calculation Keep track of the average distance between incomming timestamps and use that to estimate the frame duration when buffers have no duration set on them. 2011-02-14 13:49:10 +0100 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: improve rate calculation When there is no duration on input buffers, assume the rate is 1.0 instead of (the undefined) 0.0. 2011-02-14 13:47:02 +0100 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: improve average duration calculation Improve the calculation of the duration. When we have no input duration set on the input buffers stop is set to start and then we end up using a 0 duration in the average calculation. 2011-02-14 12:21:39 +0100 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: rename variable Rename an internal variable to better reflact what its value means. 2011-02-14 15:39:21 +0200 Stefan Kost * gst/parse/grammar.y: parse-launch: trim whitespaces 2011-02-14 15:37:23 +0200 Stefan Kost * gst/parse/grammar.y: parse-launch: fix typo in pad-list length comparision It was comparing the length with itself. Fixes #642071. 2011-02-14 12:52:30 +0200 Stefan Kost * common: Automatic update of common submodule From f94d739 to 1de7f6a 2011-02-13 22:56:15 +0000 Tim-Philipp Müller * tools/gst-launch.c: gst-launch: pretty-print datetime tags 2011-02-10 23:30:21 +0000 Tim-Philipp Müller * gstreamer.doap: gstreamer.doap: update mailing list host 2011-02-10 14:53:34 +0100 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: fix some comments 2011-02-10 14:50:04 +0100 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: keep track of earliest QoS timestamp Keep track of the earliest allowed timestamp according to the latest QoS report and drop buffers before that time. Activate this filter when throttling is enabled. We could later also activate this in the other QoS cases. See #638891 2011-02-10 14:17:12 +0100 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: use new QoS type Use the new QoS type and send throttling QoS messages. 2011-02-10 13:42:05 +0100 Wim Taymans * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesink.h: * win32/common/libgstbase.def: basesink: add property to configure a throttle-time Add a property to configure the throttle time on a sink. The property is not yet used. See #638891 2011-02-10 12:02:03 +0100 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gst.c: * gst/gstevent.c: * gst/gstevent.h: * tests/check/gst/gstevent.c: * win32/common/libgstreamer.def: event: add QoS event type Add a parameter to the QoS event to specify the QoS event type. Update docs and add unit test. See #638891 2011-02-10 12:00:47 +0100 Wim Taymans * gst/gstclock.c: clock: fix parameter docs 2011-02-10 10:49:22 +0100 Wim Taymans * docs/design/part-qos.txt: design: tweak docs a little 2011-02-10 10:34:57 +0100 Wim Taymans * docs/design/part-qos.txt: design: update QoS document Add new QoS types and talk about the new throttle QoS message. 2011-02-10 13:46:08 +0000 Tim-Philipp Müller * docs/design/draft-bufferpool.txt: docs: fix some typos in the bufferpool draft 2011-02-10 10:19:38 +0000 Tim-Philipp Müller * gst/gstevent.c: events: fix g-i annotation for gst_event_new_tag() which takes ownership of the tag list 2011-02-10 00:02:23 +0000 Tim-Philipp Müller * docs/manual/basics-bins.xml: * docs/manual/basics-elements.xml: * docs/manual/basics-pads.xml: * gst/gstbin.c: * gst/gstelement.c: docs: mention that it's necessary to set the state of elements added to an already-running pipeline https://bugzilla.gnome.org/show_bug.cgi?id=641631 2011-02-09 16:22:04 +0100 Wim Taymans * docs/design/draft-bufferpool.txt: design: add draft for first ideas for a bufferpool feature Add a first draft with some ideas and use cases for the implementation for bufferpools. The purpose is to be able to make elements negotiate their buffer requirements as well as provide an infrastructure to preallocate and reuse buffers in an easy way. 2011-02-09 15:23:13 +0200 Stefan Kost * gst/gsttaglist.h: docs: clarify the NOMINAL_BITRATE docs Tell that its a target bitrate and actual values might be different. 2011-02-03 15:17:13 +0100 Mark Nauwelaerts * gst/gstpoll.c: poll: trigger rebuild setup in _new Failing to do so in the Windows case (implicitly triggered otherwise) would have a subsequent _wait return immediately leading to high CPU usage timeout loops. Fixes #640675. 2011-02-03 10:53:27 +0000 Tim-Philipp Müller * gst/gstinfo.c: * gst/gstinfo.h: info: make adding/removing of gst_debug_log_default() work properly Make adding/removing gst_debug_log_default() work reliably in all circumstances. The problem was that depending on platform and linker flags the function argument might resolve to different addresses, which made it impossible to remove the default log function added in gst_init() from application code (because the pointer values didn't match). The new approach should keep things simple by passing NULL for the default function, which the code in libgstreamer can then handle. https://bugzilla.gnome.org/show_bug.cgi?id=625396 https://bugzilla.gnome.org/show_bug.cgi?id=640771 2011-02-03 10:28:01 +0000 Tim-Philipp Müller * gst/gstinfo.c: Revert "info: use the publicly visible address to fix the tests" This reverts commit eb56687a6dfd207507a4ca000eae53f93b5e33ea. While this commit may have fixed a problem on one of the build bots, it didn't actually fix the original bug reported for win32. Also, it causes other problems, such as the lookup failing when called from C++ code (gst-phonon, amarok). This needs to be fixed differently. https://bugzilla.gnome.org/show_bug.cgi?id=640771 https://bugzilla.gnome.org/show_bug.cgi?id=625396 2011-02-02 15:35:45 +0100 Mark Nauwelaerts * plugins/elements/gstqueue2.c: queue2: properly identity dequeued event as such ... which avoids terminating with ERROR rather than UNEXPECTED. 2011-02-02 02:07:58 +0000 Peter Collingbourne * scripts/gst-uninstalled: gst-uninstalled: use $GST_PREFIX variable This makes it easier to change the prefix by editing the script. https://bugzilla.gnome.org/show_bug.cgi?id=641212 2010-08-19 22:43:07 +0300 Sreerenj Balachandran * docs/gst/gstreamer-sections.txt: * gst/gsttaglist.c: * gst/gsttaglist.h: taglist: add a new "encoded-by" tag Usecase: ID3v2 TENC ("Encoded by") frame. API: GST_TAG_ENCODED_BY https://bugzilla.gnome.org/show_bug.cgi?id=627268 2011-01-29 18:02:11 +0100 Mark Nauwelaerts * libs/gst/net/gstnettimeprovider.c: * libs/gst/net/gstnettimeprovider.h: net: use socklen_t where appropriate rather than specific type In particular, fixes Cygwin build where socklen_t is defined as int in line with native win32 api definition. 2011-01-31 15:58:18 +0000 Tim-Philipp Müller * gst/gstbus.c: * tests/check/gst/gstbus.c: bus: honour any per-thread default main context set via g_main_thread_push_thread_default() Makes gst_bus_add_watch(), gst_bus_add_watch_full(), gst_bus_add_signal_watch(), and gst_bus_add_signal_watch_full() convenience functions automatically pick up any non-default main contexts set for the current thread via g_main_thread_push_thread_default(). 2011-01-28 15:36:33 -0500 Olivier Crête * plugins/elements/gstvalve.c: valve: Only set discont on the first buffer after drops Reset the discont member after setting discont on the first buffer after dropping. 2011-01-28 19:08:08 +0000 Bastien Nocera * gst/gstelement.c: GstElement: Fix warning with GCC 4.6 gstelement.c: In function ‘gst_element_get_request_pad’: gstelement.c:1052:18: error: variable ‘tmp’ set but not used [-Werror=unused-but-set-variable] https://bugzilla.gnome.org/show_bug.cgi?id=640850 2011-01-27 09:28:07 +0000 Tim-Philipp Müller * plugins/elements/gstidentity.c: identity: print unset buffer timestamps or durations as 'none' Like fakesink and fakesrc do. 2011-01-12 16:03:30 +0200 Stefan Kost * plugins/elements/gsttypefindelement.c: typefind: don't take object lock for reading the found caps Once we switch to normal mode, we're not typefinding anymore and thus the caps will not change. Therefore can avoid the object lock in the data-flow path. The locking was added in order to fix bug #608877. 2011-01-25 09:39:45 +0800 Zhang Wanming * docs/design/part-gstbin.txt: * docs/design/part-gstghostpad.txt: * docs/random/caps: * docs/random/omega/TODO-0.1.0: * docs/random/thomasvs/capturing: * docs/random/wtay/events: * docs/random/wtay/events3: * docs/slides/outline: docs: fix a few more typos https://bugzilla.gnome.org/show_bug.cgi?id=640502 2011-01-25 18:48:40 +0000 Tim-Philipp Müller * plugins/elements/gsttypefindelement.c: docs: flesh out typefindelement docs some more Mention that have-type signal may be emitted from streaming thread or application thread, and fix a typo. 2011-01-12 16:03:57 +0200 Stefan Kost * plugins/elements/gsttypefindelement.c: typefind: code and comment cleanups Make code two places of the code the pushes the buffer store more similar. More comments and debug logging. 2011-01-12 13:05:06 +0200 Stefan Kost * gst/gsttrace.c: trace: ensure messages are \0 terminated 2011-01-12 12:58:44 +0200 Stefan Kost * libs/gst/net/gstnettimeprovider.c: nettimeprovider: handle invalid network addresses earlier Handle inet_aton() return code. 2011-01-12 12:44:59 +0200 Stefan Kost * libs/gst/check/gstconsistencychecker.c: checks: add a comment to indicate that we intentionally leave out the 'break' 2011-01-12 12:43:04 +0200 Stefan Kost * gst/gstregistrybinary.c: registry: remove dead code The GError is only used for the mmap operations. If we have an error we handle and clean it there already. 2011-01-12 09:33:53 +0200 Stefan Kost * libs/gst/controller/gstcontroller.c: docs: small controller api docs improvement 2011-01-11 15:09:52 +0200 Stefan Kost * plugins/elements/gsttypefindelement.c: typefind: canonicalize signal name 2011-01-11 15:09:30 +0200 Stefan Kost * plugins/elements/gsttypefindelement.c: docs: mention have-type signal in the docs. 2011-01-25 09:15:49 +0000 Tim-Philipp Müller * tools/gst-launch.1.in: docs: minor gst-launch man page fix Transmitter/receiver pipelines were mislabelled. Spotted by Majin. 2011-01-25 16:09:18 +1000 Jan Schmidt * tests/check/elements/multiqueue.c: multiqueue test: Remove workaround for pad_task hangs Remove code that isn't needed any longer, which sets the multiqueue to PLAYING and back before unreffing, in order to avoid a deadlock waiting for gstpad tasks that were never started. The problem seems to have been fixed long ago. 2011-01-25 00:20:34 +0800 Cai Yuanqing * docs/design/part-MT-refcounting.txt: design docs: fix 2 typos in part-MT-refcounting 2011-01-24 17:46:15 +0800 Yang Xichuan * docs/design/part-gstbin.txt: design docs: part-gstbin.txt fix typo Signed-off-by: Yang Xichuan 2011-01-19 15:48:26 +0000 Vincent Penquerc'h * docs/design/part-block.txt: * docs/design/part-bufferlist.txt: * docs/design/part-clocks.txt: * docs/design/part-element-sink.txt: * docs/design/part-overview.txt: * docs/design/part-preroll.txt: * docs/design/part-push-pull.txt: * docs/design/part-scheduling.txt: * docs/design/part-seeking.txt: * docs/design/part-segments.txt: * docs/design/part-states.txt: * docs/design/part-streams.txt: * docs/design/part-synchronisation.txt: design docs: fix a few typos and a thinko 2011-01-11 17:43:57 +0100 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gstclock.c: * gst/gstclock.h: * win32/common/libgstreamer.def: clock: API: Add function to re-init periodic GstClockIDs 2011-01-20 14:37:25 +0000 Vincent Penquerc'h * gst/gstpluginloader.c: gstpluginloader: do not leak the description string The description string was changed to an inlined string a while back. (But: no need to intern the const strings here, we just use the interning to avoid allocating duplicates and make memory management easier, since the strings will be around for the life-time of the app anyway). https://bugzilla.gnome.org/show_bug.cgi?id=640071 2011-01-22 15:33:58 +0100 Wim Taymans * gst/gstbuffer.c: buffer: clarify docs 2011-01-11 10:33:32 +0100 Wim Taymans * docs/design/part-buffering.txt: design: update buffering doc Add strategies to buffering doc 2011-01-24 11:53:12 +0200 Mart Raudsepp * gst/gstclock.c: * gst/gstclock.h: docs: add missing "Since: 0.10.32" markers for GstClock Since tags were missing for gst_clock_single_shot_id_reinit() and GST_CLOCK_DONE. 2011-01-24 10:56:21 +0200 Mart Raudsepp * plugins/elements/gstqueue2.c: docs: Fix GstQueue2:ring-buffer-max-size property Since tag (0.10.31, not 0.10.30) 2011-01-24 10:26:45 +0200 Mart Raudsepp * gst/gststructure.c: docs: add missing "Since: 0.10.31" marker for gst_structure_get_date_time() 2011-01-24 14:22:27 +0000 Tim-Philipp Müller * tests/check/pipelines/parse-launch.c: tests: add unit test for read-beyond-end-of-string bug https://bugzilla.gnome.org/show_bug.cgi?id=639674 2011-01-24 14:16:37 +0000 Miguel Angel Cabrera Moya * gst/parse/types.h: parse-launch: don't read past end of string if last character is an escape char When the last character of a property value is a backslash the unescaping code reads one byte pass the end of the string. https://bugzilla.gnome.org/show_bug.cgi?id=639674 2011-01-14 09:21:23 +0000 Tim-Philipp Müller * docs/manuals.mak: docs: hack a charset=utf-8 into pwg/adm html versions So the encoding of the original document is respected and displays properly in browsers where the encoding autodetection fails to recognise that it's utf-8. https://bugzilla.gnome.org/show_bug.cgi?id=639448 2011-01-13 15:41:50 +0000 Tim-Philipp Müller * libs/gst/check/gstcheck.c: check: don't leak xml file name if GST_CHECK_XML is set Spotted by nvineeth@gmail.com 2011-01-23 23:45:40 +0000 Tim-Philipp Müller * RELEASE: * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * win32/common/config.h: * win32/common/gstversion.h: Back to development === release 0.10.32 === 2011-01-21 10:25:32 +0000 Tim-Philipp Müller * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * gstreamer.doap: * win32/common/config.h: * win32/common/gstversion.h: Release 0.10.32 2011-01-20 19:07:35 +0000 Tim-Philipp Müller * configure.ac: Revert "configure: require gobject-introspection >= 0.9.12" This reverts commit 3a59d416af6d0f8b61e2460830eb6f1138929ec2. Reverting this, as the feature we bumped the requirement for didn't actually work properly or help with the issue we were trying to fix (and it was fixed differently in the end). 2011-01-18 22:51:49 +0000 Tim-Philipp Müller * docs/manual/advanced-threads.xml: docs: fix spelling of 'threshold' in app dev manual 2011-01-18 10:10:05 +0000 Tim-Philipp Müller * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * win32/common/config.h: * win32/common/gstversion.h: 0.10.31.4 pre-release 2011-01-18 09:04:51 +0000 Tim-Philipp Müller * libs/gst/check/Makefile.am: * libs/gst/controller/Makefile.am: * libs/gst/dataprotocol/Makefile.am: * libs/gst/net/Makefile.am: gobject-introspection: try harder to make g-ir-scanner use the right libgstreamer Apply fix from libgstbase to all core libs now that we know that it works. Should fix problems with g-ir-scanner using the wrong (ie. system) libgstreamer, leading to linking errors such as undefined reference to `gst_clock_single_shot_id_reinit'. https://bugzilla.gnome.org/show_bug.cgi?id=637549 2011-01-14 00:20:43 +0000 Tim-Philipp Müller * docs/manuals.mak: * docs/pwg/pwg.xml: docs: fix garbled UTF-8 characters when generating app dev manual ps/pdf https://bugzilla.gnome.org/show_bug.cgi?id=639448 2011-01-13 20:12:16 +0000 Tim-Philipp Müller * libs/gst/base/Makefile.am: gobject-introspection: another attempt to make g-i find the right libgstreamer Turns out g-i puts the additional -L we specify at the end, helpfully. https://bugzilla.gnome.org/show_bug.cgi?id=637549 2011-01-12 15:46:00 +0000 Tim-Philipp Müller * configure.ac: configure: require gobject-introspection >= 0.9.12 Earlier versions don't honour the -L/--library-path option, which we need. See commit 4d0ccdad in gobject-introspection git. 2011-01-12 10:17:05 +0000 Tim-Philipp Müller * libs/gst/controller/Makefile.am: controller: update g-i include paths as well for header changes Hopefully makes Lucid and Maverick build bots happy again 2011-01-11 18:39:06 +0000 Tim-Philipp Müller * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * win32/common/config.h: * win32/common/gstversion.h: 0.10.31.3 pre-release 2011-01-11 18:38:37 +0000 Tim-Philipp Müller * po/LINGUAS: * po/gl.po: * po/pt_BR.po: * po/sv.po: po: update translations 2011-01-11 19:26:40 +0100 Benjamin Otte * libs/gst/controller/gstcontroller.h: * libs/gst/controller/gstcontrollerprivate.h: * libs/gst/controller/gstinterpolationcontrolsource.h: * libs/gst/controller/gstlfocontrolsource.h: controller: Fix headers to use < > in #include statements The behavior of " " in include statements is implementation-defined - see the C standard, section 6.10.2 or http://stackoverflow.com/questions/21593 2011-01-11 19:14:28 +0100 Benjamin Otte * libs/gst/net/Makefile.am: gstnet: Fix --c-include for gir generation Previously it was - probably due to copy/paste error - looking for gstbase headers. It's changed now to only include the one public header for gstnet.h 2011-01-11 13:47:38 +0000 Tim-Philipp Müller * libs/gst/base/Makefile.am: * libs/gst/check/Makefile.am: * libs/gst/controller/Makefile.am: * libs/gst/dataprotocol/Makefile.am: * libs/gst/net/Makefile.am: gobject-introspection: make g-ir-scanner try harder to find the right libgstreamer It's not quite clear to me why g-ir-scanner doesn't get this info from the pkg-config file, nor why libtool doesn't get it from the .la. https://bugzilla.gnome.org/show_bug.cgi?id=637549 2011-01-11 13:05:12 +0000 Tim-Philipp Müller * pkgconfig/gstreamer-base-uninstalled.pc.in: * pkgconfig/gstreamer-check-uninstalled.pc.in: * pkgconfig/gstreamer-controller-uninstalled.pc.in: * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in: * pkgconfig/gstreamer-net-uninstalled.pc.in: * pkgconfig/gstreamer-uninstalled.pc.in: pkgconfig: also add libdir to -uninstalled .pc files This way we can find the paths to pass e.g. g-ir-scanner for uninstalled setups. https://bugzilla.gnome.org/show_bug.cgi?id=639039 2011-01-11 15:49:23 +0200 Stefan Kost * common: Automatic update of common submodule From e572c87 to f94d739 2011-01-11 15:10:32 +0200 Stefan Kost * plugins/elements/gstvalve.c: valve: fixe the property link and the sice docs 2011-01-11 12:46:31 +0000 Raimo Järvi * gst/gstpoll.c: gstpoll: fix compiler warning with MingW gstpoll.c: In function 'gst_poll_get_read_gpollfd': gstpoll.c:692:10: warning: assignment makes integer from pointer without a cast https://bugzilla.gnome.org/show_bug.cgi?id=638900 2011-01-10 14:37:41 -0300 Thiago Santos * tests/check/elements/selector.c: test: outputselector: Add another negotiation test Adds an unit test to check that the output-selector works when negotiating before srcpads are requested 2011-01-10 14:19:17 -0300 Thiago Santos * plugins/elements/gstoutputselector.c: outputselector: Improve get and set caps functions Improve sink pad getcaps and setcaps by handling the case where no src pads exist yet 2011-01-10 16:35:25 +0000 Tim-Philipp Müller * common: Automatic update of common submodule From ccbaa85 to e572c87 2011-01-10 14:52:40 +0000 Tim-Philipp Müller * common: Automatic update of common submodule From 46445ad to ccbaa85 2011-01-10 09:59:19 -0300 Thiago Santos * tests/check/elements/selector.c: tests: selector: unref peer pad Do not forget to unref peer's pad on output-selector negotiation tests 2011-01-10 13:18:16 +0100 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: make sure we wait and release the live lock Make sure we release the live lock and wait in all cases when we need to wait for the playing or flushing state change. Fixes #635785 2011-01-08 14:52:27 +0100 Edward Hervey * gst/gstregistry.c: registry: Don't replace valid existing plugins by blacklisted ones Only replace existing plugins by blacklisted ones if they correspond to the exact same plugin. If they're not the same, keep the existing valid one. Fixes #638941 2011-01-08 02:19:31 +0000 Tim-Philipp Müller * configure.ac: * gst-element-check.m4.in: * scripts/gst-uninstalled: configure, gst-uninstalled: remove a few bashism https://bugzilla.gnome.org/show_bug.cgi?id=638961 2011-01-07 12:13:37 +0000 Tim-Philipp Müller * configure.ac: * docs/plugins/gstreamer-plugins.args: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * win32/common/config.h: * win32/common/gstenumtypes.c: * win32/common/gstversion.h: 0.10.31.2 pre-release 2011-01-07 02:18:37 +0000 Tim-Philipp Müller * plugins/indexers/gstfileindex.c: * plugins/indexers/gstmemindex.c: indexers: fix two small leaks element factory plugin_names are interned strings these days. 2011-01-07 00:53:11 +0000 Tim-Philipp Müller * tests/check/Makefile.am: tests: never disable g_assert() and cast checks for the unit tests The unit tests are riddled with g_assert() and friends, make sure we don't disable assert and cast checks for the unit tests even if this has been specified for the rest of the code base, e.g. via --disable-glib-asserts. 2011-01-06 19:40:27 +0000 Tim-Philipp Müller * gst/gstregistry.c: registry: ignore old libgstvalve.so and libgstselector.so plugins to minimize upgrade pain Ignore plugins which have been moved into coreelements, so it's still possible to just upgrade GStreamer core without having to upgrade the whole stack. 2011-01-06 19:21:56 +0000 Tim-Philipp Müller * gst/gstpadtemplate.c: Revert "padtemplate: allow disablinbg the template name conformance checks" This reverts commit f9039c22040e1a38a3691bc4d299af427c963255. We use -DG_DISABLE_ASSERTS for releases and pre-releases, but don't want to disable pad name checking for releases in general, I think. Need a better solution here. Fixes pad unit test in pre-release/release mode. 2011-01-04 12:42:50 -0300 Thiago Santos output-selector: Add pad-negotiation-mode property Adds getcaps/setcaps to output-selector and adds a property to select which type of negotiation should be done. The available modes are: * none: no negotiation (current behavior), getcaps return ANY and setcaps aren't set on any of the peers * all: use all pads (default), getcaps returns the intersection of peer pads and setcaps is set on all peers * active: getcaps and setcaps are proxied to the active pad https://bugzilla.gnome.org/show_bug.cgi?id=638381 2011-01-06 18:18:29 +0000 Tim-Philipp Müller * plugins/elements/gstinputselector.c: docs: mention extra input-selector pad properties https://bugzilla.gnome.org/show_bug.cgi?id=638381 2011-01-06 17:47:38 +0000 Tim-Philipp Müller * po/LINGUAS: * po/el.po: po: update translations 2010-09-23 12:49:59 +0100 Tim-Philipp Müller * gst/gstinfo.c: info: avoid unnecessary malloc/free for each log function call on MSVC Avoid unnecessary malloc/free to get the file basename on MSVC to avoid unnecessary overhead when doing GST_DEBUG=foo:5 or so (since it would be done before the category log level filtering). 2011-01-06 17:29:46 +0000 christian schaller * gstreamer.spec.in: Update spec file with latest changes and enable GIR 2011-01-05 12:59:48 -0800 David Schleef * gst/gstobject.c: object: Fix creation of default name Change the fixed allocation (!) to g_strdup_printf(). 2010-12-20 13:30:43 +0100 Edward Hervey * docs/gst/gstreamer-sections.txt: * gst/gstelement.c: * gst/gstelement.h: * gst/gstutils.c: * win32/common/libgstreamer.def: GstElement: Add a more flexible way to get request pads. The new request_new_pad_full vmethod provides an additional caps field, which allows elements to take better decision process. Also, add a gst_element_request_pad() function to allow developers to be able to specify which pad template they want a pad of. Convert gstutils to use that new method instead of the old one when more efficient. This is useful for being able to request pads in a more flexible way, especially when the element can provide pads whose caps depend on runtime configuration and therefore can't provide pre-registered pad templates. API: GstElement::request_new_pad_full API: gst_element_request_pad https://bugzilla.gnome.org/show_bug.cgi?id=637300 2011-01-05 15:53:28 +0000 Tim-Philipp Müller * plugins/elements/gstinputselector.c: * plugins/elements/gstinputselector.h: inputselector: remove "select-all" property select-all mode is a bit broken (e.g. newsegment event handling), so remove that for now. The funnel element in farsight provides similar functionality. https://bugzilla.gnome.org/show_bug.cgi?id=539042 https://bugzilla.gnome.org/show_bug.cgi?id=638381 2011-01-05 15:36:55 +0000 Tim-Philipp Müller * gst/gst.c: gst: remove safety check for GLib < 2.8 Don't worry about accidentally using GLib < 2.8 at runtime anymore. 2011-01-05 11:26:13 +0100 Edward Hervey * gst/gstdatetime.c: gstdatetime: Disable usage of GDateTime on MacOSX GLib's GDateTime doesn't handle properly the gmt offset. Therefore use our own internal version instead on MacOSX. See bug #638666 2011-01-05 10:56:37 +0100 Wim Taymans * docs/design/draft-progress.txt: design: more updates for the progress messages 2011-01-04 18:36:41 +0100 Edward Hervey * docs/pwg/building-signals.xml: pwg: Fix link to GObject documentation Better have gnome.org than viagra :) 2011-01-03 20:32:23 +0100 Edward Hervey * gst/gstpluginloader.c: pluginloader: Always mark reception as complete after EXIT Avoids waiting forever on gst_poll_wait when using the select backend. Fixes #637057 2011-01-04 00:48:15 +0000 Tim-Philipp Müller * gst/gstconfig.h.in: gstinfo: don't use printf extensions if GLib isn't using the system printf Might help with https://bugzilla.gnome.org/show_bug.cgi?id=638599 2011-01-03 20:19:05 +0100 Edward Hervey * gst/gstpoll.c: gstpoll: Fix for (p)select backend We need to reset the revents field of each pollfd when reading the results from select else we'll end up with stray info from previous calls to select. 2011-01-03 01:06:06 +0000 Tim-Philipp Müller * gst/gstvalue.c: gstvalue: make new gst_value_list_merge() work properly Fix freeing of partially-inited list value when both values passed are equal and we want to return a single non-list value as result. Fixes unit test. Also fix up docs a bit. https://bugzilla.gnome.org/show_bug.cgi?id=637776 2010-12-21 23:03:12 +0200 Stefan Kost * docs/gst/gstreamer-sections.txt: * gst/gsttaglist.c: * gst/gstvalue.c: * gst/gstvalue.h: * win32/common/libgstreamer.def: tags: don't produce duplicated entries when merging same value twice Add a variant of gst_value_list_concat() that skips duplicates and use that when merging taglists. API: gst_value_list_merge() 2011-01-02 16:58:39 +0000 Tim-Philipp Müller * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: basesrc, basesink: add some FIXMEs for the type of the blocksize property 2010-12-31 12:08:19 +0000 Tim-Philipp Müller * plugins/elements/gstinputselector.c: inputselector: make pad's get_type function thread-safe 2010-12-31 11:37:56 +0000 Tim-Philipp Müller * plugins/elements/gstselector-marshal.list: * plugins/elements/gstselector.c: coreelements: remove unused files 2010-12-31 12:27:45 +0100 Sebastian Dröge * plugins/elements/gstinputselector.c: inputselector: Protected g_object_notify() calls for the active-pad with a recursive mutex This works around a thread safety problem in GLib < 2.26.0 and should be removed when we depend on 2.26.0. Fixes bug #607513. 2010-12-31 16:52:54 +0800 Zhang Wanming * tests/check/gst/gstutils.c: tests: fix typo Signed-off-by: Zhang Wanming 2010-12-31 16:50:57 +0800 Zhang Wanming * plugins/elements/gstfdsink.c: gstfdsink: fix typo Signed-off-by: Zhang Wanming 2010-12-31 16:50:17 +0800 Zhang Wanming * docs/random/ensonic/draft-bufferpools.txt: docs: fix typo Signed-off-by: Zhang Wanming 2010-12-30 18:02:06 -0800 David Schleef * plugins/elements/gstdataurisrc.c: dataurisrc: use g_ascii_strcasecmp() 2010-12-31 01:09:40 +0000 Tim-Philipp Müller * tests/icles/output-selector-test.c: tests: remove output-selector test which needs elements from -base Move it to -base instead. 2010-12-31 00:59:53 +0000 Tim-Philipp Müller * tests/check/Makefile.am: * tests/check/elements/.gitignore: checks: enable input-selector and output-selector unit tests after move 2010-12-31 00:48:55 +0000 Tim-Philipp Müller * docs/plugins/Makefile.am: * docs/plugins/gstreamer-plugins-docs.sgml: * docs/plugins/gstreamer-plugins-sections.txt: * docs/plugins/gstreamer-plugins.args: * docs/plugins/gstreamer-plugins.hierarchy: * docs/plugins/gstreamer-plugins.signals: * docs/plugins/inspect/plugin-coreelements.xml: docs: add input-selector and output-selector to docs 2010-12-31 00:45:54 +0000 Tim-Philipp Müller * plugins/elements/gstfdsrc.c: * plugins/elements/gstinputselector.c: * plugins/elements/gstqueue2.c: coreelements: GST_BOILERPLATE already sets parent_class 2010-12-31 00:43:37 +0000 Tim-Philipp Müller * plugins/elements/gstinputselector.c: * plugins/elements/gstoutputselector.c: input-selector, output-selector: minor clean-ups 2010-12-30 18:57:13 +0000 Tim-Philipp Müller * plugins/elements/Makefile.am: * plugins/elements/gstelements.c: * plugins/elements/gstinputselector.c: coreelements: move input-selector and output-selector to core Moved to core from gst-plugins-bad. https://bugzilla.gnome.org/show_bug.cgi?id=614306 2010-11-24 12:22:01 +0200 Stefan Kost * tests/icles/output-selector-test.c: output-selector-test: don't hardcode videosinks and use more colorspace conv. Use autovideosink instead of hardcoded sinks. Use an additional colorspace converter between videotestsrc and timeoverlay. 2010-09-17 09:52:12 -0300 Thiago Santos * plugins/elements/gstoutputselector.c: outputselector: Avoid losing the last_buffer when switching This patch makes outputselector take an extra ref when pushing the last_buffer to avoid it losing it during the switch function. This makes resend-latest properly work if the active-pad is changed during the switch function buffer pushing (on a pad probe, for example). https://bugzilla.gnome.org/show_bug.cgi?id=629917 2010-09-17 09:44:02 -0300 Thiago Santos * plugins/elements/gstoutputselector.c: outputselector: Recheck pending switch after pushing buffer This patch makes output-selector always recheck if there's a pending pad switch after pushing a buffer, preventing that it pushes a buffer on the 'wrong' pad. https://bugzilla.gnome.org/show_bug.cgi?id=629917 2010-11-01 23:04:44 +0200 Stefan Kost * plugins/elements/gstinputselector.c: inputselector: log times in human readable form 2010-11-01 22:40:36 +0200 Stefan Kost * plugins/elements/gstinputselector.c: inputselector: move reoccuring logs to LOG and remove a double info Less debug spew in DEBUG category. No need to log pad again if we use GST_LOG_OBJECT(pad,...). 2010-10-19 13:43:14 +0300 Stefan Kost * plugins/elements/gstinputselector.c: * plugins/elements/gstoutputselector.c: various (gst): add missing G_PARAM_STATIC_STRINGS flags Canonicalize property names as needed. 2010-09-06 11:03:07 +0300 Stefan Kost * plugins/elements/gstinputselector.c: inputselector: sync with copy in -base Use _get_caps_reffed to avoid copies. 2010-08-24 11:50:47 +0300 Stefan Kost * plugins/elements/gstoutputselector.c: outputselector: move the debug init to the boilerplate macro 2010-08-24 11:50:09 +0300 Stefan Kost * plugins/elements/gstinputselector.c: inputselector: use GST_BOILERPLATE macro 2010-03-22 13:16:33 +0100 Benjamin Otte * tests/check/elements/selector.c: Add -Wwrite-strings and fix its warnings 2010-03-21 21:39:18 +0100 Benjamin Otte * tests/check/elements/selector.c: Add -Wmissing-declarations -Wmissing-prototypes to configure flags And fix all warnings 2010-03-18 17:30:26 +0100 Benjamin Otte * plugins/elements/gstinputselector.c: * plugins/elements/gstoutputselector.c: gst_element_class_set_details => gst_element_class_set_details_simple 2010-01-25 12:21:34 +0100 Sebastian Dröge * plugins/elements/gstinputselector.c: Revert "inputselector: Protect g_object_notify() with the object's mutex" This reverts commit 7e067615ffb5614f068f7753c10dde99afe49c3c, it's causing deadlocks with playbin2. 2010-01-24 20:53:00 +0100 Kipp Cannon * plugins/elements/gstinputselector.c: inputselector: Protect g_object_notify() with the object's mutex This works around the thread unsafety of g_object_notify() Fixes bug #607513. 2009-11-09 11:49:15 +0100 Sebastian Dröge * plugins/elements/gstinputselector.c: inputselector: Remove useless variables and fix a uninitialized variable compiler warnings Merged from gst-plugins-base, dfd51aa82a9e1c9924375183796eab70e574a231. 2009-11-09 11:48:39 +0100 Sebastian Dröge * plugins/elements/gstinputselector.c: inputselector: Make sure that running_time->timestamp calculation never becomes negative Merged from gst-plugins-base, f3653854585864a09d35e037853407332ea6901f. 2009-11-09 11:48:00 +0100 Sebastian Dröge * plugins/elements/gstinputselector.c: inputselector: Use the start time (i.e. timestamp) as the last stop Using the end time makes it impossible to replace buffers, which is a big problem for subtitles that could have very long durations. Merged from gst-plugins-base, 27034be4611231cc55fa3d3e253baa40c6bff41d. 2009-11-09 11:47:15 +0100 Sebastian Dröge * plugins/elements/gstinputselector.c: inputselector: Improve debugging Merged from gst-plugins-base. 2009-11-05 13:53:46 +0100 Wim Taymans * plugins/elements/gstinputselector.c: Revert "inputselector: use get_caps_reffed()" This reverts commit 49ec4f796a0e3f88a851708782c853baf4b05724. We can't use this new function yet. 2009-11-05 13:29:55 +0100 Wim Taymans * plugins/elements/gstinputselector.c: inputselector: use get_caps_reffed() 2009-11-04 00:21:19 +0200 Stefan Kost * plugins/elements/gstinputselector.c: inputselector: also add inline to the proto to fix the build 2009-11-03 18:14:12 +0100 Edward Hervey * plugins/elements/gstinputselector.c: gst: Remove dead assignments and resulting unused variables Merged from gst-plugins-base, 8cd1b5209b68944e1be56ca8bb69e46d4abb7a34. 2009-11-03 18:12:21 +0100 Sebastian Dröge * plugins/elements/gstinputselector.c: inputselector: Use the same iterate internal links function as in gst-plugins-base 2009-11-03 18:11:13 +0100 Tim-Philipp Müller * plugins/elements/gstinputselector.c: input-selector: Remove GST_DEBUG_FUNCPTR where they're pointless There's not much point in using GST_DEBUG_FUNCPTR with GObject virtual functions such as get_property, set_propery, finalize and dispose, since they'll never be used by anyone anyway. Saves a few bytes and possibly a sixteenth of a polar bear. Merged from gst-plugins-base, 6f4c1ac58341ee189225d313ddfe9ae24a65c88c. 2009-11-03 18:09:55 +0100 David Schleef * plugins/elements/gstinputselector.c: input-selector: Remove Ronald Bultje from Authors field Replaced with "GStreamer maintainers " or just removed, depending on the number of other authors. Merged from gst-plugins-base, 0e9bc5125aca546d773ed1002df573dd8e2dc136. 2009-11-03 18:08:05 +0100 Wim Taymans * plugins/elements/gstinputselector.c: inputselector: set output caps before pushing Set the output caps on the srcpad before pushing the buffer because else core will do a rather expensive check to see if we can actually accept those caps on the srcpad. Merged from gst-plugins-base, bdfb4b46d746ef298fcf44260879c342af4cafa3. 2009-11-03 18:06:11 +0100 Wim Taymans * plugins/elements/gstinputselector.c: inputselector: install an acceptcaps function Install a custom acceptcaps function instead of using the default expensive check. We accept whatever downstream accepts so we pass along the acceptcaps call to the downstream peer. Merged from gst-plugins-base, 5b72f2adf996739036e8d9b5f91005455d1fface. 2009-10-27 11:51:05 -0700 Michael Smith * tests/icles/output-selector-test.c: Remove executable bits from non-executable files. 2009-09-25 11:07:02 +0200 Sebastian Dröge * plugins/elements/gstinputselector.c: inputselector: Use new single iterator for the internally linked pads This fixes a deadlock and removes some useless code. 2009-08-31 19:31:57 +0200 Havard Graff * plugins/elements/gstoutputselector.c: outputselector: make GST_FORMAT_TIME the default segment format 2009-08-19 17:05:32 +0200 Sebastian Dröge * plugins/elements/gstinputselector.c: inputselector: Use iterate internal links instead of deprecated get internal links 2009-07-31 11:27:03 +0300 Tommi Myöhänen * plugins/elements/gstoutputselector.c: outputselector: check for pending srcpad in _get_property() If there is a pending srcpad, return it instead of active srcpad in gst_output_selector_get_property() function. 2009-06-12 10:14:27 +0300 Stefan Kost * plugins/elements/gstoutputselector.c: outputselector: do the pad_alloc for the pad that is pending and have a fallback We should do the pad_alloc for the pending pad if any, as we will switch to that pad on next _chain() call. Also do a fallback alloc, if there is no output yet to not fail state transitions in dynamic pipelines. 2009-06-01 16:31:42 +0300 Lasse Laukkanen * plugins/elements/gstoutputselector.c: output-selector: serialize setting and actual changing of new active pad 2009-05-04 12:29:54 +0300 Lasse Laukkanen * plugins/elements/gstoutputselector.c: output-selector: unref latest buffer also when resending has been disabled 2009-04-16 17:32:03 +0300 Lasse Laukkanen * plugins/elements/gstoutputselector.c: output-selector: keep ref to buffer for resending only if explicitly requested 2009-06-04 19:08:16 +0200 Wim Taymans * plugins/elements/gstinputselector.c: inputselector: don't leak pads in iterator 2009-06-04 08:56:29 +0200 Sebastian Dröge * plugins/elements/gstinputselector.c: inputselector: Notify when the tags property of the selector sinkpads changes First part of bug #584686. 2009-05-28 10:38:50 +0300 Stefan Kost * plugins/elements/gstoutputselector.h: selector: remove not needed instance var (previous commit). 2009-05-28 10:12:58 +0300 Stefan Kost * plugins/elements/gstoutputselector.c: * plugins/elements/gstoutputselector.h: outputselector: implement pad_alloc on active pad. 2009-04-23 11:04:46 +0100 Jan Schmidt * plugins/elements/gstinputselector.c: input-selector: Forward segment events for the active pad immediately. When a segment event is received on the active pad, forward it downstream immediately instead of deferring it until the next data buffer arrives. This fixes problems with segment updates never being sent downstream, like those needed for sparse streams, or for closing previously opened segments. This fixes playback of DVD menus with a still video frame and an audio track, for example. Fixes: #577843 2009-03-27 11:20:02 +0100 Wim Taymans * plugins/elements/gstoutputselector.c: outputselector: reset state when going to READY Reset the last-buffer, the pending pad and the segment when going to the READY state. Fixes #576712. 2009-03-24 15:23:03 +0100 Wim Taymans * plugins/elements/gstinputselector.c: selector: merge the tags Merge the tags received on the input-selector sinkpads instead of only keeping the last one we saw. 2009-02-25 11:45:05 +0200 Stefan Kost * plugins/elements/gstinputselector.c: docs: various doc fixes No short-desc as we have them in the element details. Also keep things (Makefile.am and sections.txt) sorted. Reword ambigous returns. No text after since please. 2009-02-11 17:21:20 +0100 Sebastian Dröge * plugins/elements/gstinputselector.c: inputselector: Fix compilation, activate_sinkpad() has no notify parameter 2009-02-10 16:22:54 -0800 Michael Smith * plugins/elements/gstinputselector.c: input-selector: Activate and notify pad before processing events. Events should trigger pad selection if we don't already have an explicitly selected pad, so that events prior to first buffer don't get lost. 2009-01-30 18:27:03 -0800 Michael Smith * plugins/elements/gstinputselector.c: Unref event if we don't forward it, unref pads when done with them. 2008-12-04 17:51:37 +0000 Michael Smith plugins/elements/gstinputselector.c: Ensure we emit notify::active-pad when auto-selecting a pad due to it having activit... Original commit message from CVS: * plugins/elements/gstinputselector.c: Ensure we emit notify::active-pad when auto-selecting a pad due to it having activity and us not having an existing active pad. Fixes #563147 2008-10-15 17:45:37 +0000 Edward Hervey plugins/elements/gstinputselector.c: Gracefully handle the cases when we dont' have otherpad. Original commit message from CVS: * plugins/elements/gstinputselector.c: (gst_input_selector_event), (gst_input_selector_query): Gracefully handle the cases when we dont' have otherpad. Fixes #556430 2008-10-07 13:14:40 +0000 Stefan Kost plugins/elements/gstoutputselector.c: Choose right pad for sending events. Fixes #555244 Original commit message from CVS: * plugins/elements/gstoutputselector.c: Choose right pad for sending events. Fixes #555244 2008-09-08 20:27:23 +0000 Wim Taymans plugins/elements/gstinputselector.c: Reset the selector state when going to READY. Original commit message from CVS: * plugins/elements/gstinputselector.c: (gst_selector_pad_reset), (gst_input_selector_reset), (gst_input_selector_change_state): Reset the selector state when going to READY. 2008-09-01 13:23:03 +0000 Wim Taymans plugins/elements/gstinputselector.c: Reuse the get_linked_pads for both source and sinkpads because they are the same. Original commit message from CVS: * plugins/elements/gstinputselector.c: (gst_input_selector_init), (gst_input_selector_event), (gst_input_selector_query): Reuse the get_linked_pads for both source and sinkpads because they are the same. Implement a custum event handler and get the internally linked pad directly instead of relying on the default (slower) implementation. 2008-08-27 15:45:16 +0000 Wim Taymans plugins/elements/gstinputselector.c: Implement the LATENCY query in a better way by taking the latency of all sinkpads an... Original commit message from CVS: * plugins/elements/gstinputselector.c: (gst_input_selector_init), (gst_input_selector_query): Implement the LATENCY query in a better way by taking the latency of all sinkpads and taking the min/max instead of just taking a random pad. 2008-08-05 09:05:35 +0000 Wim Taymans plugins/elements/gstinputselector.c: Move the select-all logic into the activation of the currently selected pad. We want... Original commit message from CVS: * plugins/elements/gstinputselector.c: (gst_selector_pad_bufferalloc), (gst_selector_pad_chain), (gst_input_selector_getcaps), (gst_input_selector_activate_sinkpad): Move the select-all logic into the activation of the currently selected pad. We want to remember the last pad with activity in select-all mode. Fix the getcaps function, we can produce the union of the upstream caps in select-all mode, not the intersection like proxy_getcaps() does. 2008-06-19 13:18:24 +0000 Stefan Kost output-selector: Use BOILERPLATE macro and update test to the latest api changes. Original commit message from CVS: * plugins/elements/gstoutputselector.c: * tests/icles/output-selector-test.c: Use BOILERPLATE macro and update test to the latest api changes. 2008-06-12 14:49:18 +0000 Stefan Kost Do not use short_description in section docs for elements. We extract them from element details and there will be war... Original commit message from CVS: * ext/dc1394/gstdc1394.c: * ext/ivorbis/vorbisdec.c: * ext/jack/gstjackaudiosink.c: * ext/metadata/gstmetadatademux.c: * ext/mythtv/gstmythtvsrc.c: * ext/theora/theoradec.c: * gst-libs/gst/app/gstappsink.c: * gst/bayer/gstbayer2rgb.c: * gst/deinterlace/gstdeinterlace.c: * gst/rawparse/gstaudioparse.c: * gst/rawparse/gstvideoparse.c: * gst/rtpmanager/gstrtpbin.c: * gst/rtpmanager/gstrtpclient.c: * gst/rtpmanager/gstrtpjitterbuffer.c: * gst/rtpmanager/gstrtpptdemux.c: * gst/rtpmanager/gstrtpsession.c: * gst/rtpmanager/gstrtpssrcdemux.c: * plugins/elements/gstinputselector.c: * plugins/elements/gstoutputselector.c: * gst/videosignal/gstvideoanalyse.c: * gst/videosignal/gstvideodetect.c: * gst/videosignal/gstvideomark.c: * sys/oss4/oss4-mixer.c: * sys/oss4/oss4-sink.c: * sys/oss4/oss4-source.c: Do not use short_description in section docs for elements. We extract them from element details and there will be warnings if they differ. Also fixing up the ChangeLog order. 2008-03-20 18:10:29 +0000 Wim Taymans plugins/elements/gstinputselector.c: Do g_object_notify() only when not holding the lock to get the property because othe... Original commit message from CVS: * plugins/elements/gstinputselector.c: (gst_input_selector_set_active_pad), (gst_input_selector_switch): Do g_object_notify() only when not holding the lock to get the property because otherwise we run into a deadlock with the deep-notify handlers that are possibly installed. 2008-03-20 17:48:49 +0000 Wim Taymans plugins/elements/gstinputselector.c: Release the selector lock when pad alloc happens on a non selected pad. Original commit message from CVS: * plugins/elements/gstinputselector.c: (gst_selector_pad_class_init), (gst_selector_pad_event), (gst_selector_pad_bufferalloc), (gst_selector_pad_chain), (gst_input_selector_set_active_pad): Release the selector lock when pad alloc happens on a non selected pad. 2008-03-20 17:07:07 +0000 Wim Taymans plugins/elements/gstinputselector.c: Add pad property to configure behaviour of the unselected pad, it can return OK or N... Original commit message from CVS: * plugins/elements/gstinputselector.c: (gst_selector_pad_class_init), (gst_selector_pad_init), (gst_selector_pad_set_property), (gst_selector_pad_get_property), (gst_selector_pad_event), (gst_selector_pad_bufferalloc), (gst_selector_pad_chain), (gst_input_selector_set_active_pad): Add pad property to configure behaviour of the unselected pad, it can return OK or NOT_LINKED, based on the use case. 2008-03-20 16:48:46 +0000 Wim Taymans plugins/elements/gstinputselector.*: Figure out the locking a bit more. Original commit message from CVS: * plugins/elements/gstinputselector.c: (gst_selector_pad_get_running_time), (gst_selector_pad_reset), (gst_selector_pad_event), (gst_selector_pad_bufferalloc), (gst_input_selector_wait), (gst_selector_pad_chain), (gst_input_selector_class_init), (gst_input_selector_init), (gst_input_selector_dispose), (gst_segment_set_start), (gst_input_selector_set_active_pad), (gst_input_selector_set_property), (gst_input_selector_get_property), (gst_input_selector_get_linked_pad), (gst_input_selector_is_active_sinkpad), (gst_input_selector_activate_sinkpad), (gst_input_selector_request_new_pad), (gst_input_selector_release_pad), (gst_input_selector_change_state), (gst_input_selector_block), (gst_input_selector_switch): * plugins/elements/gstinputselector.h: Figure out the locking a bit more. Mark buffers with discont after switching. Fix initial segment forwarding, make sure to only forward one segment regardless of what the sequence of buffers/segments is. See #522203. Improve flushing when blocked. Return NOT_LINKED when a stream is not selected. Not API change for the switch signal in the docs. Fix start/time/accum values of the new segment. Correctly unlock and flush a blocking selector when going to READY. 2008-03-14 17:22:21 +0000 Wim Taymans plugins/elements/gstinputselector.c: Add lots of debugging. Original commit message from CVS: * plugins/elements/gstinputselector.c: (gst_selector_pad_event), (gst_selector_pad_bufferalloc), (gst_selector_pad_chain), (gst_input_selector_class_init), (gst_input_selector_set_active_pad), (gst_input_selector_set_property), (gst_input_selector_push_pending_stop): Add lots of debugging. Fix time member in the newsegment event. 2008-03-13 16:46:04 +0000 Wim Taymans plugins/elements/gstinputselector.*: Various cleanups. Original commit message from CVS: * plugins/elements/gstinputselector.c: (gst_selector_pad_class_init), (gst_selector_pad_finalize), (gst_selector_pad_get_property), (gst_selector_pad_event), (gst_input_selector_class_init), (gst_input_selector_init), (gst_input_selector_set_active_pad), (gst_input_selector_set_property), (gst_input_selector_get_property), (gst_input_selector_request_new_pad), (gst_input_selector_release_pad), (gst_input_selector_push_pending_stop), (gst_input_selector_switch): * plugins/elements/gstinputselector.h: Various cleanups. Added tags to the pads. Select active pad based on the pad object instead of its name. Fix refcount in set_active_pad. Add property to get the number of pads. * plugins/elements/gstoutputselector.c: (gst_output_selector_class_init), (gst_output_selector_set_property), (gst_output_selector_get_property): Various cleanups. Select the active pad based on the pad object instead of its name. Fix locking when setting the active pad. * plugins/elements/gstselector-marshal.list: * tests/check/elements/selector.c: (cleanup_pad), (selector_set_active_pad), (run_input_selector_buffer_count): Fixes for pad instead of padname for pad selection. 2008-02-26 12:01:37 +0000 Stefan Kost plugins/elements/gstoutputselector.c: Fix changing to same pad twice before a chain call. Original commit message from CVS: * plugins/elements/gstoutputselector.c: Fix changing to same pad twice before a chain call. 2008-02-25 08:53:51 +0000 Stefan Kost plugins/elements/gstinputselector.*: Added "select-all" property to make it work like aggregator in 0.8. Original commit message from CVS: * plugins/elements/gstinputselector.c: * plugins/elements/gstinputselector.h: Added "select-all" property to make it work like aggregator in 0.8. * plugins/elements/gstoutputselector.c: Fix resend-latest behavoiur. * tests/check/Makefile.am: * tests/check/elements/.cvsignore: * tests/check/elements/selector.c: Add unit tests for selector. 2008-02-07 13:48:20 +0000 Stefan Kost gst/multifile/gstmultifilesink.c: Add a fixme comment. Original commit message from CVS: * gst/multifile/gstmultifilesink.c: Add a fixme comment. * plugins/elements/gstoutputselector.c: Fix same leak as in input-selector. * tests/icles/output-selector-test.c: Improve the test. 2008-02-01 17:08:18 +0000 Wim Taymans plugins/elements/gstinputselector.c: Don't leak event on pads that are not linked. Fixes #512826. Original commit message from CVS: * plugins/elements/gstinputselector.c: (gst_selector_pad_event): Don't leak event on pads that are not linked. Fixes #512826. 2008-01-29 07:38:31 +0000 Stefan Kost Replace the switch plugin with the selector plugin. Add output- selector as the opposite of input-selectoo (was switc... Original commit message from CVS: * configure.ac: * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-bad-plugins-docs.sgml: * docs/plugins/gst-plugins-bad-plugins-sections.txt: * docs/plugins/gst-plugins-bad-plugins.args: * docs/plugins/gst-plugins-bad-plugins.hierarchy: * docs/plugins/gst-plugins-bad-plugins.interfaces: * docs/plugins/gst-plugins-bad-plugins.signals: * docs/plugins/inspect/plugin-metadata.xml: * docs/plugins/inspect/plugin-selector.xml: * docs/plugins/inspect/plugin-soundtouch.xml: * docs/plugins/inspect/plugin-switch.xml: * plugins/elements/.cvsignore: * plugins/elements/Makefile.am: * plugins/elements/gstinputselector.c: * plugins/elements/gstinputselector.h: * plugins/elements/gstoutputselector.c: * plugins/elements/gstoutputselector.h: * plugins/elements/gstselector-marshal.list: * plugins/elements/gstselector.c: * plugins/elements/selector.vcproj: * gst/switch/.cvsignore: * gst/switch/Makefile.am: * gst/switch/gstswitch-marshal.list: * gst/switch/gstswitch.c: * gst/switch/gstswitch.h: * gst/switch/switch.vcproj: * tests/icles/.cvsignore: * tests/icles/Makefile.am: * tests/icles/output-selector-test.c: Replace the switch plugin with the selector plugin. Add output- selector as the opposite of input-selectoo (was switch). Add a test for output-selector. Add docs for the elements. The vcproj needs update. Fixes #500142. 2010-12-30 00:46:02 +0000 Tim-Philipp Müller * docs/plugins/Makefile.am: * docs/plugins/gstreamer-plugins-docs.sgml: * docs/plugins/gstreamer-plugins-sections.txt: * docs/plugins/gstreamer-plugins.args: * docs/plugins/gstreamer-plugins.hierarchy: * docs/plugins/inspect/plugin-coreelements.xml: docs: add valve element to documentation 2010-12-30 00:41:09 +0000 Tim-Philipp Müller * plugins/elements/gstvalve.c: * plugins/elements/gstvalve.h: valve: some minor clean-ups 2010-12-30 00:30:18 +0000 Tim-Philipp Müller * plugins/elements/gstvalve.c: valve: fix typo in property description And rephrase while at it, to make it more concise. 2010-12-30 00:26:43 +0000 Tim-Philipp Müller * tests/check/Makefile.am: * tests/check/elements/.gitignore: * tests/check/elements/valve.c: tests: enable valve unit test 2010-12-30 00:22:38 +0000 Tim-Philipp Müller * plugins/elements/Makefile.am: * plugins/elements/gstelements.c: * plugins/elements/gstvalve.c: elements: add new valve element to build Moved from gst-plugins-bad https://bugzilla.gnome.org/show_bug.cgi?id=630808 2010-10-19 23:40:36 +0100 Tim-Philipp Müller * tests/check/elements/valve.c: tests: fix valve unit test gst_buffer_pad_alloc() needs simple caps or NULL caps, ANY caps are not allowed. 2010-09-28 13:52:29 +0300 Stefan Kost * plugins/elements/gstvalve.c: valve: no need to ref the object in _chain Don't ref the pad in chain, like elsewhere 2010-09-30 17:48:35 -0400 Olivier Crête * tests/check/elements/valve.c: tests: Fix caps leak in the valve test 2010-09-30 17:24:29 -0400 Olivier Crête * tests/check/elements/valve.c: valve: Add unit tests Add a unit test for the valve element. 2010-09-30 16:26:19 -0400 Olivier Crête * plugins/elements/gstvalve.c: * plugins/elements/gstvalve.h: valve: Make the drop variable into an atomic. Using an atomic allows us to avoid locking the whole object all time time. As suggested by Stefan Kost. 2010-09-30 16:22:04 -0400 Olivier Crête * plugins/elements/gstvalve.c: valve: Correctly set the DISCONT flag after dropping buffers 2010-09-30 16:16:47 -0400 Olivier Crête * plugins/elements/gstvalve.c: valve: Remove superflous checking casts 2010-09-30 16:13:23 -0400 Olivier Crête * plugins/elements/gstvalve.c: valve: Fix style, improve comments Minor improvements to the comments and break a few overly long lines 2010-09-28 14:26:11 +0300 Stefan Kost * plugins/elements/gstvalve.c: valve: move default: parst in the switch statement to the end Now sure if it matters, but the previous form looks weired. 2010-09-28 14:23:01 +0300 Stefan Kost * plugins/elements/gstvalve.c: valve: move debug-category registration to type init 2010-09-28 14:15:13 +0300 Stefan Kost * plugins/elements/gstvalve.c: valve: use G_PARAM_STATIC_STRINGS on properties 2010-09-28 14:07:39 +0300 Stefan Kost * plugins/elements/gstvalve.c: valve: GST_BOILERPLATE already sets parent_class 2010-03-18 17:30:26 +0100 Benjamin Otte * plugins/elements/gstvalve.c: valve: gst_element_class_set_details => gst_element_class_set_details_simple 2009-02-10 18:52:54 +0000 Olivier Crête * plugins/elements/gstvalve.c: * plugins/elements/gstvalve.h: docs: document valve element 2009-02-10 17:57:16 +0000 Olivier Crête * plugins/elements/gstvalve.c: fsvalve: rename to valve 2009-02-10 17:55:47 +0000 Olivier Crête * plugins/elements/gstvalve.c: * plugins/elements/gstvalve.h: fsvalve: re-indent gst style 2008-12-13 00:31:45 -0500 Olivier Crête * plugins/elements/gstvalve.c: fsvalve: Ignore errors if dropping is set to true 2008-12-10 17:00:33 -0500 Olivier Crête * plugins/elements/gstvalve.c: fsvalve: Add getcaps proxying to the valve 2008-08-20 14:11:02 -0400 Olivier Crête * plugins/elements/gstvalve.c: * plugins/elements/gstvalve.h: fsvalve: Rebase valve onto gstelement instead of basetransform 2008-08-19 18:49:51 -0400 Olivier Crête * plugins/elements/gstvalve.c: fsvalve: Revert "Fix refcounting issues in prepare_output_buffer" This reverts commit 65dd460f0a3a9c4882e638c86208f74ef62c3460. 2008-08-05 11:30:57 +0000 sjoerd@luon.net * plugins/elements/gstvalve.c: fsvalve: Fix refcounting issues in prepare_output_buffer 20080805113057-be0f2-9dc270781f0a0f21c616ed11dbd1f198fd1b326e.gz 2008-04-09 16:32:21 +0000 Olivier Crete * plugins/elements/gstvalve.c: fsvalve: Remove unused dispose method in valve 20080409163221-3e2dc-92ccb2db874e46e0d92c15520577c1be0e2bc617.gz 2007-12-19 20:32:30 +0000 Olivier Crete * plugins/elements/gstvalve.c: fsvalve: Dont hold the object lock while calling base alloc function 20071219203230-3e2dc-6519175d8d81496515b2d9060ac316650560f691.gz 2007-12-19 20:32:18 +0000 Olivier Crete * plugins/elements/gstvalve.c: * plugins/elements/gstvalve.h: fsvalve: Set the DISCONT flag after dropping buffers 20071219203218-3e2dc-bc5f03d88ff5837040b9214de016cc142776dfc2.gz 2007-12-19 00:57:39 +0000 Olivier Crete * plugins/elements/gstvalve.c: * plugins/elements/gstvalve.h: fsvalve: Use do the alloc_buffer function in the valve 20071219005739-3e2dc-2a0fdfa2f38f03ab4791fe5c4ab85e8790113683.gz 2007-11-21 20:08:58 +0000 Olivier Crete * plugins/elements/gstvalve.c: fsvalve: Only set passthrough to TRUE on newer versions of gst 20071121200858-3e2dc-b16cdeabbc3c0562c6fc7b11b9b9792c910f569e.gz 2007-11-21 18:17:29 +0000 Olivier Crete * plugins/elements/gstvalve.c: fsvalve: Compare minor, not major 20071121181729-3e2dc-a5997c3b7f5c86966370969714facf8ee242659d.gz 2007-10-26 22:37:49 +0000 Olivier Crete * plugins/elements/gstvalve.c: fsvalve: Make the valve element work with gst < 0.10.13 20071026223749-3e2dc-18f685a4e45fbdce677ac777586876fc719d7222.gz 2007-10-24 22:42:46 +0000 Olivier Crete * plugins/elements/gstvalve.c: fsvalve: Rename valve to fsvalve 20071024224246-3e2dc-c54216af2ef0ef3f1a2206d723e87be2a23ab8ed.gz 2007-10-24 22:41:47 +0000 Olivier Crete * plugins/elements/gstvalve.c: * plugins/elements/gstvalve.h: fsvalve: Add valve element 20071024224147-3e2dc-f28ab0c073e283894b65c22c4f44397c897dec01.gz 2010-12-30 18:31:11 +0000 Tim-Philipp Müller * plugins/elements/gstfakesink.c: fakesink: make variable static 2010-12-29 11:48:18 +0100 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: fix deadlock Only go into LIVE_WAIT when the are not live_running and only stop waiting when live_running is TRUE. If we don't loop, we could deadlock when called from outside of basesrc, such as baseaudiosrc. Fixes #635785 2010-12-28 16:40:28 +0100 Wim Taymans * tests/check/generic/sinks.c: check: add more sink unit tests 2010-12-28 16:23:32 +0100 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: also preroll async=false sinks Also preroll async=false sinks after a flush. 2010-12-22 16:55:33 +0100 Wim Taymans * docs/design/draft-progress.txt: docs: fix typo 2010-12-26 21:20:31 +0000 Tim-Philipp Müller * gst/gstbuffer.c: * gst/gstbus.c: * gst/gstcaps.c: * gst/gstclock.c: * gst/gstminiobject.c: * gst/gstobject.c: * gst/gstpad.c: * gst/gstregistry.c: * gst/gststructure.c: * gst/gstsystemclock.c: * gst/gsttaglist.c: * gst/gstutils.c: * plugins/elements/gstqueue.c: Revert "micro-optim: if (x) is cheaper than if (x > 0) for unsigned integers" This reverts commit 6aa8ca37eeb9debfa6919741a023250bf278248f. See http://article.gmane.org/gmane.comp.video.gstreamer.devel/32282 2010-12-24 14:02:08 -0800 David Schleef * plugins/elements/Makefile.am: elements: reenable fdsrc/fdsink on MSVC 2010-12-22 16:36:09 -0800 Michael Smith * gst/glib-compat-private.h: Fix GStatBuf definition for win32 when building against older glib. Now matches upstream glib definition. 2010-12-22 22:36:05 +0000 Tim-Philipp Müller * gst/gstminiobject.c: miniobject: add gobject-introspection annotation 2010-12-22 16:42:04 +0100 Wim Taymans * docs/design/draft-progress.txt: docs: add draft idea for progress reporting 2010-12-21 10:33:59 +0100 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: fix typo 2010-12-20 17:46:36 +0100 Edward Hervey * common: Automatic update of common submodule From 169462a to 46445ad 2010-12-19 12:49:58 +0100 Sebastian Dröge * gst/gstplugin.c: * gst/gsttaglist.c: taglist: Don't leak copies of empty strings 2010-12-17 19:19:40 +0100 Edward Hervey * libs/gst/base/gstcollectpads.c: * libs/gst/base/gsttypefindhelper.c: base: documentation fixups and annotation 2010-12-17 19:14:41 +0100 Edward Hervey * gst/gstbufferlist.c: * gst/gstclock.c: * gst/gstelement.c: * gst/gstobject.c: * gst/gstpad.c: * gst/gstplugin.c: * gst/gsttaglist.c: * gst/gstutils.c: gst: documentation fixups and annotation Reported by enabling the --warn-all option of g-ir-scanner 2010-12-17 15:48:34 +0100 Edward Hervey * gst/gstdatetime.c: gstdatetime: Fix documentation second => seconds microsecond argument was dropped 2010-12-04 15:32:06 +0100 Edward Hervey * libs/gst/base/gstbasesrc.c: basesrc: Use an atomic integer instead of a lock for checking tags presence https://bugzilla.gnome.org/show_bug.cgi?id=636455 2010-12-16 10:55:20 +0100 Sebastian Dröge * libs/gst/base/gstbasetransform.c: basetransform: Handle downstream giving a buffer with new caps but invalid size This can happen for example when downstream proposed new caps, later proposed the previous caps again which in turn enables passthrough mode in upstream elements and the wrong-sized buffer appears in an element where the caps change never happened. Simply allocate a new buffer in this case. See bug #635461. 2010-12-15 23:19:54 +0200 Stefan Kost * gst/gstinfo.c: info: use the publicly visible address to fix the tests The -Bsymbolic change causes us to get a different address when internaly looking up the function than what application would get when the use the symbol that they see. This made removing the default loghandler to fail, as it is set internally and removed externaly. 2010-12-15 14:55:12 +0200 Stefan Kost * common: Automatic update of common submodule From 20742ae to 169462a 2010-12-15 12:10:02 +0200 Stefan Kost * configure.ac: configure: use the -Bsymbolic-functions linker flag if supported This feature turns intra library calls into direct function calls and thus makes them a little faster. The downside is that this causes problems for e.g. LD_PRELOAD based tools. Thus add a configure option to turn it off. 2010-12-14 19:00:14 +0100 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: improve last_stop calculation Only update the last_stop value when we had a valid stop position for the clipping or else the clipping code assumes the stop position extends to the end of the segment, which makes the position reporting return weird values. 2010-12-14 15:52:22 +0100 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: fix object type handling in queued preroll Factor out the method to get the object type. When preroll-queue-len > 0, use the right object type instead of ignoring buffer-lists. 2010-12-13 16:22:46 +0200 Stefan Kost * common: Automatic update of common submodule From 011bcc8 to 20742ae 2010-12-11 10:10:04 +0100 Edward Hervey * libs/gst/base/Makefile.am: * libs/gst/check/Makefile.am: * libs/gst/controller/Makefile.am: * libs/gst/dataprotocol/Makefile.am: * libs/gst/net/Makefile.am: libs: Fix GIR build for srcdir != builddir 2010-12-08 17:51:10 +0100 Edward Hervey Merge commit '0eaa25cbf5c0e4bf86545fb67c181a0ecd2f19c7' into 0.11 2010-12-08 12:17:35 +0200 Stefan Kost * libs/gst/base/gstbasesink.c: docs: fix wrong use of Since: keyword 2010-12-08 11:52:31 +0200 Stefan Kost * gst/gstregistrychunks.c: registry: maintain the typefind extension list order 2010-12-08 11:51:59 +0200 Stefan Kost * gst/gsttypefindfactory.c: docs: add () to xref the function. 2010-12-07 19:35:55 +0000 Tim-Philipp Müller * gst/gstutils.c: utils: remove some dead code, GST_DEBUG_COLOR is never defined 2010-12-07 19:35:24 +0000 Tim-Philipp Müller * gst/gstutils.c: * gst/gstutils.h: utils: const-ify arguments to gst_object_default_error() 2010-12-07 18:46:01 +0000 Tim-Philipp Müller * gst/gsterror.c: docs: gst_error_get_message() returns string in UTF-8, not current locale We tell gettext to return everything in UTF-8 encoding. 2010-12-05 20:17:08 +0000 Tim-Philipp Müller * gst/gstpad.c: pad: register gst_pad_get_fixed_caps_func() with the debug log system 2010-12-07 18:35:56 +0000 Tim-Philipp Müller * libs/gst/base/gstadapter.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstbitreader.c: * libs/gst/base/gstbytereader-docs.h: * libs/gst/base/gstbytereader.c: * libs/gst/base/gstbytewriter-docs.h: * libs/gst/base/gstbytewriter.c: * libs/gst/base/gstbytewriter.h: * libs/gst/base/gstcollectpads.c: * libs/gst/base/gsttypefindhelper.c: docs: libgstbase: more gobject introspection annotations Many of these are superfluous and were added for clarity. 2010-12-07 18:35:04 +0000 Tim-Philipp Müller * gst/gst.c: * gst/gstbin.c: * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstbufferlist.c: * gst/gstbufferlist.h: * gst/gstbus.c: * gst/gstcaps.c: * gst/gstchildproxy.c: * gst/gstclock.c: * gst/gstdatetime.c: * gst/gstelement.c: * gst/gstelement.h: * gst/gstelementfactory.c: * gst/gsterror.c: * gst/gstevent.c: * gst/gstevent.h: * gst/gstfilter.c: * gst/gstfilter.h: * gst/gstformat.c: * gst/gstghostpad.c: * gst/gstindex.c: * gst/gstindexfactory.c: * gst/gstinfo.c: * gst/gstmessage.c: * gst/gstmessage.h: * gst/gstminiobject.c: * gst/gstobject.c: * gst/gstpad.c: * gst/gstpadtemplate.c: * gst/gstparse.c: * gst/gstpipeline.c: * gst/gstplugin.c: * gst/gstpluginfeature.c: * gst/gstpoll.c: * gst/gstpreset.c: * gst/gstquery.c: * gst/gstquery.h: * gst/gstregistry.c: * gst/gstregistry.h: * gst/gstsegment.c: * gst/gststructure.c: * gst/gstsystemclock.c: * gst/gsttaglist.c: * gst/gsttagsetter.c: * gst/gsttask.c: * gst/gsttaskpool.c: * gst/gsttrace.c: * gst/gsttypefind.c: * gst/gsttypefindfactory.c: * gst/gsturi.c: * gst/gsturi.h: * gst/gstutils.c: * gst/gstvalue.c: * gst/gstvalue.h: docs: gst: more gobject introspection annotations Many of these are superfluous, added for clarity. 2010-12-07 18:40:12 +0100 Wim Taymans * docs/gst/gstreamer-sections.txt: docs: update docs 2010-12-07 18:33:51 +0100 Wim Taymans * win32/common/libgstcontroller.def: * win32/common/libgstdataprotocol.def: * win32/common/libgstreamer.def: defs: update defs 2010-12-07 18:32:53 +0100 Wim Taymans * tests/check/Makefile.am: check: disable ABI checks 2010-12-07 18:32:34 +0100 Wim Taymans * docs/random/porting-to-0.11.txt: porting: update porting document 2010-12-07 18:14:38 +0100 Wim Taymans * gst/gstcompat.h: * gst/gstghostpad.c: * gst/gstpad.c: * gst/gstpad.h: * gst/gstutils.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: * tests/check/gst/gstpad.c: pad: remove get_caps_reffed variants Make the _get_caps functions behave like the _get_caps_reffed variants and remove the _reffed variants. This means that _get_caps doesn't return a writable caps anymore and an explicit _make_writable() is needed before modifying the caps. 2010-12-07 18:12:53 +0100 Wim Taymans * docs/random/porting-to-0.11.txt: porting: update porting doc 2010-12-07 16:52:47 +0100 Wim Taymans * gst/gstpad.c: * gst/gstpad.h: pad: Clean up .h file 2010-12-07 15:53:56 +0100 Wim Taymans Merge branch 'master' into 0.11 2010-12-07 15:33:04 +0100 Wim Taymans * gst/Makefile.am: * gst/gst.h: * gst/gstbin.c: * gst/gstcompat.h: * gst/gstelement.c: * gst/gstelement.h: * gst/gstelementdetails.h: * gst/gstelementfactory.c: * gst/gstelementfactory.h: * gst/gstelementmetadata.h: * gst/gstpipeline.c: * gst/gstregistrychunks.c: * tests/check/gst/struct_x86_64.h: * tools/gst-inspect.c: * tools/gst-xmlinspect.c: element: rework GstElementDetails Clean up the GstElement structure Replace GstElementDetails with metadata 2010-12-07 15:31:27 +0100 Wim Taymans * gst/gstplugin.h: * tests/check/gst/gstplugin.c: plugin: remove deprecated methods Remove more deprecated methods and fix unit test. 2010-12-07 15:21:06 +0100 Wim Taymans * tests/check/libs/gdp.c: check: remove deprecated tests 2010-12-07 15:20:12 +0100 Wim Taymans * tests/check/gst/gstobject.c: check: fix object unit test 2010-12-07 15:19:34 +0100 Wim Taymans * gst/gstobject.c: * gst/gstobject.h: object: fix docs 2010-12-07 13:19:10 +0100 Edward Hervey * libs/gst/base/Makefile.am: * libs/gst/check/Makefile.am: * libs/gst/net/Makefile.am: libs: Add -I$(top_srcdir)/libs to g-ir-scanner commands Without this, it will fail finding all headers. 2010-12-07 12:57:40 +0200 Stefan Kost * gst/gstplugin.c: plugin: recommend "--gst-disable-registry-fork" as well Disabling forking helps with debugging the cause of the crash in gdb. 2010-12-07 12:56:44 +0200 Stefan Kost * docs/random/ensonic/plugindocs.txt: docs: some notes about our plugin docs workflow 2010-12-07 11:58:34 +0100 Wim Taymans * docs/gst/gstreamer-sections.txt: * docs/random/porting-to-0.11.txt: * gst/gstobject.c: * gst/gstobject.h: * gst/gstpadtemplate.c: object: Removed deprecated fields and methods Make GstObject extend from GInitiallyUnowned, remove the FLOATING flag and use GObject methods for managing the floating ref. Remove class lock, it was a workaround for a glib < 2.8 bug. Remove the parent-set and parent-unset signals, attempt to implement with notify but disabled because deadlocks in deep-notify. 2010-12-06 20:03:46 +0100 Wim Taymans * docs/random/porting-to-0.11.txt: porting: mention removal of protocol property 2010-12-06 19:40:03 +0100 Wim Taymans * docs/libs/gstreamer-libs-sections.txt: * libs/gst/controller/gstcontroller.c: * libs/gst/controller/gstcontroller.h: * libs/gst/dataprotocol/dataprotocol.c: * libs/gst/dataprotocol/dataprotocol.h: libs: remove deprecated code 2010-12-06 19:24:30 +0100 Wim Taymans * docs/random/porting-to-0.11.txt: docs: update porting doc 2010-12-06 19:18:31 +0100 Wim Taymans * docs/gst/gstreamer-sections.txt: * docs/gst/gstreamer.types.in: * docs/plugins/gstreamer-plugins.args: * gst/Makefile.am: * gst/gst.h: * gst/gstbin.c: * gst/gstcaps.c: * gst/gstcaps.h: * gst/gstconfig.h.in: * gst/gstelement.c: * gst/gstelement.h: * gst/gstghostpad.c: * gst/gstobject.c: * gst/gstobject.h: * gst/gstpad.c: * gst/gstpad.h: * gst/gstpipeline.c: * gst/gstpipeline.h: * gst/gstplugin.c: * gst/gstplugin.h: * gst/gstregistry.h: * gst/gstregistrybinary.c: * gst/gstutils.c: * gst/gstutils.h: * gst/gstxml.c: * gst/gstxml.h: * tools/gst-inspect.c: * tools/gst-launch.c: * tools/gst-xmlinspect.c: remove deprecated symbols and methods 2010-12-06 13:51:50 +0100 Wim Taymans * docs/random/porting-to-0.11.txt: porting: Add porting doc 2010-12-06 13:48:31 +0100 Wim Taymans * docs/random/plan-0.11.txt: plan: fix typo 2010-11-11 10:38:57 +0100 Wim Taymans * docs/random/plan-0.11.txt: plan: add something about GVariant registry 2010-11-08 18:39:39 +0100 Wim Taymans * docs/random/use-cases-0.11.txt: add some use-cases 2010-11-08 14:08:36 +0100 Wim Taymans * docs/random/plan-0.11.txt: more updates 2010-11-08 12:14:12 +0100 Wim Taymans * docs/random/plan-0.11.txt: more updates 2010-11-08 11:18:05 +0100 Wim Taymans * docs/random/plan-0.11.txt: more updates 2010-11-04 19:30:58 +0100 Wim Taymans * docs/random/plan-0.11.txt: work on todo list for 0.11 work 2010-12-06 13:21:45 +0100 Wim Taymans * android/base.mk: * android/controller.mk: * android/dataprotocol.mk: * android/elements.mk: * android/gst-inspect.mk: * android/gst-launch.mk: * android/gst-plugin-scanner.mk: * android/gst.mk: * android/indexers.mk: * android/net.mk: * configure.ac: * gst/Makefile.am: * libs/gst/base/Makefile.am: * libs/gst/check/Makefile.am: * libs/gst/controller/Makefile.am: * libs/gst/dataprotocol/Makefile.am: * libs/gst/net/Makefile.am: * tools/gst-feedback-m.m: * tools/gstreamer-completion: more 0.10 -> 0.11 2010-12-06 12:03:29 +0100 Wim Taymans * configure.ac: configure: open 0.11 branch 2010-12-06 11:18:01 +0100 Wim Taymans * gst/gstpoll.c: poll: return wakeup event in GPollFD 2010-12-06 11:07:38 +0100 Mark Nauwelaerts * gst/gstpad.c: pad: add some debug to fast push path ... so we don't loose track at times it is needed the most. 2010-12-05 15:58:48 +0100 Edward Hervey * libs/gst/base/gstbasesink.c: basesink: Don't forget to unref the cached ClockId 2010-12-05 14:46:28 +0100 Edward Hervey * libs/gst/check/gstcheck.c: gstcheck: Don't check pad refcount too early Because of the new pad caching system, the peer pad might still have a reference on a pad. We therefore delay the refcount checking til 'after' we unlink the pad from any potential peer. 2010-12-05 14:11:45 +0100 Edward Hervey * gst/gstbin.c: gstbin: Make element names clearer in debug statements Replaces confusing messages like: "Name name is not unique in bin bin, not adding" by "Name 'name' is not unique in bin 'bin', not adding" 2010-12-04 21:06:34 -0800 David Schleef * gst/gstregistrybinary.c: registry: Fix permissions if umask is broken Fixes: #564056. 2010-12-04 14:23:59 +0000 Tim-Philipp Müller * docs/design/Makefile.am: build: remove trailing whitespaces after backslash in Makefile.am 2010-12-04 13:14:39 +0000 Koop Mast * configure.ac: configure: fix test so it works with FreeBSD's /bin/sh Use '=' instead of '=='. Fixes: configure: working c++ compiler found: yes test: xyes: unexpected operator http://bugzilla-attachments.gnome.org/attachment.cgi?id=175692 2010-12-03 11:29:30 -0800 David Schleef * gst/gstobject.c: Use g_snprintf() instead of snprintf() 2010-12-03 16:44:23 +0100 Benjamin Gaignard * Android.mk: * android/NOTICE: * android/base.mk: * android/controller.mk: * android/dataprotocol.mk: * android/elements.mk: * android/gst-inspect.mk: * android/gst-launch.mk: * android/gst-plugin-scanner.mk: * android/gst.mk: * android/gst/gstconfig.h: * android/gst/gstenumtypes.c: * android/gst/gstenumtypes.h: * android/gst/gstmarshal.c: * android/gst/gstmarshal.h: * android/gst/gstversion.h: * android/gst/parse/grammar.output: * android/gst/parse/grammar.tab.c: * android/gst/parse/grammar.tab.h: * android/gst/parse/lex._gst_parse_yy.c: * android/indexers.mk: * android/net.mk: * android/tools.mk: Add build system for Android 2010-12-03 16:02:09 +0100 Wim Taymans * gst/gstclock.c: clock: init variables in _reinit() Properly initialize variables in _reinit() too 2010-10-21 18:08:51 +0200 Wim Taymans * gst/gstclock.c: * gst/gstclock.h: * gst/gstsystemclock.c: clock: make sync clock wait lockfree Make the common case lockfree. 2010-12-03 12:04:23 +0000 Tim-Philipp Müller * gst/gstregistrybinary.c: binaryregistry: use function introduced in GLib 2.22 unconditionally 2010-12-03 12:42:10 +0100 Wim Taymans * gst/gstpoll.c: poll: small cleanups 2010-11-03 18:38:11 +0100 Wim Taymans * gst/gstpoll.c: poll: make sure we remove the readfd messages 2010-11-03 18:16:08 +0100 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gstpoll.c: * gst/gstpoll.h: * win32/common/libgstreamer.def: poll: add method to get a GPollFD 2010-11-03 17:56:24 +0100 Wim Taymans * gst/gstpoll.c: poll: Refactor and make more lockfree Refactor the wakeup of the poll thread. Always make a control socket to make things easier. Make more methods lockfree. 2010-10-21 02:02:29 +0200 Wim Taymans * gst/gstpoll.c: poll: move lock to where it makes more sense 2010-10-21 01:15:44 +0200 Wim Taymans * gst/gstpoll.c: poll: make timer polls lockfree Make sure we don't take a mutex in the normal code path of the timer poll. 2010-12-02 17:51:58 +0100 Mark Nauwelaerts * plugins/elements/gstmultiqueue.c: multiqueue: return upon input when already eos ... rather than hanging incoming thread (as considered full in eos). 2010-12-02 17:49:04 +0100 Mark Nauwelaerts * gst/gstcaps.c: caps: fix doc typo 2010-10-16 16:16:17 +0200 Mark Nauwelaerts * tools/gst-inspect.c: gst-inspect: remove some commented code 2010-12-03 13:52:03 +0200 Stefan Kost * gst/gstobject.c: gstobject: add stdio.h for snprint 2010-12-03 11:27:17 +0100 Edward Hervey * gst/gstpipeline.c: pipeline: Use an object as first argument to GST_WARNING_OBJECT 2009-04-11 15:04:41 +0200 Edward Hervey * gst/gstbuffer.c: * gst/gstbus.c: * gst/gstcaps.c: * gst/gstclock.c: * gst/gstminiobject.c: * gst/gstobject.c: * gst/gstpad.c: * gst/gstregistry.c: * gst/gststructure.c: * gst/gstsystemclock.c: * gst/gsttaglist.c: * gst/gstutils.c: * plugins/elements/gstqueue.c: micro-optim: if (x) is cheaper than if (x > 0) for unsigned integers 2009-04-10 09:01:22 +0200 Edward Hervey * gst/gstquery.c: gstquery: Use structure property directly, avoid function variable. All functions in this file can access the structure field of a query directly. This avoids having to call gst_query_get_structure() to get it, along with being able to remove some function variables that were used to store the result of that function. 2009-04-10 08:51:02 +0200 Edward Hervey * gst/gstinfo.c: gstinfo: remove useless ternary operator usage. 2010-09-14 13:08:57 +0200 Edward Hervey * gst/gstevent.c: gstevent: Use structure property directly, avoid function variable. All functions in this file can access the structure field of an event directly. This avoids having to call gst_query_get_structure() to get it, along with being able to remove some function variables that were used to store the result of that function. 2010-12-03 11:19:27 +0100 Wim Taymans * gst/gstpad.c: pad: add push cache to bufferlists Add the push cahce for the bufferlist push code path as well. 2010-12-03 11:11:24 +0100 Wim Taymans * gst/gstpad.c: pad: don't cache the peer chainfunc There is no need to cache the peer chainfunction as we can just as efficiently get to it from the peer object. Also not caching the chain function works better because then we automatically get the new chainfunctions when they change. 2010-12-03 10:52:39 +0100 Wim Taymans * gst/gst_private.h: * gst/gstpad.c: * gst/gstutils.c: pad: clear pad cache when installing probes Move the method to clear the pad cache into _private.h Clear the pad cache when installing pad probes. 2010-10-20 17:11:11 +0200 Wim Taymans * gst/gstpad.c: pad: explicitly inline some functions 2010-10-13 02:48:56 +0200 Wim Taymans * gst/gstpad.c: pad: remove unused variable 2010-10-13 02:42:23 +0200 Wim Taymans * gst/gstpad.c: pad: invalidate caches on flush and pad block 2010-10-13 02:20:43 +0200 Wim Taymans * gst/gstpad.c: pad: don't unref NULL caps 2010-10-13 02:17:28 +0200 Wim Taymans * gst/gstpad.c: pad: add invalidate function More small optimisations, remove the unneeded valid boolean. Add function to invalide the cache. Invalidate the cache on unlink. 2010-10-13 01:37:52 +0200 Wim Taymans * gst/gstpad.c: pad: small cleanup 2010-10-13 01:25:27 +0200 Wim Taymans * gst/gstpad.c: pad: improve pad push caching Build the cache while we push data. When we don't have a cache, we run the slowpath and collect cacheable properties. When all conditions are met, keep the cached data around so that we can more efficiently push data around. 2010-10-12 12:29:49 +0200 Wim Taymans * gst/gstpad.c: pad: prototype of pad push cache Prototype of how we can cache the peer and caps for a pad link. 2010-12-03 12:23:27 +0200 Stefan Kost * tests/examples/manual/extract.pl: docs: fix previous extract.pl commit Make it also work in the srcdir=builddir case again. 2010-10-20 11:58:06 +0200 Wim Taymans * gst/gsttask.c: task: avoid task lock for each iteration Make the task state an atomic variable so that we can avoid taking and releasing the task lock for each iteration. 2010-12-03 10:18:19 +0200 Stefan Kost * tests/examples/manual/extract.pl: docs: fix example matching in extract.pl When building with $srcdir != $builddir output would contain the builddir path. Strip the path when scanning the xml for the example markers. 2010-11-19 15:06:05 +0200 Stefan Kost * gst/gstelement.c: * gst/gstpad.c: * gst/gstquery.c: docs: query doc improvements More xrefs. Mentioned that some queries need a running pipeline. 2010-11-19 11:43:40 +0200 Stefan Kost * gst/gstelementfactory.h: elementfactory: clarify list item types in comments 2010-11-19 10:29:34 +0200 Stefan Kost * gst/gstpadtemplate.c: * gst/gstpadtemplate.h: padtemplate: add two FIXME0.11: comments 2010-11-19 10:23:54 +0200 Stefan Kost * gst/gstpadtemplate.c: padtemplate: allow disablinbg the template name conformance checks 2010-11-18 16:31:30 +0200 Stefan Kost * gst/gstpadtemplate.c: padtemplate: the supplied caps may not be NULL There is a earlier g_return_val_if_fail check. Also gst_static_pad_template_get does not have such a check. 2010-11-03 16:37:10 +0100 Andoni Morales Alastruey * plugins/elements/gstfakesink.c: fakesink: Print sink-message events like a message and the GstMessage structure 2010-11-01 15:32:43 +0200 Stefan Kost * docs/design/Makefile.am: * docs/design/draft-buffer2.txt: * docs/design/draft-klass.txt: * docs/design/draft-metadata.txt: * docs/design/draft-tagreading.txt: * docs/design/part-MT-refcounting.txt: * docs/design/part-TODO.txt: * docs/design/part-activation.txt: * docs/design/part-block.txt: * docs/design/part-buffering.txt: * docs/design/part-bufferlist.txt: * docs/design/part-clocks.txt: * docs/design/part-conventions.txt: * docs/design/part-dynamic.txt: * docs/design/part-element-sink.txt: * docs/design/part-element-source.txt: * docs/design/part-element-transform.txt: * docs/design/part-events.txt: * docs/design/part-framestep.txt: * docs/design/part-gstbin.txt: * docs/design/part-gstbus.txt: * docs/design/part-gstelement.txt: * docs/design/part-gstghostpad.txt: * docs/design/part-gstobject.txt: * docs/design/part-gstpipeline.txt: * docs/design/part-latency.txt: * docs/design/part-live-source.txt: * docs/design/part-messages.txt: * docs/design/part-missing-plugins.txt: * docs/design/part-negotiation.txt: * docs/design/part-overview.txt: * docs/design/part-preroll.txt: * docs/design/part-push-pull.txt: * docs/design/part-qos.txt: * docs/design/part-query.txt: * docs/design/part-relations.txt: * docs/design/part-scheduling.txt: * docs/design/part-seeking.txt: * docs/design/part-segments.txt: * docs/design/part-sparsestreams.txt: * docs/design/part-standards.txt: * docs/design/part-states.txt: * docs/design/part-stream-status.txt: * docs/design/part-streams.txt: * docs/design/part-synchronisation.txt: * docs/design/part-trickmodes.txt: design-docs: add html output using asciidoc Unify the ad-hoc markup to be asciidoc style in many places. Add a "html" target to Makefile to generate the output. 2010-10-19 14:27:20 +0300 Stefan Kost * gst/gstobject.c: gstobject: more default name generation more efficient Save ~2000 malloc/memcpy/free pairs at startup by running to_lower in-place. Also skip the numbers as we can. 2010-10-18 14:45:16 +0300 Stefan Kost * gst/gstpluginfeature.c: pluginfeature: use the parent_class from G_DEFINE_TYPE macro and drop extra copy 2010-10-20 14:27:16 +0300 Stefan Kost * gst/gstelementfactory.c: elementfactory: use g_intern_string for interface names 2010-10-18 13:29:53 +0300 Stefan Kost * gst/gstelementfactory.c: * gst/gstregistrychunks.c: registry: also intern the static caps 2010-12-03 00:00:09 +0200 Stefan Kost * gst/gstelementfactory.c: elementfactory: meta-data can be NULL 2010-12-02 16:28:43 -0300 Thiago Santos * gst/gstdatetime.c: * tests/check/gst/gstdatetime.c: gstdatetime: Fix handling of timezones Fix returning of timezones on systems with gdatetime to use floats on the math expression to avoid truncating the fractional part. Also adds a test for covering this case. 2010-12-02 19:44:41 +0100 Edward Hervey * libs/gst/base/gstdataqueue.c: * libs/gst/base/gstdataqueue.h: gstdataqueue: Don't break ABI The order of the field was wrong, and the size of the structure didn't end up being the same. 2010-11-25 18:48:09 +0100 Wim Taymans * libs/gst/base/gstbasesink.c: * tests/check/elements/fakesink.c: * tests/check/generic/sinks.c: basesink: rework position reporting code Unify the different position reporting code paths to make it more understandable. Use start_time to get more accurate position reporting in paused. Fix unit tests for more accurate reporting. 2010-11-25 16:06:07 +0100 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: perform wait_preroll in a while loop We need to continue calling wait_preroll() as long as the need_preroll variable is true. 2010-11-17 16:46:30 +0100 Wim Taymans * gst/gstutils.c: utils: return immediately for -1 conversion When we are asked to convert -1, we can return immediately with a -1 return value. 2010-11-17 16:42:00 +0100 Wim Taymans * gst/gstutils.c: utils: a convert query can have a -1 input value It is allowed to pass -1 to the src_val for a convert. 2010-11-16 12:20:37 +0100 Wim Taymans * libs/gst/base/gstbasesink.c: * tests/check/generic/sinks.c: basesink: also preroll after a flush with async=false Make sure to preroll after a flush even when we are async=false. Add unit test. Fixes #634965 2010-11-15 18:20:27 +0100 Wim Taymans * libs/gst/base/gstadapter.c: adapter: improve docs a little. 2010-11-15 18:17:36 +0100 Wim Taymans * tests/check/generic/sinks.c: check: lock src state to avoid error cases Lock the state of the src element or else the pipeline might go into the error state when we set it to PAUSED later. 2010-11-15 12:49:05 +0100 Wim Taymans * gst/gstpipeline.c: pipeline: avoid using invalid clock times Be extra careful to not use invalid clock times but give a warning instead. This should make things work better with faulty clock implementations. 2010-11-11 10:41:18 +0100 Wim Taymans * gst/gstcaps.c: caps: improve some comments about the zigzag intersection 2010-12-02 13:04:30 +0100 Edward Hervey * docs/gst/gstreamer-sections.txt: docs: Add unused symbols to proper sections 2010-12-02 13:03:57 +0100 Edward Hervey * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: docs: Add GstDateTime section and update it for latest symbols 2010-10-19 18:09:53 +0200 Edward Hervey * plugins/elements/gstqueue2.c: queue2: Only call update_buffering if needed. update_buffering is so big it will never be inlined (and shouldn't), we therefore move the check outside of it. 2010-10-19 17:45:16 +0200 Edward Hervey * plugins/elements/gstqueue2.c: queue2: Avoid re-checking many times whether an item is a buffer Avoids calling 6 times gst_buffer_get_type() for every item coming through queue2 2010-10-19 17:43:56 +0200 Edward Hervey * plugins/elements/gstqueue2.c: queue2: Reduce amount of time locks are taken 2010-10-19 17:42:39 +0200 Edward Hervey * plugins/elements/gstqueue2.c: queue2: Fixup documentation of some properties 2010-10-19 17:40:13 +0200 Edward Hervey * plugins/elements/gstqueue2.c: * plugins/elements/gstqueue2.h: queue2: Avoid useless segment_to_running_time() calculations. * Cache src and sink time * Use a boolean to known whether src/sink time needs to be recalculated Avoids 50% of calls to gst_segment_to_running_time() 2010-10-20 17:41:28 +0200 Edward Hervey * libs/gst/base/gstbasesink.c: basesink: Re-using GstClockID instead of constantly recreating one Makes _sink_wait_clock at least 2 times faster. https://bugzilla.gnome.org/show_bug.cgi?id=632778 2010-10-20 17:40:43 +0200 Edward Hervey * docs/gst/gstreamer-sections.txt: * gst/gstclock.c: * gst/gstclock.h: * win32/common/libgstreamer.def: gstclock: New API to re-use a single shot GstClockID API: gst_clock_single_shot_id_reinit https://bugzilla.gnome.org/show_bug.cgi?id=632778 2010-10-20 13:52:02 +0200 Edward Hervey * libs/gst/base/gstbasesink.c: basesink: Pass along miniobject type through various functions Avoids doing useless GST_IS_* https://bugzilla.gnome.org/show_bug.cgi?id=632778 2010-10-20 13:08:08 +0200 Edward Hervey * libs/gst/base/gstbasesink.c: basesink: Switch enable_last_buffer to an atomic int Avoids having to take a lock to read/write it. https://bugzilla.gnome.org/show_bug.cgi?id=632778 2010-10-19 15:53:26 +0200 Edward Hervey * plugins/elements/gstqueue.c: queue: Remove useless checks from e406f7 srcresult was being rechecked in places it couldn't have changed. queue level was being rechecked in places it couldn't have changed. https://bugzilla.gnome.org/show_bug.cgi?id=632780 2010-10-13 13:50:22 +0200 Edward Hervey * libs/gst/base/gstdataqueue.c: * libs/gst/base/gstdataqueue.h: gstdataqueue: Only emit g_cond_signal when needed Keep track of which cond we're waiting for and only emit when needed. https://bugzilla.gnome.org/show_bug.cgi?id=632779 2010-10-20 17:12:29 +0200 Wim Taymans * gst/gstsegment.c: segment: move g_return_if_fail to where it is needed 2010-11-03 11:14:03 +0100 Sebastian Dröge * gst/gstversion.h.in: version: Take nano version into account in GST_CHECK_VERSION() If the nano is > 0 the current version should be handled the same as micro + 1. 2010-11-01 16:34:46 +0100 Sebastian Dröge * gst/gstpad.c: pad: Set the event source object if none is set yet in gst_pad_push_event() Otherwise the source will stay at NULL, the event is passed to the peerpad via gst_pad_send_event() and then the peerpad is set as source of the event instead of the originating pad. 2010-10-31 18:48:19 +0100 Sebastian Dröge * plugins/elements/gstqueue2.c: queue2: Remove dead assignment and unused variable 2010-10-31 18:46:43 +0100 Sebastian Dröge * plugins/elements/gstqueue2.c: queue2: Remove dead assignment and move variable declaration into inner block 2010-10-31 18:23:00 +0100 Sebastian Dröge * plugins/elements/gstqueue2.c: * plugins/elements/gstqueue2.h: queue2: Remove redundant variable Other than saving an immense amount of 4 bytes of memory this prevents clang from complaining and keeps the ring buffer state in a single variable instead of two. 2010-10-20 10:18:18 +0200 David Hoyt * gst/gsttask.c: gsttask: Set thread names on Windows with MSVC if a debugger is attached Fixes bug #632168. 2010-10-19 15:52:30 +0200 Sebastian Dröge * gst/gstmacros.h: macros: Define restrict keyword if not available This change always defines the restrict keyword if a non-C99 C compiler is used. In the case of GCC >= 4 it will be defined to __restrict__, in all other cases to nothing. This allows to use the restrict keyword unconditionally. 2010-12-01 23:57:36 +0000 Tim-Philipp Müller * configure.ac: Bump GLib requirement to >= 2.22 See http://gstreamer.freedesktop.org/wiki/ReleasePlanning/GLibRequirement 2010-12-01 23:56:45 +0000 Tim-Philipp Müller * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * win32/common/config.h: * win32/common/gstversion.h: Back to development === release 0.10.31 === 2010-11-30 17:40:47 +0000 Tim-Philipp Müller * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * gstreamer.doap: * win32/common/config.h: * win32/common/gstversion.h: Release 0.10.31 2010-11-27 19:13:35 +0000 Tim-Philipp Müller * gst/gstutils.h: utils: avoid 'unused argument' warnings caused by GST_BOILERPLATE_FULL The unused data parameter in the class_init trampoline function seems to cause warnings with some c++ compilers. https://bugzilla.gnome.org/show_bug.cgi?id=635869 2010-11-09 23:27:17 -0300 reynaldo * docs/pwg/building-boiler.xml: docs: some small fixes to the plugin writer's guide Fix wrongly placed example and weirdly phrased 'note' lacking proper formatting. Fix missing hint for autogen.sh location and rephrase 'built and installed' sentence. Fix wrongly phrased and redundant paragraph in PWG https://bugzilla.gnome.org/show_bug.cgi?id=634921 2010-11-27 11:02:48 -0300 Thiago Santos * docs/manual/basics-elements.xml: manual: Improve states documentation Be more explicit about being on NULL before unrefs 2010-11-20 14:54:23 -0800 Evan Nemerson * gst/Makefile.am: * libs/gst/base/Makefile.am: * libs/gst/check/Makefile.am: * libs/gst/controller/Makefile.am: * libs/gst/dataprotocol/Makefile.am: * libs/gst/net/Makefile.am: introspection: Include exported packages information in GIRs https://bugzilla.gnome.org/show_bug.cgi?id=635389 2010-11-18 00:29:41 +0000 Tim-Philipp Müller * configure.ac: * win32/common/config.h: * win32/common/gstversion.h: 0.10.30.5 pre-release 2010-11-18 00:29:19 +0000 Tim-Philipp Müller * gst/gstelementfactory.c: elementfactory: fix caps leak in element factory list utility functions 2010-11-17 23:55:45 +0000 Tim-Philipp Müller * po/bg.po: * po/ca.po: * po/da.po: * po/es.po: * po/fi.po: * po/hu.po: * po/sk.po: po: update translations 2010-11-17 09:39:34 -0300 Thiago Santos * configure.ac: * gst/gstdatetime.c: * gst/gstdatetime.h: * tests/check/gst/gstdatetime.c: * win32/common/libgstreamer.def: datetime: Add _from_unix_epoch variants Adds 2 variants for the gst_date_time_from_unix_epoch function, one for UTC and another for local time. API: gst_date_time_new_from_unix_epoch_utc API: gst_date_time_new_from_unix_epoch_local_time Fixes #653031 https://bugzilla.gnome.org/show_bug.cgi?id=635031 2010-11-03 14:21:02 +0000 Vladimir Eremeev * gst/math-compat.h: math-compat: don't re-define _USE_MATH_DEFINES if already defined This avoids compiler warnings. https://bugzilla.gnome.org/show_bug.cgi?id=633886 2010-11-01 16:06:43 +0000 Tim-Philipp Müller * configure.ac: * win32/common/config.h: * win32/common/gstversion.h: 0.10.30.4 pre-release 2010-11-01 15:36:54 +0000 Tim-Philipp Müller * po/de.po: * po/fr.po: * po/it.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ru.po: po: update translations 2010-10-31 20:17:05 +0000 Tim-Philipp Müller * plugins/elements/gstqueue2.c: queue2: don't leak pad ref in pull mode when flushing Fix pad leak when queue2 is flushing or being shut down. 2010-10-31 19:47:25 +0000 Tim-Philipp Müller * plugins/elements/gstqueue2.c: * plugins/elements/gstqueue2.h: queue2: don't send seeks beyond the end of the file upstream in pull mode If downstream is operating in pull mode, short-circuit any pulls beyond the end of the file and return FLOW_UNEXPECTED immediately instead of sending a seek beyond the end of the file upstream, since this might confuse upstream elements (and/or http servers, for example). Fixes playback of apple trailers in totem and youtube/html5 clips in WebkitGTK+. https://bugzilla.gnome.org/show_bug.cgi?id=632977 2010-10-28 23:28:15 +1000 Jonathan Matthew * libs/gst/base/gstbasetransform.c: basetransform: use input position for queries if we have no output position 2010-10-28 13:29:31 +0100 Wim Taymans * libs/gst/base/gstbasetransform.c: basetransform: fix reverse negotiation When the downstream element suggests a new format, pass the suggestion upstream if we can't convert to it. Fixes #633147 2010-10-27 18:12:36 +0200 Jan Schmidt * plugins/elements/gstmultiqueue.c: multiqueue: Fix tracking of unlinked streams. 33082eb9e42c52e4df848195946f1b7bbce768c5 introduced a bug preventing sparse unlinked streams from advancing properly, leading to the queue blocking. Fixes: #633176 2010-10-27 18:11:35 +0200 Jan Schmidt * tests/check/elements/multiqueue.c: tests: Add a multiqueue sparse streams test 2010-10-27 13:16:11 +0100 Jan Schmidt * common: Automatic update of common submodule From 7bbd708 to 011bcc8 2010-10-22 17:35:23 +0100 Tim-Philipp Müller * configure.ac: * win32/common/config.h: * win32/common/gstversion.h: 0.10.30.3 pre-release 2010-10-18 17:42:27 +0100 Tim-Philipp Müller * libs/gst/base/gstbytereader.c: * libs/gst/base/gstbytereader.h: bytereader: const-ify byte reader argument in peek/scan API Because we can. 2010-10-22 11:52:47 +0200 Edward Hervey * gst/gstelementfactory.h: elementfactory: Fix 64bit constant Basically we're not meant to put anything more complex than simple numbers, due to the definition of G_GUINT64_CONSTANT: G_GUINT64_CONSTANT(val) (val##UL) Which previously resulted in .... 1 << 49UL 2010-10-18 10:46:59 +0200 Mark Nauwelaerts * libs/gst/base/gstbasesink.c: basesink: recompute correct running time for buffer ending flushing step Prevents delaying/hanging when resuming PLAYING. Fixes #632433. 2010-10-16 19:19:47 +0100 Tim-Philipp Müller * libs/gst/base/gstadapter.h: * libs/gst/base/gstbasesink.h: * libs/gst/base/gstbasesrc.h: * libs/gst/base/gstbasetransform.h: * libs/gst/base/gstbitreader-docs.h: * libs/gst/base/gstbytereader-docs.h: * libs/gst/base/gstbytewriter-docs.h: * libs/gst/base/gstdataqueue.c: * libs/gst/base/gstdataqueue.h: * libs/gst/base/gstpushsrc.h: * libs/gst/net/gstnetclientclock.h: * libs/gst/net/gstnettimeprovider.h: docs: fix misc. gtk-doc warnings in libs (for gtk-doc 1.15) 2010-10-16 18:26:20 +0100 Tim-Philipp Müller * libs/gst/base/gstdataqueue.c: Revert "libs/gst/dataqueue: Document gst_data_queue_new_full" This reverts commit 80727c117703507f790a86b0962ab3d915e5a491. This doesn't make sense. gst_data_queue_new_full() is already documented above. And we need the doc blurb for _new() here. 2010-10-16 17:00:17 +0100 Tim-Philipp Müller * docs/random/release: docs: flesh out release instructions a bit more 2010-10-16 16:53:49 +0100 Tim-Philipp Müller * gst/gstparse.c: * gst/gstvalue.c: * gst/gstvalue.h: * libs/gst/base/gstadapter.c: docs: add some gtk-doc Since: markers Add some gtk-doc Since: markers, fix one Since: marker, fix typo. 2010-10-16 00:25:52 +0100 Tim-Philipp Müller * configure.ac: * win32/common/config.h: * win32/common/gstenumtypes.c: * win32/common/gstversion.h: 0.10.30.2 pre-release 2010-10-16 00:14:13 +0100 Tim-Philipp Müller * po/LINGUAS: * po/es.po: * po/fr.po: * po/lt.po: * po/nl.po: * po/ro.po: * po/ru.po: * po/sl.po: * po/sv.po: * po/vi.po: * po/zh_CN.po: po: update translations 2010-10-15 19:45:14 +0200 Mark Nauwelaerts * tools/gst-inspect.c: gst-inspect: useful factory names for uri-handlers output Fixes #632236. 2010-10-14 12:31:32 -0700 David Schleef * common: Automatic update of common submodule From 5a668bf to 7bbd708 2010-10-12 15:13:48 -0300 Thiago Santos * gst/gstdatetime.c: * gst/gstdatetime.h: * gst/gstvalue.c: * tests/check/gst/gstdatetime.c: * tests/check/gst/gstvalue.c: datetime: Use seconds as double Use seconds as double to make API similar to glib's gdatetime. Also move timezone parameter to the first position, just like glib's. https://bugzilla.gnome.org/show_bug.cgi?id=628408 2010-10-11 16:15:29 -0300 Thiago Santos * gst/gstdatetime.c: gstdatetime: Move doc outside the ifdefs Move the datetime documentation of the functions outside the ifdefs https://bugzilla.gnome.org/show_bug.cgi?id=628408 2010-09-27 19:35:08 -0300 Thiago Santos * gst/glib-compat-private.h: * gst/gstdatetime.c: * gst/gstdatetime.h: datetime: Use GDateTime if available Use GDateTime internally on GstDateTime if glib already provides it. https://bugzilla.gnome.org/show_bug.cgi?id=628408 2010-09-28 17:46:29 -0300 Thiago Santos * gst/glib-compat-private.h: glib-private: Add include protection macro 2010-10-13 12:51:00 +0100 Tim-Philipp Müller * gst/gstbuffer.c: buffer: add guard to buffer_set_caps() that checks if caps are simple 2010-10-13 15:56:26 +0300 Stefan Kost * gst/gstsystemclock.c: systemclock: add a missing G_PARAM_STATIC_STRINGS 2009-10-01 11:14:06 +0200 Edward Hervey * libs/gst/base/gstdataqueue.c: libs/gst/dataqueue: Document gst_data_queue_new_full 2009-09-28 13:35:35 +0200 Edward Hervey * libs/gst/base/gstdataqueue.c: base/gstdataqueue: inline some functions, get levels with memcpy. 2010-10-13 11:54:04 +0200 Edward Hervey * plugins/elements/gstqueue2.c: queue2: Remove unused argument from find_range() 2010-10-13 11:52:25 +0200 Edward Hervey * plugins/elements/gstfdsink.c: fdsink: cleanup get_property/set_property 2010-10-12 18:48:10 +0200 Wim Taymans * plugins/elements/gstqueue.c: * plugins/elements/gstqueue.h: queue: avoid g_cond_signal when we can Keep track of what cond we are waiting on and only signal when some other thread is waiting. 2010-10-11 19:27:54 +0100 Tim-Philipp Müller * gst/gstminiobject.c: miniobject: avoid duplicate type check when freeing miniobject gst_mini_object_unref() has guards that check the type already, so we don't really need to re-check it here again while getting the class (there's not really much point to that anyway, since we don't check the return value of the get_class, so we'd crash anyway if we're not dealing with a mini object, the only question would be if there'd be a warning before the crash or not). 2010-10-11 18:55:14 +0200 Edward Hervey * gst/gstminiobject.c: miniobject: Directly increate mini_object in mini_object_free() Speeds up mini_object_unref by 25% by avoiding the typecheck which is avoidable here since it is only called on existing miniobjects. 2010-10-11 18:30:54 +0200 Edward Hervey * gst/gstminiobject.c: miniobject: Remove confusing DEBUG_REFCOUNT define the debugging statements will be silenced automatically if debugging is disabled, and the type check is actually required. 2010-10-11 18:10:07 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2: release queue2 lock before notify Make sure that we don't hold the lock when we notify the temp-location property, Fixes #631853 2010-10-11 16:45:16 +0200 Wim Taymans * plugins/elements/gstqueue.c: queue: add debug statement 2010-10-11 10:27:52 +0200 Ognyan Tonchev * plugins/elements/gstqueue.c: * plugins/elements/gstqueue.h: * tests/check/elements/queue.c: queue: apply sink segment on the source if queue is empty Apply the sink segment on the source immediatly when it is received and there is nothing in the queue. Solves #482147 2010-10-11 15:51:21 +0200 Wim Taymans * gst/gstbin.c: bin: fix documentation for iterate_sources 2010-10-11 16:41:26 +0300 Stefan Kost * libs/gst/base/gstadapter.c: docs: use the gtk-doc shortcuts to get coloured and xrefed example 2010-10-11 14:20:15 +0200 Sebastian Dröge * gst/gstbin.c: bin: Initialize variable 2010-10-11 10:56:56 +0200 Wim Taymans * gst/gstbin.c: bin: Improve tracking of source elements Track elements tagged with the IS_SOURCE flag in a similar way we track the sink elements. This allows us to efficiently dispatch downstream events to the right elements. 2010-10-11 10:55:04 +0200 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: tag as a SOURCE element Tag all elements deriving from the basesrc with the IS_SOURCE flag. 2010-10-11 10:53:41 +0200 Wim Taymans * gst/gstelement.h: element: add IS_SOURCE flag Add the GST_ELEMENT_IS_SOURCE flag so that we can tag source elements like we can with sink elements. 2010-10-09 14:18:44 +0100 Vincent Penquerc'h * gst/gstregistrybinary.c: registry: g_mapped_file_unref exists already since GLib 2.21.3 2010-10-10 18:14:40 +0200 Sebastian Dröge * libs/gst/base/gstbasetransform.c: basetransform: Report the output position on POSITION queries on the srcpad There can be a difference between input and output last_stop. Fixes bug #629410. 2010-10-08 12:43:20 -0700 David Schleef * common: Automatic update of common submodule From c4a8adc to 5a668bf 2010-10-08 12:54:52 +0200 Edward Hervey * plugins/elements/gstmultiqueue.c: multiqueue: Remove unused variable and simplify code oldid was only used when we were doing multiple pops per loop. 2010-10-08 12:50:10 +0200 Sebastian Dröge * common: Automatic update of common submodule From 5e3c9bf to c4a8adc 2010-10-08 12:48:42 +0200 Sebastian Dröge * libs/gst/base/gstbytewriter-docs.h: bytewriter: Add missing file 2010-10-08 12:18:23 +0200 Sebastian Dröge * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/Makefile.am: * libs/gst/base/gstbytewriter.h: bytewriter: Add unchecked variants of the writing functions These don't check if there's enough free space available and are available as inline functions only. API: gst_byte_writer_put_int8_unchecked API: gst_byte_writer_put_int16_be_unchecked API: gst_byte_writer_put_int16_le_unchecked API: gst_byte_writer_put_int24_be_unchecked API: gst_byte_writer_put_int24_le_unchecked API: gst_byte_writer_put_int32_be_unchecked API: gst_byte_writer_put_int32_le_unchecked API: gst_byte_writer_put_int64_be_unchecked API: gst_byte_writer_put_int64_le_unchecked API: gst_byte_writer_put_uint8_unchecked API: gst_byte_writer_put_uint16_be_unchecked API: gst_byte_writer_put_uint16_le_unchecked API: gst_byte_writer_put_uint24_be_unchecked API: gst_byte_writer_put_uint24_le_unchecked API: gst_byte_writer_put_uint32_be_unchecked API: gst_byte_writer_put_uint32_le_unchecked API: gst_byte_writer_put_uint64_be_unchecked API: gst_byte_writer_put_uint64_le_unchecked API: gst_byte_writer_put_float32_be_unchecked API: gst_byte_writer_put_float32_le_unchecked API: gst_byte_writer_put_float64_be_unchecked API: gst_byte_writer_put_float64_le_unchecked API: gst_byte_writer_put_data_unchecked API: gst_byte_writer_fill_unchecked 2010-10-08 09:34:47 +0100 Tim-Philipp Müller * libs/gst/controller/gstlfocontrolsource.c: * libs/gst/dataprotocol/dataprotocol.c: controller, dataprotocol: make public enum _get_type() functions thread-safe Not that it is likely to matter in practice, but since these are public API they should probably be thread-safe. 2010-10-08 00:38:39 +0100 Tim-Philipp Müller * libs/gst/controller/gstlfocontrolsource.c: * libs/gst/dataprotocol/dataprotocol.c: dataprotocol, lfocontrolsource: fix enum value name in enums that are public API So run-time bindings can introspect the names correctly (we abuse this field as description field only in elements, not for public API (where the description belongs into the gtk-doc chunk). https://bugzilla.gnome.org/show_bug.cgi?id=629946 2010-10-08 09:47:12 +0200 Sebastian Dröge * libs/gst/base/gstbytewriter.h: bytewriter: Fix possible infinite loop caused by an overflow 2010-10-07 18:46:26 +0100 Tim-Philipp Müller * plugins/elements/gstfakesink.c: * plugins/elements/gstfakesrc.c: * plugins/elements/gstidentity.c: * plugins/elements/gsttee.c: elements: minor performance improvement when doing g_object_notify() for the "last-message" property Make sure property names passed to g_object_notify() are in the canonical form (ie. "last-message" not "last_message"), so that g_param_spec_pool_lookup() doesn't have to do strdup/canonicalize/free for every single notify call. This only applies when building against older GLib versions (< 2.26). 2010-10-07 18:27:06 +0100 Tim-Philipp Müller * plugins/elements/gstfakesink.c: * plugins/elements/gstfakesink.h: fakesink: use g_object_notify_by_pspec() and remove work-around for old GLib versions if possible Use more efficient g_object_notify_by_pspec() if we're compiling against GLib >= 2.26, and also remove work-around for g_object_notify() thread- safety issues with older GLib versions if it's not needed any more. 2010-10-07 18:21:13 +0100 Tim-Philipp Müller * plugins/elements/gsttee.c: tee: use g_object_notify_by_pspec() if possible Use more efficient g_object_notify_by_pspec() if we're compiling against GLib >= 2.26. 2010-10-07 18:19:31 +0100 Tim-Philipp Müller * plugins/elements/gstfakesrc.c: fakesrc: use g_object_notify_by_pspec() if possible Use more efficient g_object_notify_by_pspec() if we're compiling against GLib >= 2.26. 2010-10-07 17:53:18 +0100 Tim-Philipp Müller * plugins/elements/gstidentity.c: * plugins/elements/gstidentity.h: identity: use g_object_notify_by_pspec() and remove work-around for old GLib versions if possible Use more efficient g_object_notify_by_pspec() if we're compiling against GLib >= 2.26, and also remove work-around for g_object_notify() thread- safety issues with older GLib versions if it's not needed any more. 2010-10-07 17:23:10 +0100 Tim-Philipp Müller * gst/gstghostpad.c: * gst/gstpad.c: pads: use new g_object_notify_by_pspec() for caps notifies if available If we're building against GLib >= 2.26.0, we can use the more efficient g_object_notify_by_caps(), which avoids the param spec lookup. 2010-10-07 16:27:20 +0100 Tim-Philipp Müller * gst/gstclock.c: clock: remove unnecessary g_object_notify() call GObject will do that for us when g_object_set*() is called. 2010-10-07 19:18:03 +0200 Wim Taymans * docs/design/part-qos.txt: docs: update qos design doc Fix some typos. change the definition of the quality field for video decoders to something that makes more sense. 2010-10-05 17:02:58 +0100 Tim-Philipp Müller * Makefile.am: Add gobject-introspection temp directories to CRUFT_DIRS 2010-10-05 15:05:43 +0100 Tim-Philipp Müller * libs/gst/controller/gstlfocontrolsource.c: lfocontrolsource: use math-compat.h for M_PI 2010-10-05 14:45:02 +0100 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gstinfo.h: gstinfo: remove random MSVC compatibility define for M_PI that doesn't belong here Code that needs this should include gst/math-compat.h or use G_PI. 2010-10-05 14:16:19 +0100 Tim-Philipp Müller * docs/gst/Makefile.am: * gst/Makefile.am: * gst/math-compat.h: gst: add math-compat.h header Add minimal math-compath.h header where we can define fallback versions for miscellaneous math functions that aren't always available, so we don't have to duplicate this in plugins. The header is not included by default, so needs to be included explicitly for now. https://bugzilla.gnome.org/show_bug.cgi?id=630802 2010-10-05 11:47:59 +0200 Thijs Vermeir * tools/gst-plot-timeline.py: tools: fix parsing of timestamp in gst-plot-timeline 2010-09-25 14:24:46 +0300 Stefan Kost * libs/gst/base/gstbasesink.c: basesink: don't take preroll-lock in get_property Use atomic ops to read and write more properties. Taking the preroll lock in get_property can lock up applications reading the property during preroll. 2010-10-02 18:11:32 +0300 Stefan Kost * libs/gst/base/gstbasesink.h: basesink: add a fixme for 0.11 2010-10-04 15:49:18 +0200 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: format negative values better Format negative values properly in the debug log. 2010-10-03 23:41:26 +0200 Sebastian Dröge * tests/check/libs/bitreader.c: bitreader: Fix uninitialized variable compiler warnings gcc doesn't notice that the check assertion macros will abort further execution of the tests. 2010-10-03 23:32:06 +0200 Sebastian Dröge * libs/gst/base/gstbytewriter.c: * libs/gst/base/gstbytewriter.h: bytewriter: Add inline variants of all important functions 2010-10-03 15:27:37 +0200 Sebastian Dröge * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/Makefile.am: * libs/gst/base/gstbitreader-docs.h: * libs/gst/base/gstbitreader.c: * libs/gst/base/gstbitreader.h: * tests/check/libs/bitreader.c: bitreader: Add inlined and unchecked versions of the important functions API: gst_bit_reader_skip_unchecked API: gst_bit_reader_skip_to_byte_unchecked API: gst_bit_reader_get_bits_uint16_unchecked API: gst_bit_reader_get_bits_uint32_unchecked API: gst_bit_reader_get_bits_uint64_unchecked API: gst_bit_reader_get_bits_uint8_unchecked API: gst_bit_reader_peek_bits_uint16_unchecked API: gst_bit_reader_peek_bits_uint32_unchecked API: gst_bit_reader_peek_bits_uint64_unchecked API: gst_bit_reader_peek_bits_uint8_unchecked This alone makes flacparse about 3 times faster. 2010-10-03 14:59:47 +0200 Sebastian Dröge * libs/gst/base/gstbytereader.c: * libs/gst/base/gstbytereader.h: bytewriter: Add guards to the inlined get_pos/get_remaining/get_size/etc functions 2010-10-03 14:24:00 +0200 Sebastian Dröge * libs/gst/base/gstbitreader.c: bitreader: Optimize peek_bits/get_bits a bit Use local variables instead of dereferencing the bitreader pointer all the time and don't copy the reader for peek_bits. 2010-09-27 19:29:24 -0300 Thiago Santos * gst/gstvalue.c: * tests/check/gst/gstvalue.c: gstdatetime: Fix string serialization Correctly serialize tzoffset as a gstvalue 2010-09-24 12:22:33 +0200 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: improve adjust_time() Add some more comments. Make sure we don't end up with negative timestamps. 2010-05-26 20:29:22 +0200 Havard Graff * libs/gst/base/gstbasesink.c: basesink: renderdelay needs to be subtracted in adjust_time() latency is already sink-latency + render-delay, and here we only want to deal with the sink-latency. Fixes #630436 2010-09-24 00:13:51 +0100 Tim-Philipp Müller * configure.ac: * win32/common/config.h: * win32/common/gstenumtypes.c: * win32/common/gstenumtypes.h: * win32/common/gstmarshal.c: win32: define GST_PACKAGE_RELEASE_DATETIME in win32 config.h as well 2010-09-23 20:57:49 +0100 Tim-Philipp Müller * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: po: update for new strings 2010-09-23 20:48:25 +0100 Tim-Philipp Müller * tools/gst-inspect.c: gst-inspect: print GST_PARAM_MUTABLE_* property flags 2010-05-04 09:36:43 +0200 Havard Graff * libs/gst/base/gstbasetransform.c: basetransform: Make a WARNING into a DEBUG statement Fixes bug #630437. 2010-01-12 17:10:59 +0100 Trond Andersen * gst/gstsystemclock.c: clock: fix racy shutdown clock id leak Clock IDs were leaked if the clock got disposed before the worker thread got a chance to reap unscheduled entries. Fixes bug #630439. 2010-09-23 18:18:54 +0200 Wim Taymans * libs/gst/base/gstbasetransform.c: basetransform: avoid useless memcpy Because of the awkward refcounting in prepare_output_buffer, we might end up with writable buffers that point to the same data. Check for those cases so that we avoid a useless memcpy and keep valgrind quiet. Fixes #628176 2010-09-23 14:37:45 +0100 Tim-Philipp Müller * configure.ac: * tests/check/Makefile.am: tests: fix 'make check' build for setups where no c++ compiler is available Only try to build (pseudo-)C++ unit test if a working C++ compiler has been found, otherwise the build will fail. (We do this to make sure our headers are 'C++ clean'). 2010-09-23 10:08:05 -0300 Thiago Santos * docs/gst/gstreamer-sections.txt: * gst/gsttaglist.c: * gst/gsttaglist.h: tag: Adds GST_TAG_GEO_LOCATION_HORIZONTAL_ERROR Adds a new tag to indicate the error in horizontal positioning in meters. This is one of the available 'gps error' fields in exif, for example. API: GST_TAG_GEO_LOCATION_HORIZONTAL_ERROR 2010-09-23 15:34:54 +0300 Stefan Kost * gst/gstpad.c: Revert "pad: use a nested lock to avoid reffing the peer" This reverts commit 9b424b1570366b10746a762e8c9c4c1b35b21e91. 2010-09-23 15:12:32 +0300 Stefan Kost * plugins/elements/gstqueue2.c: queue2: remove var only used for debug statement 2010-09-07 16:56:38 +0300 Stefan Kost * gst/gstpad.c: pad: use a nested lock to avoid reffing the peer Fixes #503592 2010-07-15 15:47:36 +0300 Stefan Kost * configure.ac: * tests/check/Makefile.am: * tests/check/gst/.gitignore: * tests/check/gst/gstcpp.cc: tests: rebuild one test using cpp This aims to catch cpp issues in core. Add c++ boilerplate to configure. 2010-09-21 18:33:26 +0200 Edward Hervey * common: Automatic update of common submodule From aa0d1d0 to 5e3c9bf 2010-09-19 16:10:16 +0200 Edward Hervey * tests/check/libs/adapter.c: tests: Handle new assertion in gst_adapter_masked_scan_uint32 2010-09-18 19:29:09 -0700 David Schleef * libs/gst/base/gstadapter.c: adapter: Add check for pattern bits not in mask 2010-09-17 19:53:33 +0200 Sebastian Dröge * tools/gst-launch.c: gst-launch: Use g_file_test() instead of access() which does not exist on MSVC6 Fixes bug #629494. 2010-09-17 17:34:42 +0200 Wim Taymans * gst/gstbufferlist.c: * gst/gstbufferlist.h: * tests/check/gst/gstbufferlist.c: * win32/common/libgstreamer.def: bufferlist: add function to add a list of buffers Add a function to add a list of buffers to the bufferlist. 2010-09-17 15:51:08 +0200 Wim Taymans * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstadapter.c: * libs/gst/base/gstadapter.h: * tests/check/libs/adapter.c: * win32/common/libgstbase.def: adapter: add function to get a list of buffers Add a function to retrieve a list of buffers containing the first N bytes from the adapter. This can be done without a memcpy and should make it possible to transfer the list to a GstBufferList later. 2010-09-17 15:07:50 +0200 Wim Taymans * libs/gst/base/gstadapter.c: adapter: reuse more data in _peek() Optimize _peek() some more by reusing already assembled data when we can. 2010-09-17 13:57:39 +0200 Wim Taymans * libs/gst/base/gstadapter.c: adapter: optimize _take() a little more When we have already assembled some data before, reuse this data and only copy the part that is new. 2010-09-17 12:48:55 +0200 Wim Taymans * libs/gst/base/gstadapter.c: adapter: refactor adapter take Move some common code into one place 2010-09-17 12:40:12 +0200 Wim Taymans * libs/gst/base/gstadapter.c: * tests/check/libs/adapter.c: adapter: add support for 0 sized buffers Add support for 0 sized buffers. This is interesting in combination with the timestamp functions. Fixes #629553 2010-09-17 10:01:01 +0200 Edward Hervey * docs/pwg/advanced-scheduling.xml: pwg: Make a sentence clearer. 2010-09-16 19:27:57 +0100 Tim-Philipp Müller * gst/gstelementfactory.c: elementfactory: make sure gstreamer has been initialized when creating elements Add gst_is_initialized() guard to gst_element_factory_make(), so people who forgot to call gst_init() get a useful warning for what seems to be a common enough mistake. 2010-09-16 00:37:59 +0100 Tim-Philipp Müller * gst/gstquery.c: query: minor gst_query_add_buffering_range() code reflow Sprinkle some G_UNLIKELY(), return TRUE/FALSE constants, avoid an unnecessary g_value_unset(), move g_value_init()+set_int64_range() closer to where they're needed. 2010-09-16 00:30:14 +0100 Tim-Philipp Müller * gst/gstquery.c: query: gst_query_add_buffering_range() optimisations Don't create a new GValueArray copy for every single _add_buffering_range() call, but append to the existing value array owned by the structure instead. 2010-09-16 00:03:38 +0100 Tim-Philipp Müller * gst/gststructure.c: structure: micro-optimisation for some setter functions Split out functions that do the actual work, so we avoid doing the same g_return_if_fail() checks multiple times for each call. 2010-09-15 23:42:43 +0100 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gststructure.c: * gst/gststructure.h: * win32/common/libgstreamer.def: structure: add gst_structure_{id_}take_value() Add _set_value() variants that take ownership of the value passed instead of making a copy of the value. This is useful for setting values to things that aren't refcounted (e.g. GValueArrays or strings or string arrays, etc.). API: gst_structure_take_value() API: gst_structure_id_take_value() https://bugzilla.gnome.org/show_bug.cgi?id=629831 2010-09-16 19:19:21 +0200 Wim Taymans * gst/gstbin.c: bin: fix doc string, we post element messages 2010-09-16 19:06:35 +0200 Wim Taymans * gst/gstbin.c: bin: add message-forward option Add an option to forward all the internal messages that would otherwise be filtered such as EOS, SEGMENT and ASYNC messages. This allows the application to, for example, detect that a partial pipeline is prerolled or reached eos. The original messages are wrapped inside an element message because the parent bins are not supposed to see those internal messages escape. 2010-09-12 16:50:11 +0100 Tim-Philipp Müller * gst/gstplugin.c: plugin: use strstr() instead of g_strstr_len() Saves us a strlen() call. 2010-09-15 13:29:52 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2: only post buffering message when percent changed 2010-09-15 13:15:19 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2: always update buffering status Update the buffering status even when we are not using a queue so that EOS can properly finish the buffering. 2010-09-13 20:39:50 -0300 Thiago Santos * gst/gstpad.c: gstpad: Fix flush-stop event handling A flush-stop event would make a pad unflushing, causing it to start acting as an activated pad. This, for example, could lead to the chain function being called when stuff isn't initialized. This could happend when setting qtdemux to NULL while a seek was being handled in the upstream filesrc (in push mode). This patch makes it check if it is activated before setting it to unflushing. 2010-09-13 11:17:34 +0300 Stefan Kost * docs/gst/gstreamer-sections.txt: * gst/gstcaps.c: * gst/gstdatetime.c: * gst/gstelement.c: * gst/gstelementfactory.h: * gst/gstpad.c: * gst/gsttaglist.h: docs: fix warnings pointed out by gtk-doc 2010-09-13 09:50:53 +0300 Stefan Kost * gst/gsttaskpool.c: taskpool: make debug only code conditional 2010-09-10 15:07:03 -0400 Colin Walters * gst/gsterror.h: introspection: Build with latest g-i Hide a compatibility typedef. https://bugzilla.gnome.org/show_bug.cgi?id=629241 https://bugzilla.gnome.org/show_bug.cgi?id=550616 2010-09-09 22:24:38 +0300 Stefan Kost * gst/gstpluginloader.c: pluginloader: don't leak entries for blacklisted files 2010-09-09 21:59:29 +0300 Stefan Kost * tests/check/generic/states.c: checks: and check the right env-var (fixup last commit) 2010-09-09 21:56:28 +0300 Stefan Kost * tests/check/Makefile.am: * tests/check/generic/states.c: tests: allow running state tests for all elements Now one can use GST_NO_STATE_IGNORE_ELEMENTS=1 make generic/states.check to try elements that would normaly be skipped. 2010-09-06 15:16:16 +0200 Edward Hervey * gst/gstobject.c: gstobject: avoid string creation when not needed 2010-09-09 16:11:41 +0200 Sebastian Dröge * plugins/elements/gstidentity.c: identity: identity is GAP flag aware, no need to let it be unset by basetransform 2010-09-09 15:57:15 +0300 Stefan Kost * tools/gst-launch.c: gst-launch: add a sync bus handler and move state-change logging there The sync handler is called for all mesages, the event loop we previously used was not. In the sync handler trigger pipeline dot dumps and call access for a file in tmp-dir to add markers interceptable by strace and co. 2010-09-08 18:41:18 +0100 Tim-Philipp Müller * gst/gstcaps.c: caps: simplify code a bit No need to call g_slist_length() here. 2010-09-08 09:37:42 +0300 Stefan Kost * gst/gstpad.c: pad: add a unchecked variant for pull Add internal _get_range_unchecked thats is called from _get_range and _pull_range. 2010-09-07 23:48:56 +0100 Tim-Philipp Müller * scripts/gst-uninstalled: gst-uninstalled: add ugly/bad/ffmpeg pkg-config dirs to PKG_CONFIG_PATH So we can figure out plugin directories of other modules properly in the uninstalled setup case, for unit tests that need elements from other modules. 2010-09-07 12:01:18 +0100 Tim-Philipp Müller * docs/plugins/gstreamer-plugins.args: * docs/plugins/gstreamer-plugins.hierarchy: docs: update plugin docs for recent changes And sorted hierarchy 2010-09-07 11:41:37 +0100 Tim-Philipp Müller * common: Automatic update of common submodule From c2e10bf to aa0d1d0 2010-09-07 11:09:16 +0100 Tim-Philipp Müller * tools/gst-inspect.c: gst-inspect: don't use gst_structure_foreach() on NULL pointers 2010-09-06 20:19:27 +0100 Tim-Philipp Müller * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: po: update translations for new strings 2010-09-06 20:16:14 +0100 Tim-Philipp Müller * gst/gsterror.c: gsterror: add default error message for GST_LIBRARY_ERROR_ENCODE No idea though why we even have GST_LIBRARY_ERROR_ENCODE or when one would want to use that instead of GST_STREAM_ERROR_ENCODE. 2010-09-06 20:06:56 +0100 Tim-Philipp Müller * gst/gsterror.c: gsterror: avoid pointless string copying There's no need to create these tables with duplicates of the untranslated error message string constants, we can just use old-fashioned switch/case and call gettext directly. This also makes things slightly more thread safe and more robust to bad input (invalid error codes). 2010-09-06 18:33:51 +0200 Edward Hervey * tests/check/gst/gstvalue.c: check: Avoid error: array subscript is above array bounds Could have come up with something better for my 2000th commit to GStreamer... 2010-09-06 17:01:19 +0300 Stefan Kost * gst/gstobject.c: docs: give a practical example for the gst_object_has_anchestor 2010-09-06 14:33:44 +0300 Stefan Kost * gst/gstelementfactory.c: elementfactory: use the parent_class defined by G_DEFINE_TYPE 2010-09-06 14:32:00 +0300 Stefan Kost * Makefile.am: * tests/check/Makefile.am: tests: tune skipping checks if we have disabled subsystems Skip ABI tests if some subsystems are off. Remove DISABLE_GST_DEBUG from skipping export checks as this is safe now. 2010-09-06 14:09:52 +0300 Olivier Crête * gst/gstregistrychunks.c: registrychunks: Use the correct variable for debug message Debug print was using a variable that was not initialized. 2010-08-10 14:05:22 +0300 Stefan Kost * docs/gst/gstreamer-sections.txt: * gst/gstelement.c: * gst/gstelement.h: * gst/gstelementfactory.c: * gst/gstelementfactory.h: * gst/gstregistrychunks.c: * tools/gst-inspect.c: * win32/common/libgstreamer.def: element-details: allow for arbitrary element details Add a GstStructure to GstElementClass and GstElementFactory. Add setters/getter. Handle it in the registry code. Print items in gst-inspect. Fixes #396774. API: gst_element_class_set_meta_data(), gst_element_factory_get_meta_data_detail() 2010-09-05 18:57:56 -0700 David Schleef * common: Automatic update of common submodule From d3d9acf to c2e10bf 2010-09-05 12:13:00 +0200 Sebastian Dröge * common: Automatic update of common submodule From ca1c867 to d3d9acf 2010-09-05 10:22:20 +0200 Edward Hervey * win32/common/libgstreamer.def: win32: Add new symbols from GstElementFactoryList And here's a reminder since I forgot to put them in my previous commit. API: gst_element_factory_list_filter API: gst_element_factory_list_get_elements API: gst_element_factory_list_is_type API: gst_plugin_feature_list_debug API: gst_plugin_feature_rank_compare_func API: GstElementFactoryListType API: GST_ELEMENT_FACTORY_TYPE_ANY API: GST_ELEMENT_FACTORY_TYPE_AUDIOVIDEO_SINKS API: GST_ELEMENT_FACTORY_TYPE_AUDIO_ENCODER API: GST_ELEMENT_FACTORY_TYPE_DECODABLE API: GST_ELEMENT_FACTORY_TYPE_DECODER API: GST_ELEMENT_FACTORY_TYPE_DEMUXER API: GST_ELEMENT_FACTORY_TYPE_DEPAYLOADER API: GST_ELEMENT_FACTORY_TYPE_ENCODER API: GST_ELEMENT_FACTORY_TYPE_FORMATTER API: GST_ELEMENT_FACTORY_TYPE_MAX_ELEMENTS API: GST_ELEMENT_FACTORY_TYPE_MEDIA_AUDIO API: GST_ELEMENT_FACTORY_TYPE_MEDIA_IMAGE API: GST_ELEMENT_FACTORY_TYPE_MEDIA_METADATA API: GST_ELEMENT_FACTORY_TYPE_MEDIA_SUBTITLE API: GST_ELEMENT_FACTORY_TYPE_MEDIA_VIDEO API: GST_ELEMENT_FACTORY_TYPE_MEDIA_ANY API: GST_ELEMENT_FACTORY_TYPE_MUXER API: GST_ELEMENT_FACTORY_TYPE_PARSER API: GST_ELEMENT_FACTORY_TYPE_PAYLOADER API: GST_ELEMENT_FACTORY_TYPE_SINK API: GST_ELEMENT_FACTORY_TYPE_SRC API: GST_ELEMENT_FACTORY_TYPE_VIDEO_ENCODER 2010-08-31 11:37:42 +0200 Philippe Normand * plugins/elements/gstqueue2.c: queue2: buffering_ranges query support Fixes bug 623121 2010-09-03 19:58:49 +0200 Sebastian Dröge * gst/gstquery.c: gstquery: Only fill the start/stop values of the buffering ranges if a non-NULL pointer was provided 2010-08-31 11:35:12 +0200 Philippe Normand * docs/gst/gstreamer-sections.txt: * gst/gstquark.c: * gst/gstquark.h: * gst/gstquery.c: * gst/gstquery.h: * tests/check/gst/gstquery.c: * win32/common/libgstreamer.def: gstquery: new buffering_ranges API Added a new query type to retrieve informations about the areas of the media currently buffered. See bug 623121. API: gst_query_add_buffering_range API: gst_query_get_n_buffering_ranges API: gst_query_parse_nth_buffering_range 2010-08-16 19:01:15 +0200 Edward Hervey * docs/gst/gstreamer-sections.txt: * gst/gstelementfactory.c: * gst/gstelementfactory.h: * gst/gstpluginfeature.c: * gst/gstpluginfeature.h: GstElementFactory: Add listing features https://bugzilla.gnome.org/show_bug.cgi?id=626181 2010-09-02 12:44:08 +0100 Tim-Philipp Müller * docs/gst/running.xml: docs: mention GST_DEBUG_OPTIONS, ORC_CODE, G_DEBUG and G_SLICE environment variables Mention a few more useful environment variables in the 'Running GStreamer applications' section of the API reference. 2010-09-02 14:15:29 +0300 Stefan Kost * plugins/elements/gstfakesrc.c: fakesrc: fix use of empty subbuffers Remove a short cut that was ignoring src->data allocation mode. All the called code-path below handle size==0. 2010-09-02 00:01:25 +0100 Jeffrey S. Smith * docs/gst/gstreamer-sections.txt: * gst/gstbuffer.h: * gst/gstbufferlist.h: * gst/gstevent.h: * gst/gstmessage.h: * gst/gstminiobject.h: * gst/gstquery.h: * gst/gstutils.h: * libs/gst/base/gstbytewriter.h: Fix casts in a bunch of inline functions to maintain correct const-ness Make code including GStreamer headers compile with -Wcast-qual by maintaining const-ness when casting. Also fix function signature of gst_byte_writer_set_pos(): the byte writer should not be marked as const. https://bugzilla.gnome.org/show_bug.cgi?id=627910 2010-08-31 18:40:44 +0100 Tim-Philipp Müller * common: * configure.ac: * libs/gst/base/Makefile.am: * libs/gst/check/Makefile.am: * libs/gst/controller/Makefile.am: * libs/gst/dataprotocol/Makefile.am: * libs/gst/net/Makefile.am: build: use new AG_GST_PKG_CONFIG_PATH m4 macro from common Sets up a GST_PKG_CONFIG_PATH variable for use in Makefile.am (avoids trailing ':' in PKG_CONFIG_PATH used). A useful side effect of this is also that the PKG_CONFIG_PATH environment is now logged in the configure output. 2010-09-01 11:34:01 +0200 Wim Taymans * docs/manual/advanced-clocks.xml: manual: improve clock docs a little 2010-09-01 11:06:57 +0200 Sebastian Dröge * tests/check/gst/gstvalue.c: gstvalue: Fix memory leaks in the int64range tests 2010-08-24 12:27:30 +0200 Philippe Normand * docs/gst/gstreamer-sections.txt: * gst/gststructure.c: * gst/gstvalue.c: * gst/gstvalue.h: * tests/check/gst/gstvalue.c: * win32/common/libgstreamer.def: gstvalue: Add new GstInt64Range type new GstInt64Range to store gint64 ranges. API: GST_TYPE_INT64_RANGE API: gst_value_set_int64_range API: gst_value_get_int64_range_min API: gst_value_get_int64_range_max Fixes bug #627826. 2010-08-30 21:26:18 -0300 Arun Raghavan * gst/gstinfo.h: docs: Trivial cleanup for GST_DEBUG_CATEGORY_GET 2010-08-30 16:02:55 +0200 Edward Hervey * gst/gstinfo.c: info: Re-instate the default for color usage This was accidently removed in 7a722091b6d1b5d7f9404fdef4c695a29a65a989 2010-08-30 12:47:31 +0200 Edward Hervey * libs/gst/check/gstcheck.h: check: Use g_strcmp0 instead of strcmp Avoids segfaults when using NULL arguments. 2010-08-27 15:35:49 +0300 Stefan Kost * plugins/elements/gstqueue.c: * plugins/elements/gstqueue.h: queue: add silent property to suppress signal emission Allow to turn off signal emission and therefore extra locking if this is not needed. Fixes #621299 2010-08-28 10:16:05 +0200 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * win32/common/libgstreamer.def: utils: Add gst_util_fraction_compare() to the docs and exported symbols 2010-08-28 17:51:14 +1000 Jan Schmidt * tests/check/gst/gstpad.c: tests: Remove checks for deprecated flow check macros GST_FLOW_IS_FATAL() and GST_FLOW_IS_SUCCESS() are deprecated, so aren't available for the testsuite any more. 2010-08-28 09:35:01 +0200 Sebastian Dröge * gst/gstutils.c: utils: Fix inverted assertion logic in gst_util_fraction_compare() 2010-08-28 09:30:18 +0200 Sebastian Dröge * gst/gstutils.c: * gst/gstutils.h: * gst/gstvalue.c: utils: Add gst_util_fraction_compare() to compare fractions And use it for the fraction comparisons in gstvalue.c instead of using comparisons by first converting the fractions to double. Should fix bug #628174. API: gst_util_fraction_compare() 2010-08-28 17:04:43 +1000 Jan Schmidt * tests/check/gst/capslist.h: tests: Add a couple of extra caps strings to test 2010-08-27 16:52:12 +0200 Sebastian Dröge * plugins/elements/gstmultiqueue.c: multiqueue: Don't do an infinite loop in the loop function Instead return after every iteration, which makes sure that the stream lock is released for a short time after every iteration, task state changes are checked, etc and this allows the task to be stopped properly. 2010-08-27 16:49:14 +0200 Sebastian Dröge * plugins/elements/gstmultiqueue.c: multiqueue: Flush the data queue if downstream return WRONG_STATE too 2010-08-26 23:39:06 +0200 Sebastian Dröge * plugins/elements/gstmultiqueue.c: * plugins/elements/gstqueue.c: * plugins/elements/gstqueue2.c: elements: Stop using GST_FLOW_IS_FATAL() 2010-08-26 23:37:07 +0200 Sebastian Dröge * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: base: Stop using GST_FLOW_IS_FATAL() And document the special handling of WRONG_STATE. 2010-08-26 23:07:51 +0200 Sebastian Dröge * gst/gstpad.h: pad: Deprecate GST_FLOW_IS_FATAL() and GST_FLOW_IS_SUCCESS() The problem with both macros is, that they suggest something that isn't true. If GST_FLOW_IS_FATAL is true, there could still be a problem for many elements and they should stop what they're currently doing and return that value upstream (e.g. not-linked in a parser). If GST_FLOW_IS_SUCCESS is false, it could still be that this is "ok" for the element (e.g. not-linked for a demuxer on a few of its pads but not all). It's better to not have these "convenience" macros but instead let people *think* about the handling of different flow returns, that makes sense for their element. And we should document the expected handling of flow returns for different classes of elements in the plugin writer's guide. Fixes bug #628014. 2010-08-27 11:11:00 +0300 Stefan Kost * plugins/elements/gstfakesink.c: fakesink: keep properties in order 2010-08-27 10:22:27 +0300 Stefan Kost * plugins/elements/gstqueue.c: queue: ARG_ -> PROP_ for property constants 2010-08-26 17:04:20 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2: fix on-disk buffering again 2010-08-26 15:12:49 +0200 Wim Taymans * libs/gst/base/gstbasetransform.c: basetransform: recover from invalid downstream suggestions When we are handling a buffer and need to allocate an output buffer, handle the case when downstream suggests us a format that we can't convert the input buffer to. In that case, check if there is another format available downstream instead of failing. Fixes #621332 and see also #614296 2010-08-26 13:46:34 +0200 Alessandro Decina * gst/gstplugin.c: gstplugin: load the gst-python plugin loader with G_MODULE_BIND_LAZY. 2010-08-16 14:12:35 -0300 Thiago Santos * docs/gst/gstreamer-sections.txt: * gst/gsttaglist.c: * gst/gsttaglist.h: tag: Adds GST_TAG_APPLICATION_DATA Adds GST_TAG_APPLICATION_DATA for representing arbitrary private data that applications might want to store into tags. Exif/id3, for example, have tags for this. API: GST_TAG_APPLICATION_DATA Fixes #626651 2010-08-24 12:46:38 -0700 David Schleef * tools/gst-launch.1.in: gst-launch: Fix OIL_CPU_FLAGS docs for Orc 2010-08-24 16:24:19 +0300 Stefan Kost * tools/gst-launch.1.in: man: remove OIL_CPU_FLAGS from man page We're using ORC instead of libOil now. 2010-08-23 18:20:23 -0700 David Schleef * gst/gstinfo.c: Valgrind define is HAVE_VALGRIND_VALGRIND_H 2010-07-27 18:24:44 -0700 David Schleef * gst/gstinfo.c: Allow gst_debug_set_default_threshold() before gst_init() Calling gst_debug_set_default_threshold() before initialization seems like the "obvious" order. 2010-08-23 13:06:19 +0200 Jonas Holmberg * tests/check/elements/queue.c: queue: fix segfault in test 2010-08-23 10:58:16 +0200 Mark Nauwelaerts * gst/gstregistrychunks.c: registrychunks: intern all GstPluginDesc members when unpacking 2010-08-23 10:56:30 +0200 Mark Nauwelaerts * gst/gstobject.c: gstobject: fix leak when naming parented object 2010-08-20 03:07:58 +0530 Arun Raghavan * docs/gst/gstreamer-sections.txt: * gst/gst.c: * gst/gst.h: * win32/common/libgstreamer.def: gst: Add a gst_is_initialized() API For one, this will allow libraries that expect applications to initialize GStreamer before using their API to have a check for this condition. https://bugzilla.gnome.org/show_bug.cgi?id=627438 2010-08-20 18:04:52 +0200 Wim Taymans * gst/gstbin.c: bin: relax the source element check When there is a sink inside a bin, the SINK flag is set on the bin. When we are trying to iterate the source elements, also include the bins with the SINK flag because they could also contain source elements, in which case they are also a source. This solves the case where sending an EOS to a pipeline didn't get dispatched to all source elements. See #625597 2010-08-19 17:07:00 +0200 Jonas Holmberg * tests/check/elements/queue.c: queue: added unit test for newsegment events 2010-03-05 17:18:23 +0100 Jonas Holmberg * plugins/elements/gstqueue.c: * plugins/elements/gstqueue.h: queue: Push newsegment when linking in PLAYING Fixes #611918 2010-08-12 20:23:45 -0300 Thiago Santos * gst/gstutils.c: element: link_many should activate pads if needed gst_element_link_many does some magic and creates ghostpads if needed, but it didn't set the newly created ghostpad to active if needed. This patch fixes it. https://bugzilla.gnome.org/show_bug.cgi?id=626784 2010-08-19 11:11:28 +0200 Sebastian Dröge * tests/check/gst/gstdatetime.c: datetime: Fix memory leak in the unit test by unreffing GstDateTime instance after usage 2010-08-19 10:03:08 +0200 Wim Taymans * tests/check/elements/queue.c: tests: fix comments in test 2010-08-19 09:58:55 +0200 Edward Hervey * plugins/elements/gstqueue2.c: queue2: Use G_GUINT64_FORMAT where needed Fixes build on macosx 2010-08-18 15:31:09 +0200 Wim Taymans * tests/check/Makefile.am: check: enable queue test again 2010-08-18 15:12:45 +0200 Jonas Holmberg * tests/check/elements/queue.c: queue: fixed racy unit tests Fixes #600004 2010-08-16 18:01:27 +0300 Stefan Kost * plugins/elements/gstcapsfilter.c: * plugins/elements/gstfakesink.c: * plugins/elements/gstfilesink.c: * plugins/elements/gstfilesrc.c: * plugins/elements/gsttee.c: plugins: add example launch lines and more explanation to the docs. The plugins where almost undocumented :/ ... 2010-08-13 16:19:36 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2: fix compilation 2010-07-07 08:20:21 +0200 Robert Swain * plugins/elements/gstqueue2.c: queue2: Fix a special case during range management When a range contained no data, if it was new or newly empty, it would be mishandled if it were the current range. 2010-07-05 13:43:05 +0200 Robert Swain * plugins/elements/gstqueue2.c: queue2: fix locking around init_ranges This fixes a segfault where the ready to paused state change causes freeing and allocation of new ranges while another thread is trying to use them. 2010-07-02 17:40:08 +0200 Robert Swain * plugins/elements/gstqueue2.c: queue2: More ring buffer fixes - Set reading_pos correctly in _create_read () - Seek to data if it is further than QUEUE_MAX_BYTES (queue) - cur_level.bytes away. This should avoid a situation where the ring buffer is full but the data offset from which we shall read is not in the ring buffer. - Only update the max_reading_pos to a lower value to protect data when necessary - Always signal an ADD in _locked_enqueue () so that an EOS unlocks the reader - More useful debug output 2010-06-28 17:50:06 +0200 Robert Swain * plugins/elements/gstqueue2.c: queue2: ring buffer fixes One must not affect the values of the current range based on a read request before the correct range is activated. 2010-06-25 12:58:27 +0200 Robert Swain * plugins/elements/gstqueue2.c: queue2: Fix bugs update_buffering () needs to be called every time we write to the ring buffer so that applications don't get stuck waiting for a 100% buffered message while queue2 is waiting for space _create_write () must only be called for temp file/ring buffer cases 2010-06-18 17:43:40 +0200 Robert Swain * plugins/elements/gstqueue2.c: * plugins/elements/gstqueue2.h: queue2: extend ring buffer to support ram mode 2010-06-18 14:36:33 +0200 Robert Swain * plugins/elements/gstqueue2.c: queue2: merge write buffer functions and fix bugs Cached data could have been overwritten so it is now protected until it is read. Similarly data was overread as _have_data () was always looking for the originally requested data even if part of it had been read already. 2010-06-17 10:18:48 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2: small cleanup 2010-06-16 18:25:35 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2: cleanup write_to_ring_buffer Use cur_level.bytes to see how much space is free in the ringbuffer. Simplyfy the write function, avoid taking subbuffers, move waiting for free space in one spot, use simply counter to write data of a buffer. 2010-06-16 17:03:49 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2: cleanups Add a macro to get the max size of the queue in bytes, which depends on the max_level.bytes and the ring_buffer_max_size. Some cleanups. 2010-06-16 16:23:02 +0200 Wim Taymans * plugins/elements/gstqueue2.c: * plugins/elements/gstqueue2.h: queue2: remove unused variable 2010-06-16 16:13:28 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2: cleanups Make sure the cur_level.bytes is updated after we change the writing_pos or the max_reading_pos. Refactor get_free_space() Add some comments 2010-06-16 12:00:45 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2: remove unneeded signal 2010-06-16 12:00:30 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2: set buffering mode correctly 2010-06-16 11:20:00 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2: fix calculation of available ringbuffer data 2010-06-16 11:11:32 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2: reading_pos is updated in create_read only 2010-06-16 11:11:11 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2: refactor and add debug 2010-06-16 11:10:23 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2: fix flushing 2010-06-16 11:09:25 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2: add debug 2010-06-15 17:26:15 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2: don't try to write 0 bytes 2010-06-15 16:12:02 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2; cleanups and fixes Make a macro for some frequent checks Emit the removed signal in all cases when we remove something 2010-06-15 12:37:33 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2: refactorings Check and handle seek errors Refactor the wait_free_space function. 2010-06-16 12:24:25 +0200 Robert Swain * plugins/elements/gstqueue2.c: queue2: Use ring-buffer-max-size prop to control ring buffer 2010-06-06 09:30:48 +0200 Robert Swain * plugins/elements/gstqueue2.c: queue2: Clean up and improve code 2010-05-26 04:11:48 +0200 Robert Swain * plugins/elements/gstqueue2.c: queue2: Fix conditions where behaviour should differ between ring buffer and temp file 2010-05-19 16:04:15 +0200 Robert Swain * plugins/elements/gstqueue2.c: queue2: add useful debug messages and fix an assumption in _have_data () 2010-05-18 17:42:07 +0200 Robert Swain * plugins/elements/gstqueue2.c: queue2: fix buffering percentage in ring buffer mode 2010-05-18 17:21:40 +0200 Robert Swain * plugins/elements/gstqueue2.c: queue2: various ring buffer fixes - make _get_range () emit the del signal once a buffer has been read - use do {} while (); for wait code as queue is locked and no data could have been read in the mean time so it makes no sense to check before waiting - make _is_filled () more robust 2010-05-07 09:30:44 +0200 Robert Swain * plugins/elements/gstqueue2.c: * plugins/elements/gstqueue2.h: queue2: ring buffer work in progress 2010-05-05 10:21:55 +0200 Robert Swain * plugins/elements/gstqueue2.c: * plugins/elements/gstqueue2.h: queue2: Add use-ring-buffer and ring-buffer-max-size properties 2010-06-15 08:59:11 +0200 Robert Swain * plugins/elements/gstqueue2.c: queue2: add ST-Ericsson copyright 2010-08-13 17:23:31 +0300 Stefan Kost * common: Automatic update of common submodule From 3e8db1d to ec60217 2010-08-12 22:08:44 +0300 Stefan Kost * gst/gstinfo.c: info: xrefs glib symbol in docs 2010-08-12 16:05:35 -0300 Thiago Santos * libs/gst/base/gstcollectpads.h: gstcollectpads: Fix docs about GstCollectData list Add to the docs the fact that is only safe to iterate GstCollectPad's data list inside the collected callback. Fixes #610366 2010-08-10 10:56:38 +0100 Tim-Philipp Müller * common: Automatic update of common submodule From bd2054b to 3e8db1d 2010-08-04 11:24:12 -0300 Thiago Santos * docs/gst/gstreamer-sections.txt: * gst/gsttaglist.c: * gst/gsttaglist.h: tag: Adds GST_TAG_APPLICATION_NAME tag Adds a new tag for representing application used to create a media https://bugzilla.gnome.org/show_bug.cgi?id=626027 2010-08-08 17:57:52 +0200 Sebastian Dröge * gst/gstbufferlist.c: bufferlist: Initialize the GType cache for the bufferlist again This was accidentially removed with last commit. 2010-08-06 19:38:22 +0200 Sebastian Dröge * gst/gstbufferlist.c: bufferlist: Don't chain up finalize to the parent class GstMiniObject::finalize does nothing and this prevents a runtime-type-check cast and function call per buffer list. 2010-07-20 09:23:11 -0500 Shixin Zeng * gst/gstbufferlist.c: * gst/gstminiobject.c: * gst/gstvalue.c: gst: make _get_type() in gst/* thread safe This is not really necessary here because everything is initialized from gst_init() already but using G_DEFINE_TYPE() removes some copy&paste boilerplate code. 2010-08-06 19:34:42 +0200 Sebastian Dröge * plugins/elements/gstfilesrc.c: * plugins/indexers/gstfileindex.c: * plugins/indexers/gstmemindex.c: plugins: Add declarations for _get_type() functions to fix compiler warnings 2010-07-20 09:23:54 -0500 Shixin Zeng * plugins/elements/gstfilesrc.c: * plugins/indexers/gstfileindex.c: * plugins/indexers/gstmemindex.c: plugins: Make *_get_type() in plugins/* thread safe It's not really needed here but using G_DEFINE_TYPE() reduces some copy&paste boilerplate code. 2010-08-06 18:43:56 +0200 Sebastian Dröge * libs/gst/base/gstbasesrc.c: basesrc: Make sure the buffer metadata is writable before changing it 2010-08-05 13:56:11 +0300 Stefan Kost * common: Automatic update of common submodule From 2004d03 to bd2054b 2010-08-05 10:04:47 +0100 Tim-Philipp Müller * gst/gstutils.c: utils: speed up pad linking utility functions by not trying pads that will never work In gst_element_get_compatible_pad(), when trying to find a compatible pad on an element for a given pad, there's no point in checking the element's sink pads if the pad to link is a sink pad as well, or the element's source pads if the given pad is a source pad already, since those would never be able to link anyway. Should speed up linking using the convenience functions a little bit, or at least reduce debug log output. 2010-08-05 10:32:53 +0300 Stefan Kost * gst/gstinfo.c: info: take the timestamp a tick later The logging is not an atomic operation and because of the multi-threading we end up with out-of-order log lines. Tools that present the log-file should probably resort the lines. This change just takes the timestamp a bit closer to the actual logging. 2010-08-05 09:36:16 +0300 Stefan Kost * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: debug: logging improvements Use the event serialisation. Log formats name instead of number. 2010-07-15 15:46:24 +0300 Stefan Kost * libs/gst/check/gstcheck.c: * libs/gst/check/gstcheck.h: check: don't use c++ keywords as variable names 2010-07-15 11:37:30 +0300 Stefan Kost * libs/gst/base/gstbasesrc.c: basesrc: log seek event details 2010-07-12 10:50:53 +0300 Stefan Kost * docs/manual/advanced-dparams.xml: manual: update gst-controller chapter The docs were still describing deprecated api. Update it to tell about control-cources. 2010-07-09 15:58:50 +0300 Stefan Kost * tests/benchmarks/controller.c: * tests/examples/helloworld/helloworld.c: * tests/examples/launch/mp3parselaunch.c: * tests/examples/queue/queue.c: * tests/examples/stepping/framestep1.c: * tests/examples/streams/stream-status.c: * tests/examples/typefind/typefind.c: tests: clean up eventloop in examples Don't leak the bus. Don't parse messages with the method for errors (triggers gobject warning). 2010-07-08 14:08:27 +0300 Stefan Kost * tests/benchmarks/capsnego.c: benchmark: handle errors from the pipeline Catch errors and warnings on the bus. This fixes hanging pipelines in the case of bugs elsewhere. Also print state-change messages to give more detail on the progress. 2010-07-06 18:20:40 +0300 Stefan Kost * tests/benchmarks/capsnego.c: benchmark: cleanup last change in capsnego benchmark A pad name is not a factory name. 2010-07-06 14:29:39 +0300 Stefan Kost * gst/gstparse.c: docs: more docs for gst_parse_launch and co Tell about limited reusability of some parsed pipelines. 2010-07-05 16:32:00 +0300 Stefan Kost * tools/gst-inspect.c: inspect: pad info output improvements Don't print empty query types. Also print caps-vmethods. 2010-07-06 16:47:22 +0300 Stefan Kost * gst/gstpad.c: pad: log element:pad names with caps 2010-06-30 11:46:11 +0300 Stefan Kost * gst/gstutils.c: utils: better error logging in link_pads_filtered 2010-06-24 10:00:04 +0300 Stefan Kost * tests/check/libs/transform1.c: tests: add comments telling the meaning of the abbreviations 2010-07-05 12:19:29 +0300 Stefan Kost * libs/gst/base/gstbasesrc.c: basesrc: avoid some caps manipulation After the intersect we have writable caps. Copy the template caps so that also there we have writable caps. 2010-08-05 01:09:02 +0100 Tim-Philipp Müller * tests/check/gst/gstutils.c: tests: add basic unit test for gst_pad_proxy_getcaps() https://bugzilla.gnome.org/show_bug.cgi?id=624203 2010-08-05 01:06:57 +0100 Olivier Crête * gst/gstutils.c: gstutils: Make gst_pad_proxy_getcaps() return empty caps if it's what the other side has gst_pad_proxy_getcaps() would return the pad template caps if the other side returned empty caps or if the intersection of all the caps on the other side was empty. https://bugzilla.gnome.org/show_bug.cgi?id=624203 2010-08-04 19:19:55 +0200 Sebastian Dröge * configure.ac: configure: Check if the compiler supports ISO C89 or C99 and which parameters are required This first checks what is required for ISO C99 support and sets the relevant compiler parameters and if no C99 compiler is found, it checks for a C89 compiler. This enables us to check for and use C89/C99 functions that gcc hides from us without the correct compiler parameters. 2010-08-04 13:47:23 -0300 Thiago Santos * libs/gst/base/gstbytereader.c: bytereader: Fix docs Fix typo in docs for the unsigned peek functions 2010-07-05 10:00:02 +0200 Wim Taymans * gst/gst.c: gst: remove \n from debug statements 2010-08-03 11:37:13 +0100 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: docs: fix build with gtk-doc from git For some reason the static inline function GST_CAT_LEVEL_LOG_valist is now picked up, which then breaks the build because it's not documented, so add it to the sections file. Based on patch by Víctor Manuel Jáquez Leal . Fixes #625862. 2010-07-15 23:05:09 +0300 Stefan Kost * plugins/elements/gsttypefindelement.c: typefind: add comment and more logging 2010-07-29 17:27:06 +0200 Mark Nauwelaerts * plugins/elements/gstqueue2.c: queue2: download mode; prevent range corruption due to race Current range was being updated in the thread performing seek, but as no locks were kept for a short section, data flow could resume before current range updated, so data for the new range would be accepted as from the previous range. Rather, range should be updated in serialized manner based on newsegment event. 2010-05-22 16:33:11 -0500 Rob Clark * libs/gst/base/gstbasetransform.c: basetransform fix for upstream caps-renegotiation If initially pass-through caps are negotiated between a transform element's sink and src pads, but then the downstream element returns different caps on a buffer from pad_alloc(), basetransform gets stuck with proxy_alloc=TRUE even though the upstream peer doesn't accept the caps, causing gst_pad_peer_accept_caps() to be called on each buffer in _buffer_alloc(): if (!gst_caps_is_equal (newcaps, caps)) { GST_DEBUG_OBJECT (trans, "caps are new"); /* we have new caps, see if we can proxy downstream */ >> if (gst_pad_peer_accept_caps (pad, newcaps)) { /* peer accepts the caps, return a buffer in this format */ GST_DEBUG_OBJECT (trans, "peer accepted new caps"); which is taking ~40ms/frame. This patch does two things. (1) if the buffer returned from pad_alloc() has new caps, trigger the decision whether to proxy the buffer-alloc to be revisited, and (2) disable proxy if peer does not accept new caps. (The first part may not be strictly needed, but seemed like a good idea.) Note that this issue would not arise except in case of downstream elements who have on their template-caps, some that would be suitable for pass-through, but at runtime pick more restrictive caps (for ex, after querying a driver for what formats it actually supports). 2010-07-27 14:30:51 +0200 Tim-Philipp Müller * gst/gstinfo.c: info: fix compilation on windows Fix mismatched brackets (#625295). 2010-07-27 07:21:19 -0300 Thiago Santos * gst/gstdatetime.c: gstdatetime: Fix localtime usage localtime only takes one parameter and returns a statically allocated tm struct. Use it correctly. Fixes #625368 2010-03-29 18:05:40 -0300 Thiago Santos * libs/gst/base/gstbasetransform.c: * tests/check/libs/transform1.c: basetransform: Try suggesting caps on bad caps pad_alloc When basetransform received an unsupported caps on pad_alloc it just returned not-negotiated. This patch makes it query the allowed caps between his sinkpad and upstream's srcpad to find a caps to suggest. This happens when dinamically switching pipeline elements and upstream pad_allocs with the previous caps that was being used. Fixes #614296 2010-07-26 18:53:57 +0200 Tim-Philipp Müller * gst/gstinfo.c: info: flush again after every line of debug output g_printerr() used to do this for us. Also use libc's fprintf() functions, to make sure the stderr pointer we use is actually compatible with the libc linked against by GStreamer (which apparently may not always be the same as what GLib is linked against on windows), and we don't need the functionality ensured by g_fprintf(). Fixes #625295. 2010-07-26 18:53:35 +0200 Tim-Philipp Müller * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sl.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: po: update for new strings 2010-06-23 11:31:33 -0300 Thiago Santos * tests/check/gst/gstvalue.c: gstvalue: Adds tests for datetime Adds tests for datetime fields in gstvalue tests Fixes #594504 2010-06-23 11:30:02 -0300 Thiago Santos * docs/gst/gstreamer-sections.txt: * gst/gststructure.c: * gst/gststructure.h: * win32/common/libgstreamer.def: gststructure: Adds datetime getter function Adds gst_structure_get_date_time function API: gst_structure_get_date_time Fixes #594504 2010-06-21 23:42:44 -0300 Thiago Santos * docs/gst/gstreamer-sections.txt: * gst/gsttaglist.c: * gst/gsttaglist.h: tag: Adds GST_TAG_DATE_TIME tag Adds a new tag that represents a date and time a media was created API: GST_TAG_DATE_TIME Fixes #594504 2010-07-21 22:08:21 -0300 Thiago Santos * docs/gst/gstreamer-sections.txt: * gst/gsttaglist.c: * gst/gsttaglist.h: * win32/common/libgstreamer.def: taglist: Add datetime get functions Adds _date_time_get and _date_time_get_index functions to taglist. API: gst_tag_list_get_date_time API: gst_tag_list_get_date_time_index Fixes #594504 2010-07-21 22:04:23 -0300 Thiago Santos * docs/gst/gstreamer-sections.txt: * gst/gst_private.h: * gst/gstdatetime.c: * gst/gststructure.c: * gst/gstvalue.c: * gst/gstvalue.h: * win32/common/libgstreamer.def: gstvalue: Adds datetime functions Adds a datetime functions to gstvalue Fixes #594504 2010-07-16 14:09:12 -0300 Thiago Santos * configure.ac: * docs/gst/gstreamer-sections.txt: * gst/Makefile.am: * gst/gst.h: * gst/gstdatetime.c: * gst/gstdatetime.h: * tests/check/Makefile.am: * tests/check/gst/.gitignore: * tests/check/gst/gstdatetime.c: * win32/common/libgstreamer.def: gstdatetime: Adds GstDateTime Adds GstDateTime to represent dates + time + timezone information. Tests included. API: GstDateTime API: gst_date_time_get_day API: gst_date_time_get_month API: gst_date_time_get_year API: gst_date_time_get_hour API: gst_date_time_get_microsecond API: gst_date_time_get_minute API: gst_date_time_get_second API: gst_date_time_get_time_zone_offset API: gst_date_time_new API: gst_date_time_new_local_time API: gst_date_time_new_from_unix_epoch API: gst_date_time_new_now_local_time API: gst_date_time_new_now_utc API: gst_date_time_ref API: gst_date_time_unref Fixes #594504 2010-07-26 14:59:51 +0200 Sebastian Dröge * gst/gst.c: gst: Fix usage of glib_check_version() It returns NULL if the installed GLib version is as least as new as the required version and some explanatory string otherwise. 2010-07-23 20:46:10 +0100 Tim-Philipp Müller * tools/gst-inspect.c: tools: make gst-inspect print the release date time stamp 2010-06-21 17:34:49 +0100 Tim-Philipp Müller * common: * configure.ac: configure: use new AG_GST_SET_PACKAGE_RELEASE_DATETIME_WITH_NANO macro 2010-06-20 01:55:00 +0100 Tim-Philipp Müller * gst/gstregistrybinary.h: * gst/gstregistrychunks.c: binaryregistry: save and load release date time in GstPluginDesc https://bugzilla.gnome.org/show_bug.cgi?id=623040 2010-06-20 00:33:36 +0100 Tim-Philipp Müller * gst/gstplugin.c: * gst/gstplugin.h: * tests/check/gst/gstplugin.c: plugin: add release datetime field to GstPluginDesc and set it if GST_PACKAGE_RELEASE_DATETIME is defined This is a string describing a date and/or date/time in a simple subset of the ISO-8601 format, namely either "YYYY-MM-DD" or "YYYY-MM-DDTHH:MMZ" (with 'T' the date/time separator and the 'Z' indicating UTC). The main purpose of this field is to keep track of plugin and element versions on an absolute timeline, so it's possible to determine which one is newer when comparing two date time numbers. This will allow us to express 'replaces'-type relationships betweeen plugins and element factories in future, even across different modules and plugin merges or splits (source module version numbers aren't particularly useful here, since they can only meaningfully be compared within the same module). It also allows applications and libraries to reliably check that a plugin is recent enough without making assumptions about modules or module versions. We use a string here to keep things simple and clear, esp. on the build system side of things. https://bugzilla.gnome.org/show_bug.cgi?id=623040 2010-07-20 09:25:20 -0500 Shixin Zeng * tests/check/gst/gstobject.c: * tests/check/gst/gstpreset.c: * tests/check/libs/controller.c: tests: make *_get_type() in tests thread safe Even if it shouldn't be needed here. See #623491. 2010-06-04 11:24:59 +0100 Tim-Philipp Müller * gst/gstinfo.c: info: write debugging output to file if GST_DEBUG_FILE environment variable is set This changes behaviour slightly in that we no longer output things via g_printerr(), so any non-standard glib printerr handlers are no longer called when GST_DEBUG is enabled. However, this seems not really desirable in most cases anyway, and the GLib docs also say that libraries should not use g_printerr() for logging. Other stderr output (e.g. warnings, or application messages) will of course not be captured in the log file this way. GST_DEBUG_FILE=- will redirect debug output to stdout. 2010-07-20 20:49:12 +0200 Edward Hervey * gst/gstpad.c: gstpad: Assume pads are compatible if we don't have templates This is the same behaviour as if we had a pad template caps of GST_CAPS_ANY on any of the pads (i.e. the actual check will be done during caps negotiation). 2010-07-17 21:28:41 +0200 Sebastian Dröge * libs/gst/base/gstbasetransform.c: basetransform: Allow the subclass to add new fields to caps when getting new caps from downstream This was already done in all other cases where new caps are handled except upstream negotiation. 2010-07-12 14:39:00 +0200 Michael Bunk * docs/manual/advanced-autoplugging.xml: * docs/manual/advanced-clocks.xml: * docs/manual/advanced-dataaccess.xml: * docs/manual/advanced-dparams.xml: * docs/manual/advanced-interfaces.xml: * docs/manual/advanced-metadata.xml: * docs/manual/advanced-threads.xml: * docs/manual/basics-elements.xml: * docs/manual/basics-pads.xml: * docs/manual/intro-basics.xml: * docs/manual/manual.xml: docs: fix some typos and add some missing links in the app dev manual Fixes #624164. 2010-07-12 14:22:50 +0200 Michael Bunk * tools/gst-inspect.1.in: docs: fix typo on gst-inspect man page See #624164. 2010-07-03 15:08:12 +0100 Tim-Philipp Müller * libs/gst/check/gstcheck.c: gstcheck: fix some silly list iteration code g_list_length() is not the best way to check if a list is empty or not. 2010-07-16 17:53:38 +0100 Tim-Philipp Müller * gst/glib-compat-private.h: * gst/gstplugin.c: * gst/gstregistry.c: * gst/gstregistrybinary.c: registry: use GStatBuf unconditionally and add typedef for backwards compatibility No need to clutter the code with #if #else #endif. See #623875. 2010-07-16 17:33:38 +0200 Sebastian Dröge * gst/gststructure.c: * gst/gststructure.h: structure: Use a const GstStructure * as parameter for some more gst_structure_get variants 2010-07-14 19:47:43 +0200 Sebastian Dröge * tools/gst-launch.c: Revert "-launch: disable CLOCK_LOST message handling" This reverts commit 1f8eba611a63f45766c38c640288e42b27b10bd4. This should be fixed now (and if not should be fixed) and the clock-lost handling is now needed for playbin2 gapless playback. See bug #579127. 2010-07-08 21:04:54 +0200 David Hoyt * gst/gstplugin.c: * gst/gstregistry.c: * gst/gstregistrybinary.c: registrybinary: Fix compatibility with GLib 2.25 when using MSVC Newer GLib uses a new type for g_stat() and friends to improve Windows compatibility. On POSIX this is a typedef to struct stat. Fixes bug #623875. 2010-07-08 07:48:07 +0200 Sebastian Dröge * gst/gstpipeline.c: pipeline: If the currently used clock gets lost update it the next time when going from PAUSED to playing Fixes bug #623806. 2010-07-05 19:33:01 +0200 Sebastian Dröge * libs/gst/base/gstbasesrc.c: basesrc: Return values in stream time for the POSITION query Fixes bug #623622. 2010-07-05 18:54:45 +0200 Sebastian Dröge * libs/gst/base/gstbasesink.c: basesink: Implement GstElement::get_query_types() 2010-07-06 10:13:04 +0200 Sebastian Dröge * libs/gst/base/gstbasesink.c: basesink: Only answer the SEGMENT query in pull mode Otherwise the element handling the seeks should answer this query. Fixes bug #623622. 2010-07-05 10:36:05 +0200 Sebastian Dröge * libs/gst/base/gstbasetransform.c: basetransform: Implement POSITION query Fixes bug #623541. 2010-06-25 16:31:06 +0200 Edward Hervey * gst/gstpad.c: GstPad: Do not call gst_pad_accept_caps() when caps change Instead just check that the caps intersect with the pad template. The elements should properly accept/refuse the caps in setcaps(). Shaves off calling the default implementation of acceptcaps which does an expensive gst_pad_get_caps() (so if you have 50 of those elements in a row, you'd be doing factorial(50) gst_pad_get_caps...). Does not break any module unit test and most apps work fine. https://bugzilla.gnome.org/show_bug.cgi?id=622740 2010-07-08 16:24:21 +0200 Edward Hervey * gst/gstutils.c: utils: Add more details about gst_element_get_compatible_pad 2010-07-16 11:16:15 +0100 Tim-Philipp Müller * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * win32/common/config.h: * win32/common/gstversion.h: Back to development. === release 0.10.30 === 2010-07-14 23:59:43 +0100 Tim-Philipp Müller * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * gstreamer.doap: * win32/common/config.h: * win32/common/gstversion.h: Release 0.10.30 2010-07-14 17:58:15 +0100 Tim-Philipp Müller * po/de.po: * po/id.po: * po/zh_CN.po: po: update translations 2010-07-15 12:01:24 +0300 Stefan Kost * gst/gstpad.h: pad: remove comma at the end of the last enum value Fixes the build for c++. 2010-07-11 19:00:54 +0100 Tim-Philipp Müller * tests/check/gst/gsttag.c: checks: add unit test for recent taglist merge_strings_with_comma fix See #624113. 2010-07-11 18:59:53 +0100 Eduardo Dobay * gst/gsttaglist.c: taglist: fix merge_strings_with_comma() for more than two strings Fixes #624113. 2010-07-08 13:46:56 +0100 Tim-Philipp Müller * tests/check/libs/.gitignore: .gitignore: ignore new basesink unit test binary 2010-07-08 13:43:22 +0100 Tim-Philipp Müller * tools/gst-launch.1.in: * tools/gst-launch.c: tools: remove -p shorthand for --no-sigusr-handler It's not really needed, and doesn't map any longer after the long option has been renamed. 2010-07-06 15:47:40 +0100 Tim-Philipp Müller * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * tests/check/gst/.gitignore: * win32/common/config.h: * win32/common/gstversion.h: 0.10.29.4 pre-release Also bump libtool versions now (which I meant to do for the first pre-release but forgot). 2010-07-06 23:44:26 +0100 Tim-Philipp Müller * po/LINGUAS: * po/es.po: * po/fi.po: * po/fr.po: * po/id.po: * po/it.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/sl.po: * po/sv.po: * po/zh_CN.po: po: update translations 2010-07-06 16:21:05 +0200 Alessandro Decina * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesink.h: * tests/check/libs/basesink.c: * win32/common/libgstbase.def: basesink: add accessors for the enable-last-buffer property. API: gst_base_sink_set_last_buffer_enabled API: gst_base_sink_is_last_buffer_enabled 2010-07-06 12:18:45 +0200 Alessandro Decina * libs/gst/base/gstbasesink.c: * tests/check/Makefile.am: * tests/check/libs/basesink.c: basesink: add new enable-last-buffer property. Add a new enable-last-buffer property. When false, it disables storing the last received buffer in basesink::last-buffer. This can be useful in cases where buffers need to be released asap. API: GstBaseSink::enable-last-buffer 2010-07-06 10:48:27 +0100 Tim-Philipp Müller * tests/check/gst/gsttagsetter.c: checks: rewrite gsttagsetter test to use fewer g_usleep() Something about that seems to interact badly with some schedulers, so do things differently. Fixes #623469. 2010-07-06 10:19:09 +0100 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: docs: add new add gst_clock_id_wait_async_full() to docs API: add gst_clock_id_wait_async_full See #623589. 2010-07-06 10:28:14 +0200 Edward Hervey * gst/gstvalue.c: gstvalue: Improve gst_value_{set|get}_caps docs 2010-07-06 10:35:09 +0200 Alessandro Decina * win32/common/libgstreamer.def: win32: export gst_clock_id_wait_async_full 2010-07-06 10:31:25 +0200 Alessandro Decina * tests/check/gst/struct_hppa.h: * tests/check/gst/struct_i386.h: * tests/check/gst/struct_ppc32.h: * tests/check/gst/struct_ppc64.h: * tests/check/gst/struct_sparc.h: * tests/check/gst/struct_x86_64.h: tests: remove ABI checks for GstClockEntry. 2010-07-05 18:45:55 +0200 Alessandro Decina * gst/gstclock.h: clock: document that GstClockEntry should be treated as ana opaque structure. 2010-07-05 13:10:09 +0200 Alessandro Decina * gst/gstclock.c: * tests/check/Makefile.am: * tests/check/gst/gstclock.c: * tests/check/gst/gstsystemclock.c: clock: use the new gst_clock_id_wait_async_full. Use the new gst_clock_id_wait_async_full in gst_clock_set_master. Also add some tests. 2010-07-05 13:01:53 +0200 Alessandro Decina * gst/gstclock.c: clock: fix refcounting bug in gst_clock_set_master. Make sure clock->clockid is unreffed before clock->master. gst_clock_id_unschedule (clock->clockid) tries to access clock->master. If clock->master is unreffed before and it's deallocated, _unschedule could access free'd memory. 2010-07-05 12:56:40 +0200 Alessandro Decina * gst/gstclock.c: * gst/gstclock.h: clock: add gst_clock_id_wait_async_full. Add gst_clock_id_wait_async_full. It's the same as gst_clock_id_wait_async but allows passing a GDestroyNotify to destroy user_data. 2010-07-05 17:50:33 +0300 Stefan Kost * gst/gstpad.h: * gst/gstutils.c: docs: improve the api docs for new GstPadLinkChecks and its use 2010-07-05 12:21:51 +0300 Stefan Kost * tests/README: README: update after removal of "old" dir. Remove "old" and add a line about "examples". 2010-07-04 17:34:30 +0100 Tim-Philipp Müller * tests/old/examples/Makefile.am: * tests/old/examples/TODO: * tests/old/examples/appreader/.gitignore: * tests/old/examples/appreader/Makefile.am: * tests/old/examples/appreader/appreader.c: * tests/old/examples/cutter/.gitignore: * tests/old/examples/cutter/Makefile.am: * tests/old/examples/cutter/cutter.c: * tests/old/examples/cutter/cutter.h: * tests/old/examples/events/Makefile.am: * tests/old/examples/events/seek.c: * tests/old/examples/helloworld2/.gitignore: * tests/old/examples/helloworld2/Makefile.am: * tests/old/examples/helloworld2/helloworld2.c: * tests/old/examples/manual/.gitignore: * tests/old/examples/manual/Makefile.am: * tests/old/examples/manual/extract.pl: * tests/old/examples/mixer/.gitignore: * tests/old/examples/mixer/Makefile.am: * tests/old/examples/mixer/mixer.c: * tests/old/examples/mixer/mixer.h: * tests/old/examples/pingpong/.gitignore: * tests/old/examples/pingpong/Makefile.am: * tests/old/examples/pingpong/pingpong.c: * tests/old/examples/plugins/.gitignore: * tests/old/examples/plugins/Makefile.am: * tests/old/examples/plugins/example.c: * tests/old/examples/plugins/example.h: * tests/old/examples/pwg/.gitignore: * tests/old/examples/pwg/Makefile.am: * tests/old/examples/pwg/extract.pl: * tests/old/examples/queue2/.gitignore: * tests/old/examples/queue2/Makefile.am: * tests/old/examples/queue2/queue2.c: * tests/old/examples/queue3/.gitignore: * tests/old/examples/queue3/Makefile.am: * tests/old/examples/queue3/queue3.c: * tests/old/examples/queue4/.gitignore: * tests/old/examples/queue4/Makefile.am: * tests/old/examples/queue4/queue4.c: * tests/old/examples/retag/.gitignore: * tests/old/examples/retag/Makefile.am: * tests/old/examples/retag/retag.c: * tests/old/examples/retag/transcode.c: * tests/old/examples/thread/.gitignore: * tests/old/examples/thread/Makefile.am: * tests/old/examples/thread/thread.c: * tests/old/testsuite/.gitignore: * tests/old/testsuite/Makefile.am: * tests/old/testsuite/Rules: * tests/old/testsuite/caps/.gitignore: * tests/old/testsuite/caps/Makefile.am: * tests/old/testsuite/caps/app_fixate.c: * tests/old/testsuite/caps/audioscale.c: * tests/old/testsuite/caps/caps.c: * tests/old/testsuite/caps/caps.h: * tests/old/testsuite/caps/caps_strings: * tests/old/testsuite/caps/compatibility.c: * tests/old/testsuite/caps/deserialize.c: * tests/old/testsuite/caps/enumcaps.c: * tests/old/testsuite/caps/eratosthenes.c: * tests/old/testsuite/caps/filtercaps.c: * tests/old/testsuite/caps/fixed.c: * tests/old/testsuite/caps/fraction-convert.c: * tests/old/testsuite/caps/fraction-multiply-and-zero.c: * tests/old/testsuite/caps/intersect2.c: * tests/old/testsuite/caps/intersection.c: * tests/old/testsuite/caps/normalisation.c: * tests/old/testsuite/caps/random.c: * tests/old/testsuite/caps/renegotiate.c: * tests/old/testsuite/caps/sets.c: * tests/old/testsuite/caps/simplify.c: * tests/old/testsuite/caps/string-conversions.c: * tests/old/testsuite/caps/structure.c: * tests/old/testsuite/caps/subtract.c: * tests/old/testsuite/caps/union.c: * tests/old/testsuite/debug/.gitignore: * tests/old/testsuite/debug/Makefile.am: * tests/old/testsuite/debug/category.c: * tests/old/testsuite/debug/commandline.c: * tests/old/testsuite/debug/global.c: * tests/old/testsuite/debug/output.c: * tests/old/testsuite/debug/printf_extension.c: * tests/old/testsuite/dlopen/.gitignore: * tests/old/testsuite/dlopen/Makefile.am: * tests/old/testsuite/dlopen/dlopen_gst.c: * tests/old/testsuite/dlopen/loadgst.c: * tests/old/testsuite/elements/.gitignore: * tests/old/testsuite/elements/Makefile.am: * tests/old/testsuite/elements/gst-inspect-check.in: * tests/old/testsuite/elements/struct_i386.h: * tests/old/testsuite/elements/struct_size.c: * tests/old/testsuite/indexers/.gitignore: * tests/old/testsuite/indexers/Makefile.am: * tests/old/testsuite/indexers/cache1.c: * tests/old/testsuite/indexers/indexdump.c: * tests/old/testsuite/parse/.gitignore: * tests/old/testsuite/parse/Makefile.am: * tests/old/testsuite/parse/parse1.c: * tests/old/testsuite/parse/parse2.c: * tests/old/testsuite/plugin/.gitignore: * tests/old/testsuite/plugin/Makefile.am: * tests/old/testsuite/plugin/README: * tests/old/testsuite/plugin/dynamic.c: * tests/old/testsuite/plugin/linked.c: * tests/old/testsuite/plugin/loading.c: * tests/old/testsuite/plugin/registry.c: * tests/old/testsuite/plugin/static.c: * tests/old/testsuite/plugin/static2.c: * tests/old/testsuite/plugin/testplugin.c: * tests/old/testsuite/plugin/testplugin2.c: * tests/old/testsuite/plugin/testplugin2_s.c: * tests/old/testsuite/plugin/testplugin_s.c: * tests/old/testsuite/refcounting/.gitignore: * tests/old/testsuite/refcounting/Makefile.am: * tests/old/testsuite/refcounting/bin.c: * tests/old/testsuite/refcounting/element.c: * tests/old/testsuite/refcounting/element_pad.c: * tests/old/testsuite/refcounting/mainloop.c: * tests/old/testsuite/refcounting/mem.c: * tests/old/testsuite/refcounting/mem.h: * tests/old/testsuite/refcounting/object.c: * tests/old/testsuite/refcounting/pad.c: * tests/old/testsuite/refcounting/sched.c: * tests/old/testsuite/refcounting/thread.c: * tests/old/testsuite/states/.gitignore: * tests/old/testsuite/states/Makefile.am: * tests/old/testsuite/states/bin.c: * tests/old/testsuite/states/locked.c: * tests/old/testsuite/states/parent.c: * tests/old/testsuite/threads/.gitignore: * tests/old/testsuite/threads/159566.c: * tests/old/testsuite/threads/159852.c: * tests/old/testsuite/threads/Makefile.am: * tests/old/testsuite/threads/queue.c: * tests/old/testsuite/threads/signals.c: * tests/old/testsuite/threads/staticrec.c: * tests/old/testsuite/threads/thread.c: * tests/old/testsuite/threads/threadb.c: * tests/old/testsuite/threads/threadc.c: * tests/old/testsuite/threads/threadd.c: * tests/old/testsuite/threads/threade.c: * tests/old/testsuite/threads/threadf.c: * tests/old/testsuite/threads/threadg.c: * tests/old/testsuite/threads/threadh.c: * tests/old/testsuite/threads/threadi.c: Remove old 0.8 tests and examples from git tree Doesn't really look like anything's worth keeping. 2010-07-03 16:39:40 +0100 Tim-Philipp Müller * tests/check/gst/gstobject.c: check: skip silly test that segfaults when in a CK_FORK=no environment See #623469. 2010-07-03 15:13:14 +0100 Tim-Philipp Müller * tests/check/elements/fakesrc.c: checks: make fakesrc check work in a CK_FORK=no environment Reset have_eos at the beginning of each test. See #623469. 2010-07-03 14:09:36 +0100 Tim-Philipp Müller * tests/check/gst/gst.c: checks: run tests calling gst_deinit() last so things work with CK_FORK=no Because gst_init() will fail once gst_deinit() has been called. See #623469. 2010-07-03 14:04:32 +0100 Tim-Philipp Müller * tests/check/gst/gstelement.c: checks: don't assume element factory is not loaded yet It may already be loaded if check is being run with CK_FORK=no. See #623469. 2010-07-01 19:58:09 +0100 Tim-Philipp Müller * docs/manual/advanced-autoplugging.xml: * docs/manual/advanced-dparams.xml: * docs/manual/advanced-interfaces.xml: * docs/manual/advanced-position.xml: * docs/manual/appendix-checklist.xml: * docs/manual/basics-helloworld.xml: docs: fix a couple of typos in the manual Spotted by Alexander Saprykin. Fixes #622379. 2010-07-01 17:56:33 +0200 Edward Hervey * gst/gstcaps.c: * tests/check/gst/gstcaps.c: gstcaps: Make sure _normalize() is applied on all structures. We need to use gst_caps_get_size() in the loop counter since some structures could be added while iterating. Fixes #623301 2010-06-30 13:16:35 +0100 Tim-Philipp Müller * docs/manual/highlevel-xml.xml: docs: update 'XML in GStreamer' section in application developer's manual 2010-06-29 18:48:05 +0100 Tim-Philipp Müller * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * win32/common/config.h: * win32/common/gstversion.h: 0.10.29.3 pre-release 2010-06-25 19:03:27 +0200 Wim Taymans * plugins/elements/gstmultiqueue.c: multiqueue: implement acceptcaps function Our acceptcaps function can simply forward the query. 2010-06-28 15:28:59 +0100 Tim-Philipp Müller * autogen.sh: * configure.ac: Bump automake requirement to 1.10 For maintainability reasons and $(builddir). Fixes #622944. 2010-06-28 13:56:00 +0100 Tim-Philipp Müller * tools/gst-launch.1.in: tools: mention --eos-on-shutdown on gst-launch man page 2010-06-28 10:20:39 +0200 Sebastian Dröge * gst/gstutils.h: utils: Don't use G_GNUC_CONST for the uint64 scaling functions They are actually *not* const functions because on architectures without int128 instructions the parameters were changed. gcc re-used the parameters on the stack for multiple calls though and the changed parameters were used for the second call then. Fixes bug #623003. 2010-06-26 17:48:31 +0100 Tim-Philipp Müller * configure.ac: * win32/common/config.h: * win32/common/gstenumtypes.c: * win32/common/gstenumtypes.h: * win32/common/gstversion.h: 0.10.29.2 pre-release 2010-06-26 17:47:55 +0100 Tim-Philipp Müller * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: po: update translations 2010-06-26 10:16:36 +0100 Tim-Philipp Müller * Makefile.am: * configure.ac: * tests/examples/xml/.gitignore: * tests/examples/xml/Makefile.am: * tests/examples/xml/createxml.c: * tests/examples/xml/runxml.c: examples: remove xml example build system bits and purge from tree Fixes make distcheck. 2010-06-26 09:59:31 +0100 Tim-Philipp Müller * gst/gstxml.c: xml: keep dummy gst_xml_get_type() function for g-i even if rest of GstXML is removed Add a minimal gst_xml_get_type() function, so that gobject-introspection doesn't break the compilation if we're compiling with GST_REMOVE_DEPRECATED defined or --disable-loadsave having been passed to configure. Until someone figures out a better way at least. 2010-06-26 01:01:49 +0100 Tim-Philipp Müller * gst/gstbin.c: * gst/gstcaps.c: * gst/gstconfig.h.in: * gst/gstelement.c: * gst/gstghostpad.c: * gst/gstobject.c: * gst/gstpad.c: * gst/gstxml.c: * plugins/indexers/gstfileindex.c: Don't include from public headers if GST_DISABLE_DEPRECATED is defined Since everything GstXML related has been deprecated, we can now skip the libxml includes from the public headers when GST_DISABLE_DEPRECATED is defined. See #463435. 2010-06-26 00:18:10 +0100 Tim-Philipp Müller * tests/examples/typefind/typefind.c: examples: add missing stdlib.h include in typefind example 2010-06-25 21:23:22 +0300 Stefan Kost * gst/gstdebugutils.c: dot-dump: terminate truncated strings and escape special chars Fixes syntax errors in generated dot files for caps with strings. 2010-06-25 18:52:02 +0200 Edward Hervey * gst/gstpad.c: * gst/gstpad.h: pad: more documentation regarding the new flags 2010-06-25 18:18:55 +0200 Wim Taymans * gst/gstpad.h: pad: make the NOTHING link check flag be 0 Make the pad link check of NOTHING be 0. This way we have a flag for each feature and 0 when no flags are set. 2010-06-25 18:24:47 +0200 Sebastian Dröge * tests/check/Makefile.am: * tests/check/gst/struct_hppa.h: * tests/check/gst/struct_i386.h: * tests/check/gst/struct_ppc32.h: * tests/check/gst/struct_ppc64.h: * tests/check/gst/struct_sparc.h: * tests/check/gst/struct_x86_64.h: tests: Remove GstXML tests 2010-06-25 18:13:57 +0200 Sebastian Dröge * gst/gstbin.c: * gst/gstcaps.c: * gst/gstcaps.h: * gst/gstelement.c: * gst/gstghostpad.c: * gst/gstobject.c: * gst/gstobject.h: * gst/gstpad.c: * gst/gstpad.h: * gst/gstxml.c: * gst/gstxml.h: * tests/examples/Makefile.am: * tests/examples/manual/Makefile.am: * tools/Makefile.am: * tools/gst-launch.c: gstxml: Deprecate GstXml and related functions Pipeline serialisation to and from XML is horribly broken for all but the most simple use cases, and will likely never be fixed. Make sure everyone playing around with these tools is aware of this, to avoid frustration. See countless bug reports in bugzilla. Fixes bug #622685. 2010-06-25 18:11:30 +0200 Sebastian Dröge * libs/gst/controller/gstcontroller.c: controller: Fix build with GST_REMOVE_DEPRECATED 2010-06-24 12:19:20 +0200 Edward Hervey * tests/benchmarks/capsnego.c: benchmarks: Use gst_element_link_pads_full We're testing caps negotiation, not pad linking. Brings the startup time down 100 fold. 2010-06-24 17:53:36 +0100 Tim-Philipp Müller * tools/gst-launch.c: * tools/gst-xmllaunch.1.in: tools: deprecate gst-xmllaunch and print fat warning if someone tries to use it Pipeline serialisation to and from XML is horribly broken for all but the most simple use cases, and will likely never be fixed. Make sure everyone playing around with these tools is aware of this, to avoid frustration. See countless bug reports in bugzilla. 2010-06-24 17:22:13 +0100 Tim-Philipp Müller * tools/gst-launch.1.in: * tools/gst-launch.c: gst-launch: rename new --no-play command line option to --no-sigusr-handler --no-play seems a bit confusing. Fixes #621867. 2010-06-24 15:07:11 +0300 Stefan Kost * common: Automatic update of common submodule From 73ff93a to a519571 2010-06-23 11:02:16 +0100 Tim-Philipp Müller * gst/gst_private.h: * gst/gstplugin.c: * gst/gstregistrybinary.c: * gst/gstregistrybinary.h: * gst/gstregistrychunks.c: * gst/gstregistrychunks.h: binaryregistry: ignore the plugin cache if the filter environment has changed Make sure that we properly update the registry and the cache file whenever the filter environment changes or there's no more filter set. 2010-05-27 12:36:10 +0100 Tim-Philipp Müller * gst/gst_private.h: * gst/gstplugin.c: pluginloading: add support for whitelisting based on plugin or source module name and path This feature is primarily intended for use in plugin modules' unit tests. Consider the following situation: gst-plugins-good is built against an installed GStreamer core. An older version of gst-plugins-good is also installed in that prefix, along with random other plugin modules. Now, when doing 'make check' in the just-built gst-plugins-good tree, we want to only load plugins from GStreamer core, gst-plugins-base, and gst-plugins-good, but not random other modules (we don't want any unit tests to fail just because some module in gst-plugins-bad has a broken plugin_init, for example). Also, we want to only load gst-plugins-good modules from the locally-built source tree, but not any of the older gst-plugins-good modules installed. This is usually assured by loading the ones in the source tree first (by adding that path first to the right environment variables), but it gets tricky when plugins are moved, removed, merged, or renamed, or the plugin filename changes. Note that 'make check' should really work right without doing 'make install' or uninstalling the old gst-plugins-good package (or any other gst-plugins-foo package) first. Enter GST_PLUGIN_LOADING_WHITELIST. This environment variable may contain source-package@path-prefix pairs separated by the platform search path separator (G_SEARCHPATH_SEPARATOR_S). The source package and path prefix are separated by the '@' character. The path prefix is entirely optional, as is the '@' separator if no path is given. It is also possible to filter based on plugin names instead of the name of the source-package by specifying one or more plugin names separated by commas before the optional path prefix. In short, the following match patterns are possible: plugin1,plugin2@pathprefix or plugin1,plugin2@* or just plugin1,plugin2 or source-package@pathprefix or source-package@* or just source-package So for our gst-plugins-good unit test example above, we would set the environment variable on *nix to something like this (will likely be a relative path in practice): gstreamer:gst-plugins-base:gst-plugins-good@/path/to/src/gst-plugins-good Fixes #619815 and #619717. 2010-06-23 17:24:07 +0200 Edward Hervey * gst/gstghostpad.c: gstghostpad: We don't need any checks when linking target pad https://bugzilla.gnome.org/show_bug.cgi?id=622504 2010-06-23 17:00:17 +0200 Edward Hervey * docs/gst/gstreamer-sections.txt: * gst/gstutils.c: * gst/gstutils.h: * win32/common/libgstreamer.def: gstutils: New gst_element_link_pads_full method Links the elements with the specified pad linking checks. API:gst_element_link_pads_full https://bugzilla.gnome.org/show_bug.cgi?id=622504 2010-06-23 16:45:19 +0200 Edward Hervey * docs/gst/gstreamer-sections.txt: * gst/gst.c: * gst/gstpad.c: * gst/gstpad.h: * win32/common/libgstreamer.def: GstPad: Add new pad linking method with configurable checks. To be used for cases where we don't need all checks to be validated. API: gst_pad_link_full API: GstPadLinkCheck https://bugzilla.gnome.org/show_bug.cgi?id=622504 2010-06-15 18:26:01 -0300 Thiago Santos * docs/gst/gstreamer-sections.txt: * gst/gsttaglist.c: * gst/gsttaglist.h: tag: Adds GST_TAG_IMAGE_ORIENTATION tag Adds a new tag to inform about the image orientation and how to rotate and flip it before display. Note that this tag is a string with a predefined set of possible values. API: GST_TAG_IMAGE_ORIENTATION Fixes #619508 2010-06-22 18:53:15 +0100 Tim-Philipp Müller * gst/gstobject.c: * gst/gstobject.h: gstobject: deprecate gst_object_{set|get}_name_prefix() The name prefix stuff has never been used for anything and it doesn't look like we'll ever want to use it for anything. Fixes #621006. 2010-06-22 10:20:53 -0300 Johan Dahlin * gst/gstpad.h: Add gobject-introspection annotations for GstPadIntLinkFunction Fixes build with latest gobject-introspection from git. https://bugzilla.gnome.org/show_bug.cgi?id=622025 2010-06-21 11:41:46 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2: fix merging of ranges When we merge two ranges, don't updata the current range writing_pos with whereever we were writing earlier in the merged range. Spotted by bilboed. 2010-06-19 11:19:37 +0100 Tim-Philipp Müller * gst/gstregistry.c: registry: also skip .deps dirs when scanning for plugins No need to descend into .deps dirs in uninstalled setups, we know these don't contain any plugins. 2010-06-17 11:39:04 -0300 Thiago Santos * docs/gst/gstreamer-sections.txt: * gst/gsttaglist.c: * gst/gsttaglist.h: * win32/common/libgstreamer.def: taglist: add gst_tag_list_peek_string_index to avoid a copy Adds a variation of the _get_string_index function that doesn't copy the string. API: gst_tag_list_peek_string_index https://bugzilla.gnome.org/show_bug.cgi?id=621896 2010-06-18 12:00:53 +0100 Tim-Philipp Müller * plugins/elements/gsttypefindelement.c: typefind: make sure buffers' metadata is writable before setting caps on them Fixes warnings when using playbin2 with dvb:// streams, where typefind comes after mpegtsparse. 2010-06-17 15:52:57 +0100 Tim-Philipp Müller * common: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: docs: update introspected plugin docs for gstdoc-scanobj changes Update common for latest gstdoc-scanobj and inspect xml files for escaping and pad template order changes. 2010-06-17 13:19:24 +0200 Sebastian Dröge * libs/gst/base/gstbasesink.c: basesink: Initialize jitter to prevent printing an uninitialized variable if waiting for the clock failed 2010-06-17 10:34:51 +0100 Tim-Philipp Müller * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: po: update for new strings 2010-06-17 09:33:43 +0100 Tim-Philipp Müller * docs/manual/intro-basics.xml: manual: fix another typo and some inaccuracies Fix a wrong statement and flesh out section on messages and queries a bit. 2010-06-17 09:05:58 +0200 Alexander Saprykin * docs/manual/intro-basics.xml: manual: Fix another typo 2010-06-17 09:05:28 +0200 Alexander Saprykin * docs/manual/intro-basics.xml: manual: Fix typo 2010-06-16 13:11:06 -0300 Johan Dahlin * gst/gstelementfactory.c: elementfactory: Add an allow-none annotation https://bugzilla.gnome.org/show_bug.cgi?id=621773 2010-06-16 13:10:26 -0300 Johan Dahlin * gst/gstminiobject.h: miniobject: Add introspection annotations These are required to know how to unref/ref and convert to/from a GValue. https://bugzilla.gnome.org/show_bug.cgi?id=621773 2010-06-16 13:10:13 -0300 Johan Dahlin * gst/gstevent.c: event: Add out annotations https://bugzilla.gnome.org/show_bug.cgi?id=621773 2010-06-16 13:10:06 -0300 Johan Dahlin * gst/gstquery.c: query: Add out annotations https://bugzilla.gnome.org/show_bug.cgi?id=621773 2010-06-16 13:09:57 -0300 Johan Dahlin * gst/gstmessage.c: message: Add out annotations https://bugzilla.gnome.org/show_bug.cgi?id=621773 2010-06-16 13:00:30 +0200 Wim Taymans * plugins/elements/gstfdsink.c: fdsink: make sync property work correctly Don't override the default get_times vmethod so that we can use the sync property. Set the default sync property to FALSE. It used to be set to TRUE but because the get_times was NULL, it always behaved like FALSE. Fixes #621530 2010-06-15 18:48:53 +0200 Benjamin Gaignard * gst/gstelement.h: element: Improve gst_element_get_name() docs Fixes bug #621660. 2010-06-15 16:49:04 +0200 Edward Hervey * common: Automatic update of common submodule From 9339ccc to 35617c2 2010-06-15 16:53:35 +0300 Stefan Kost * common: Automatic update of common submodule From 5adb1ca to 9339ccc 2010-06-15 16:34:37 +0300 Stefan Kost * common: Automatic update of common submodule From 57c89b7 to 5adb1ca 2010-06-15 15:31:12 +0300 Stefan Kost * common: Automatic update of common submodule From c804988 to 57c89b7 2010-06-15 11:48:26 +0200 Edward Hervey * docs/gst/gstreamer-sections.txt: * gst/gstelement.c: * gst/gstpad.c: * gst/gstpad.h: * win32/common/libgstreamer.def: Revert "GstPad: Add GST_PAD_NEGOTIABLE GstPadFlag" This reverts commit dc38e75d88bd8921895821f7afed01cab30e46c9. boom 2010-06-15 11:48:17 +0200 Edward Hervey * gst/gstpad.c: * tests/check/gst/gstghostpad.c: Revert "gstpad: Return pad template in get_caps if pad is not negotiable" This reverts commit 7460321a600438966d7152ab2b4318be48eadce0. crack 2010-06-15 11:48:07 +0200 Edward Hervey * gst/gstpad.c: Revert "pad: fix comment" This reverts commit 8e92cb4a7d56cdfa4674315c64b58c1b1b9d8208. whatever... 2010-06-15 11:47:57 +0200 Edward Hervey * gst/gstelement.c: Revert "element: only clear negotiable when going to NULL" This reverts commit 8f5ec1f737c3b37538b2307aef160d9d21f1c422. bleeeeh 2010-06-15 10:46:08 +0100 Tim-Philipp Müller * gst/gstinfo.h: info: add dummy TRACE log level macros for when debugging is disabled Forgot those when adding the original API, just like the API markers in the commit message: API: GST_TRACE API: GST_TRACE_OBJECT API: GST_CAT_TRACE API: GST_CAT_TRACE_OBJECT API: GST_LEVEL_TRACE Fixes compilation with --disable-gst-debug 2010-06-15 01:15:54 +0100 Tim-Philipp Müller * tools/gst-launch.c: gst-launch: print more errors to stderr and suppress more output in quiet mode If --quiet is given, don't print anything but errors. Also, make sure errors are always printed to stderr and not to stdout. Fixes #621595. 2010-06-14 18:07:23 +0200 Wim Taymans * gst/gstelement.c: element: only clear negotiable when going to NULL Don't clear the negotiable flag when going to READY because then it will never be set to TRUE again. 2010-06-14 17:33:16 +0200 Wim Taymans * gst/gstpad.c: pad: fix comment 2010-05-17 15:06:37 +0200 Edward Hervey * gst/gstpad.c: * tests/check/gst/gstghostpad.c: gstpad: Return pad template in get_caps if pad is not negotiable https://bugzilla.gnome.org/show_bug.cgi?id=618644 2010-05-17 15:04:48 +0200 Edward Hervey * docs/gst/gstreamer-sections.txt: * gst/gstelement.c: * gst/gstpad.c: * gst/gstpad.h: * win32/common/libgstreamer.def: GstPad: Add GST_PAD_NEGOTIABLE GstPadFlag A pad is 'negotiable' when its container element is in a state greater than GST_STATE_READY API:gst_pad_is_negotiable API:gst_pad_set_negotiable API:GST_PAD_NEGOTIABLE https://bugzilla.gnome.org/show_bug.cgi?id=618644 2010-06-14 16:51:39 +0200 Wim Taymans * plugins/elements/gstfakesink.c: fakesink: use method to set sync property Use the basesink method to configure the sync property instead of poking the parent structure. 2010-06-14 16:50:41 +0200 Wim Taymans * plugins/elements/gstfilesink.c: filesink: use the default get_times function Use the default get_times function of basesink so that we honour the sync property instead of never synchronizing to the clock. Fixes #621530 2010-06-14 16:20:18 +0200 Wim Taymans * libs/gst/base/gstbasetransform.c: basetransform: reevaluate proxy_alloc when reconfigured When we reconfigure the transform element, make sure we reevaluate the proxying of buffer_alloc the next time around. Fixes #621332 2010-06-14 15:39:57 +0200 Sebastian Dröge * tests/check/gst/capslist.h: caps: Don't use invalid fraction range in the unit test 2010-06-14 15:30:08 +0200 Sebastian Dröge * gst/gstvalue.c: gstvalue: Add some more assertions and checks for valid input parameters 2010-05-27 15:13:18 +0200 Mark Nauwelaerts * libs/gst/base/gstadapter.c: adapter: optimize progressive masked_scan Retain the last scanned buffer entry and offset, so we can resume buffer scanning there in case of a typical progressive scan. Also potentially optimize _copy subsequently occurring in that area. 2010-05-27 12:15:22 +0200 Mark Nauwelaerts * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstadapter.c: * libs/gst/base/gstadapter.h: * win32/common/libgstbase.def: adapter: add extended masked_scan_uint32_peek that also provides matching value Also add to .def and docs. Fixes #619828. API: gst_adapter_masked_scan_uint32_peek 2010-06-14 13:38:41 +0200 Edward Hervey * win32/common/libgstreamer.def: win32: fix .def file 2010-06-14 12:25:33 +0100 Tim-Philipp Müller * gst/gstcaps.c: docs: add Since: tag for new gst_caps_steal_structure 2010-06-11 15:36:10 +0100 Tim-Philipp Müller * gst/gstinfo.h: docs: fix example to use a category name that actually exists 2010-06-14 11:39:40 +0200 Edward Hervey * docs/gst/gstreamer-sections.txt: * gst/gstcaps.c: * gst/gstcaps.h: * win32/common/libgstreamer.def: gstcaps: New gst_caps_steal_structure() method This allows removing structures from caps without them being freed. Helpful when plugins need to move around structures without having to do an expensive structure copy. API:gst_caps_steal_structure https://bugzilla.gnome.org/show_bug.cgi?id=621527 2010-06-14 13:10:07 +0200 Sebastian Dröge * configure.ac: configure: Don't add G_THREADS_MANDATORY to GST_ALL_CFLAGS It's already included in GLIB_EXTRA_CFLAGS 2010-06-14 13:07:33 +0200 Sebastian Dröge * configure.ac: configure: use GLIB_EXTRA_CFLAGS 2010-06-14 13:02:08 +0200 Sebastian Dröge * common: Automatic update of common submodule From 7a0fdf5 to c804988 2010-06-14 13:01:55 +0200 Wim Taymans * plugins/elements/gstcapsfilter.c: capsfilter: fix printf format 2010-06-14 12:39:47 +0200 Wim Taymans * plugins/elements/gstcapsfilter.c: capsfilter: implement custom accept_caps method Implement a custom acceptcaps function. We can simply check if there is an intersection with the new caps. This makes the accept caps function much faster. See #621190 2010-06-14 12:36:54 +0200 Wim Taymans * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstbasetransform.h: basetransform: add accept_caps vmethod Allow subclasses to override the acceptcaps function because in some cases a custom implementation can be much much faster than the default one. See #621190 2010-06-14 11:30:20 +0200 Sebastian Dröge * common: Automatic update of common submodule From 6da3bab to 7a0fdf5 2010-06-11 18:49:02 -0400 Olivier Crête * plugins/elements/gstcapsfilter.c: capsfilter: Remove transform_size GstBaseTransform now assumes that the size is the same if there is not transform_size. https://bugzilla.gnome.org/show_bug.cgi?id=621334 2010-06-11 18:46:30 -0400 Olivier Crête * libs/gst/base/gstbasetransform.c: basetransform: Assume size is the same if no transform_size/get_unit_size Subclasses that don't implemen transform_size should be assumed to produce output buffers of the same size. https://bugzilla.gnome.org/show_bug.cgi?id=621334 2010-06-14 08:18:00 +0200 Sebastian Dröge * gst/gstvalue.c: gstvalue: Don't initialize arrays from variables 2010-06-14 08:11:35 +0200 Sebastian Dröge * gst/gstelement.c: element: Store result of strtol in an unused variable to really fix a compiler warning... 2010-06-13 20:52:36 +0200 Sebastian Dröge * gst/gstelement.c: element: Cast return value to void to prevent compiler warning 2010-06-13 18:12:47 +0200 Sebastian Dröge * tests/examples/streams/rtpool-test.c: rtpool-test: Prevent NULL pointer dereference 2010-06-13 18:05:41 +0200 Sebastian Dröge * libs/gst/base/gstbasesink.c: basesink: Make sure we have a valid object to render in _render_object() 2010-06-13 18:00:22 +0200 Sebastian Dröge * gst/gstvalue.c: gstvalue: Add some assertion guards against invalid parameters to public API 2010-06-13 17:08:48 +0200 Sebastian Dröge * gst/gstelement.c: * libs/gst/base/gstbasesrc.c: Remove some dead assignments 2010-06-13 17:06:44 +0200 Sebastian Dröge * tests/benchmarks/gstbufferstress.c: bufferstress: Check if the number of threads and buffers makes sense 2010-06-13 17:03:53 +0200 Sebastian Dröge * tests/examples/metadata/read-metadata.c: read-metadata: Stop if setting the pipeline state back to NULL fails 2010-06-13 16:59:40 +0200 Sebastian Dröge * tests/benchmarks/complexity.c: complexity: Remove dead assignments and unused variables 2010-06-13 16:31:21 +0200 Sebastian Dröge * plugins/elements/gstqueue2.c: queue2: Don't ignore failure to open the temporary file location And immediately leave the state change function on failures. 2010-06-13 16:27:39 +0200 Sebastian Dröge * gst/gstpad.c: pad: Fix iterator aggregation of all pads in the internal links fallback g_list_prepend() returns the new head of the list and not using this will create a memory leak and a single-element list. 2010-06-13 15:25:24 +0200 Sebastian Dröge * gst/gstiterator.c: iterator: Add new FIXME for 0.11 and update gst_iterator_find_custom docs The compare function should only unref the element if it's not the matching element. Also the FIXME in _fold() is not relevant because the ref/unref happens in the fold function. 2010-06-13 11:24:10 +0200 Sebastian Dröge * gst/gstiterator.c: iterator: If the iterator resync in find_custom() just retry 2010-06-12 08:25:24 +0200 Sebastian Dröge * common: Automatic update of common submodule From 733fca9 to 6da3bab 2010-06-12 08:04:47 +0200 Sebastian Dröge * tests/check/gst/gstvalue.c: value: Add test for deserializing fourccs 2010-06-11 22:56:13 +0000 Martin Bisson * gst/gstvalue.c: * tests/check/gst/gstvalue.c: value: Fixed serialization for short fourccs. "Y16 " and "Y8 " were not displayed properly because the space character is not alnum. A unit test is also included. Fixes bug #621282. 2010-06-11 16:12:33 -0700 David Schleef * tools/gst-inspect.c: gst-inspect: print ranks with offsets from names 2010-06-09 12:39:54 -0700 David Schleef * common: Automatic update of common submodule From fad145b to 733fca9 2010-06-09 12:30:49 -0700 David Schleef * common: Automatic update of common submodule From 47683c1 to fad145b 2010-06-09 12:17:03 +0300 Stefan Kost * gst/gstdebugutils.c: debugutils: fix comment typo even more 2010-06-09 12:06:52 +0300 Stefan Kost * gst/gstregistry.c: docs: update docs (format and search path). Remove obsolete xml registry cache extension. Tell that content and location is internal detail. Docuemnt the plugin search order. 2010-06-09 12:06:16 +0300 Stefan Kost * gst/gstpluginloader.c: comments: add a few comments to the sparsely documented plugin loader 2010-06-08 11:41:11 +0200 Zaheer Abbas Merali * gst/gstdebugutils.c: debugutils: fix comment typo 2010-06-08 12:12:42 +0300 Stefan Kost * gst/gstcaps.c: caps: use gst_caps_append_structure_unchecked() macro once more 2010-06-08 12:10:36 +0300 Stefan Kost * gst/gstcaps.c: caps: use a safer name for temporary var. to not shadow one from outer scope 2010-06-07 12:20:41 +0300 Stefan Kost * gst/gstvalue.c: value: use glib types in more places Do a bunch of char -> gchar, int -> gint, double -> gdouble changes. 2010-06-07 12:07:30 +0300 Stefan Kost * gst/gstvalue.c: value: just compute strlen() once 2010-06-07 10:16:04 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2: don't wait for data when EOS When in download mode and we need to provide data for an offset that we don't have, also perform a seek to the requested location when we are EOS. The reason why we shouldn't wait for more data is because after EOS, there simply will be no more data and we end up waiting forever. Fixes #620500 2010-06-07 08:18:40 +0200 Martin Bisson * gst/gstvalue.c: value: Add support for parsing short fourccs from strings For example "Y16 " and "Y8 ". 2010-06-06 23:19:58 +0300 Stefan Kost * libs/gst/check/gstcheck.c: check: use globbing for selective test invocation via GST_CHECKS Use glib globbing instead of simple string matching to allow e.g. GST_CHECKS="test_inter*" make gst/gstcaps.check 2010-06-06 21:20:21 +0300 Stefan Kost * tests/benchmarks/capsnego.c: capsnego: also meassure pipeline building time 2010-06-05 23:18:09 +0300 Stefan Kost * libs/gst/base/gstbasetransform.c: basetransform: avoid a caps-copy We can simply truncate the caps, as 'othercaps' is the result of intersect operations and thus ours and writable. 2010-06-03 01:49:51 +0100 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gstcaps.c: * gst/gstinfo.c: * gst/gstinfo.h: * gst/gstminiobject.c: * gst/gstobject.c: info: add new TRACE log level and move refcounting there from LOG level This makes it possible to easily get a *:5 debug log without all the refcounting noise, and drastically reduces the number of lines output for a normal log (46m to 28m for a 20min video). The full log including refcounting information can still be gotten using *:7. Fixes #620460. 2010-06-04 17:10:05 +0200 Sebastian Dröge * gst/gstutils.c: utils: Use G_PARAM_STATIC_STRINGS for standard properties 2010-06-03 17:21:00 +0200 Philippe Normand * libs/gst/base/gstbasesink.c: basesink: Make gst_base_sink_query return TRUE if the segment query succeeded. Fixes bug #620490. 2010-06-01 23:48:59 -0700 David Schleef * common: Automatic update of common submodule From 17f89e5 to 47683c1 2010-06-01 22:54:20 -0700 David Schleef * common: Automatic update of common submodule From fd7ca04 to 17f89e5 2010-05-24 17:25:52 +0300 Stefan Kost * gst/gstpad.c: pads: Improve readability for gst_pad_fixate_caps() Just truncate and then fixate. We check for empty caps in the begin and a fixate-func that empties a caps would be broken. It also helps lazy caps impl. in bug 618853 by avoiding the gst_caps_get_size(). 2010-06-01 11:46:17 +0100 Tim-Philipp Müller * libs/gst/check/gstcheck.c: check: log plugins available to unit tests and their paths 2010-06-01 11:45:11 +0100 Tim-Philipp Müller * Makefile.am: win32: commit Makefile changes for win32-update as well 2010-05-31 15:14:53 +0100 Tim-Philipp Müller * win32/common/gstmarshal.c: * win32/common/gstmarshal.h: win32: add pre-generated versions of gstmarshal.[ch] as well and put them next to the pre-generated enumtypes files for those not using autotools for buildling GStreamer. 2010-05-27 15:10:34 +0200 Mark Nauwelaerts * tests/check/libs/adapter.c: tests: also check for adapter buffer merging in unit test 2010-05-27 12:50:22 +0200 Mark Nauwelaerts * libs/gst/base/gstadapter.c: adapter: fix _try_to_merge_up That is, provide correct return value (as documented), and actually loop to consider more than the first 2 buffers. 2010-05-27 12:48:18 +0200 Mark Nauwelaerts * libs/gst/base/gstcollectpads.c: collectpads: fix documentation glitch 2010-05-26 11:54:35 +0100 Tim-Philipp Müller * common: Automatic update of common submodule From 357b0db to fd7ca04 2010-05-25 19:17:44 +0200 Wim Taymans * gst/gstbin.c: * tests/check/gst/gstbin.c: gstbin: unlock _get_state() on error When an error message is received on the bus, mark the bin as being in the error state and unlock all current _get_state() calls with an error. Fixes #505770 2010-05-24 19:07:35 +0100 Tim-Philipp Müller * tests/check/gst/gsttagsetter.c: checks: add multi-thread test for tagsetter See #619533. 2010-05-24 19:06:45 +0100 Tim-Philipp Müller * gst/gsttagsetter.c: tagsetter: make sure only one thread creates the TagData 2010-05-24 18:16:19 +0100 Tim-Philipp Müller * gst/gsttagsetter.c: tagsetter: protect tagsetter operations with a lock So we don't crash when a muxer tries to add tags from two threads at the same time, eg. because it received tag events on two input pads simultaneously. See #619533. 2010-05-22 23:26:16 +0300 Stefan Kost * gst/gstcaps.c: caps: use our macros more often in the code 2010-05-22 23:07:10 +0300 Stefan Kost * gst/gstcaps.c: caps: add append_structure_unchecked This is useful when we know that caps is !NULL, writable and structure is !NULL too. 2010-05-22 22:46:40 +0300 Stefan Kost * tests/check/gst/gstcaps.c: tests: rename testsuite Previous name was only applicable to a few of the tests. 2010-05-22 22:45:33 +0300 Stefan Kost * gst/gstpad.c: docs: xref function name 2010-05-22 22:44:02 +0300 Stefan Kost * gst/gstcaps.c: caps: use our macos more 2010-05-22 22:33:09 +0300 Stefan Kost * docs/random/ensonic/lazycaps.txt: design: more planning on lazy caps. 2010-05-22 10:01:44 +0200 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gststructure.c: * gst/gststructure.h: * win32/common/libgstreamer.def: structure: API: Add gst_structure_fixate_field_string() 2010-05-19 16:21:49 +0300 Stefan Kost * docs/random/ensonic/lazycaps.txt: design: collect ideas for having lazy caps Design doc for having on the fly evaluated caps (see bug #618853). 2010-05-19 15:57:08 +0300 Stefan Kost * gst/gstbus.c: docs: add links for GSource priorities Now it is xreffed with the glib docs, where the priority scale is explained. 2010-05-19 14:08:26 +0300 Stefan Kost * tests/benchmarks/capsnego.c: benchmark: add commandline parameters for capsnego Allow to specify the graph size and offer two flavours (audio/video). 2010-05-19 09:56:51 +0300 Stefan Kost * tests/benchmarks/.gitignore: * tests/benchmarks/Makefile.am: * tests/benchmarks/capsnego.c: benchmarks: add a benchmark for capsnegotiation The test builds a tree like graph having conversion and basetransform elements. 2010-05-18 17:51:01 +0300 Stefan Kost * tests/benchmarks/caps.c: * tests/benchmarks/complexity.c: * tests/benchmarks/gstbufferstress.c: * tests/benchmarks/mass-elements.c: benchmarks: use gst_util_get_timestamp() instead of own implementation 2010-05-18 18:38:14 +0200 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: add jitter to debug output 2010-05-18 18:35:58 +0200 Wim Taymans * gst/gstminiobject.c: miniobject: cleanup type registration a little We can make some structs const static with little effort. 2010-05-17 13:09:15 +0100 Tim-Philipp Müller * gst/gstpad.c: pad: don't print WARNING debug statements for normal things like EOS, part II 2010-05-14 18:22:41 +0100 Tim-Philipp Müller * common: Automatic update of common submodule From 4d67bd6 to 357b0db 2010-05-14 11:52:03 +0300 Stefan Kost * gst/gstcaps.c: caps: comment and whitespace cleanup Make comment more specific, reposition it and add more of the kind. Move one ifdef'ed function around. 2010-05-13 08:21:37 +0200 Sebastian Dröge * gst/gstutils.c: utils: Simplify fractions before doing calculations that could cause overflows ... to prevent some unnecessary overflows from happenening. 2010-05-13 08:00:08 +0200 Sebastian Dröge * gst/gstutils.c: utils: GCD is 0 if both parameters are 0, don't divide by zero And turn overflow checks from assertions into simple checks to return FALSE. 2010-05-13 07:51:14 +0200 Sebastian Dröge * gst/gstutils.c: utils: Simplify result of gst_fraction_multiply() 2010-05-10 13:25:04 -0400 Tristan Matthews * docs/faq/using.xml: faq: updated line about jack output 2010-05-03 11:32:20 +0200 Edward Hervey * tests/check/libs/bytereader.c: tests: Read return value to make clang/icc happy 2010-05-06 16:41:09 +0200 Wim Taymans * gst/gstpad.c: Revert "pad: don't check twice for changed caps per push" We need to check the pad caps on the srcpad as well as on the sinkpad. Revert this commit as it removes the check on the srcpad and can leave the srcpad unnegotiated (or negotiated with wrong caps) This reverts commit 07dc1e5b49580a89bfef27ff27476d51fb3ce2c2. 2010-05-06 17:02:49 +0300 Stefan Kost * gst/gstpad.c: pad: don't check twice for changed caps per push gst_pad_chain_data_unchecked() does the same check already. 2010-05-06 16:51:16 +0300 Stefan Kost * libs/gst/base/gstbasesrc.c: basesrc: reflow to truncate caps just once We get writable caps from the intersection (unless it failed). As we truncate those anyway, we don't need to manualy copy the first structure. 2010-05-04 13:29:02 +0400 Руслан Ижбулатов * tools/gst-run.c: tools: fix gst-run wrapper to work on Windows Fixes #617625 2010-05-03 00:26:04 +0100 Tim-Philipp Müller * libs/gst/base/gstbytewriter.c: * libs/gst/base/gstbytewriter.h: docs: document that gst_byte_writer_put_string*() writes the terminator too 2010-05-05 12:01:50 +0200 Wim Taymans * gst/gstpad.c: * gst/gstpad.h: * libs/gst/base/gstbasesrc.h: docs: clarify the pull_range functions Clarify the gst_pad_pull_range(), GstBaseSrc::create(), gst_pad_get_range() and GstPadGetRange functions a little. Fixes #617733 2010-05-04 11:45:02 +0200 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: improve debugging 2010-04-30 11:27:12 +0200 Wim Taymans * gst/gstutils.c: utils: use reffed _get_caps() version We don't need to have a writable copy so we can use the _reffed version instead. 2010-04-29 21:57:15 -0300 Thiago Santos * docs/gst/gstreamer-sections.txt: * gst/gsttaglist.c: * gst/gsttaglist.h: tags: Adds geo location direction tags Adds 3 new geo location tags involving direction and movement of capture. Those are: API: GST_TAG_GEO_LOCATION_CAPTURE_DIRECTION API: GST_TAG_GEO_LOCATION_MOVEMENT_DIRECTION API: GST_TAG_GEO_LOCATION_MOVEMENT_SPEED Fixes #617223 2010-04-16 06:57:05 -0300 Thiago Santos * docs/gst/gstreamer-sections.txt: * gst/gsttaglist.c: * gst/gsttaglist.h: tags: Adds GST_TAG_DEVICE_MANUFACTURER and GST_TAG_DEVICE_MODEL Adds those new tags to describe the device manufacturer and model used to create medias. API: GST_TAG_DEVICE_MANUFACTURER API: GST_TAG_DEVICE_MODEL Fixes #615941 2010-05-02 19:43:55 +0100 Tim-Philipp Müller * docs/pwg/advanced-tagging.xml: pwg: remove confusing metadata example with 0.8 code Fixes #534314. 2010-05-02 19:30:30 +0100 Tim-Philipp Müller * docs/manual/advanced-metadata.xml: manual: add minimal tag reading example Should probably put that into tests/examples and figure out how to get it included automatically, but can't be bothered right now. 2010-04-30 13:10:16 +0100 Tim-Philipp Müller * configure.ac: * gst/gst.c: Bump GLib requirement to 2.20 See http://gstreamer.freedesktop.org/wiki/ReleasePlanning/GLibRequirement 2010-04-29 23:29:30 +0100 Tim-Philipp Müller * gst/gstbuffer.c: buffer: only warn if metadata is not writable when it should be, don't return as well Make sure we execute the same code path in git versions and in releases, so just warn when metadata isn't writable when we want it to be instead of bailing out. 2010-04-29 23:26:54 +0100 Tim-Philipp Müller * gst/gstelement.c: element: make 'adding flushing pad' warning more useful This is a pretty common issue with ghost pads, let's make the warning more helpful and tell people what they need to do to fix it. 2010-04-28 17:15:41 +0300 Stefan Kost * tools/gst-launch.1.in: * tools/gst-launch.c: gst-launch: add -p option to disable play handler. Same logic as for the fault handler. This is useful for some debug/tracing tools that need to grab SIGUSR1 and SIGUSR2 them self. 2010-04-15 10:36:52 +0300 Stefan Kost * libs/gst/base/gstbasesink.c: basesink: implement percentage position and duration queries If upstream does not handle them, then implement those ourself. 2010-04-14 17:47:36 +0300 Stefan Kost * libs/gst/base/gstbasesink.c: basesink: use gst_pad_peer_query instead of reinventing. 2010-04-14 17:46:55 +0300 Stefan Kost * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: queries: add more logging Log human readable formats and log query result. 2010-04-19 20:35:36 +0200 Benjamin Otte * gst/gstpad.c: caps: Do not allow fixating empty caps Passing empty caps to gst_pad_fixate_caps() is invalid, as empty caps cannot be fixated. 2010-04-26 21:52:07 +0200 Benjamin Otte * gst/gstcaps.h: caps: Use G_GNUC_WARN_UNUSED_RESULT for make_writable() People often call gst_caps_make_writable (caps); instead of caps = gst_caps_make_writable (caps); and cause a bug. Warning about an unused return value helps here. See https://bugzilla.gnome.org/show_bug.cgi?id=616541#c2 for an example. 2010-04-23 06:24:56 +0200 Sebastian Dröge * gst/gsterror.c: gst: Use GError boxed type from GObject 2.25.2 instead of our own if possible 2010-04-29 14:50:36 +0100 Tim-Philipp Müller * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * win32/common/config.h: * win32/common/gstversion.h: Back to development. 2010-04-15 17:11:46 +0200 Wim Taymans * gst/gstevent.h: docs: add some more docs for the events === release 0.10.29 === 2010-04-27 23:42:12 +0100 Tim-Philipp Müller * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * gstreamer.doap: * win32/common/config.h: * win32/common/gstversion.h: Release 0.10.29 2010-04-27 23:40:41 +0100 Tim-Philipp Müller * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files 2010-04-27 09:42:05 +0300 Stefan Kost * tests/check/libs/controller.c: tests: add more tests for controller The tests verify that bug #616846 is indeed fixed. 2010-04-26 15:43:17 +0200 Benjamin Otte * libs/gst/controller/gstinterpolation.c: controller: Fix gst_interpolation_control_source_find_control_point_iter The logic in that function is broken. Various NULL-checking bandaids for guaranteed non-NULL variables didn't even help there. This patch updates the function to check if a previous item exists before fetching it instead of after. This makes all other tests unnecessary. In particular, it makes the check for an empty list unnecessary, because for empty lists the only iter is the begin iter (and the end iter) and so the new check catches that case. https://bugzilla.gnome.org/show_bug.cgi?id=616846 2010-04-25 21:15:51 +0100 Tim-Philipp Müller * configure.ac: * win32/common/config.h: * win32/common/gstenumtypes.c: * win32/common/gstversion.h: 0.10.28.3 pre-release 2010-04-20 17:17:38 +0100 Tim-Philipp Müller * gstreamer.doap: doap: update repository info from cvs->git and maintainers 2010-04-23 14:39:20 +0100 Tim-Philipp Müller * common: Automatic update of common submodule From fc85867 to 4d67bd6 2010-04-16 20:09:40 +0200 Sebastian Dröge * docs/pwg/building-boiler.xml: * docs/pwg/pwg.xml: docs: Consistently use MyFilter instead of sometimes ExampleFilter in the example Fixes bug #615579. 2010-04-16 14:22:18 +0100 Tim-Philipp Müller * gst/gstpad.h: pad: add enums for custom flow return success and error codes This way people can just #define their own custom flow returns to one of these without having the compiler (esp. gcc-4.5) complain about comparing integers to an enum or the enum not being listed Fixes #615880. API: GST_FLOW_CUSTOM_SUCCESS_1 API: GST_FLOW_CUSTOM_SUCCESS_2 API: GST_FLOW_CUSTOM_ERROR_1 API: GST_FLOW_CUSTOM_ERROR_2 2010-04-15 22:05:38 +0200 Sebastian Dröge * libs/gst/controller/gstlfocontrolsource.c: lfocontrolsource: Use correct setter for double GValues 2010-04-15 11:08:03 -0300 Thiago Santos * gst/gsttaglist.h: tags: doc fixes Adds missing ':' to tags docs 2010-04-15 11:38:19 +0100 Tim-Philipp Müller * gst/gstbin.c: bin: fix bogus variable type The result of gst_iterator_find_custom() is not a GstIterator *. 2010-04-14 12:20:13 +0100 Tim-Philipp Müller * configure.ac: * win32/common/config.h: * win32/common/gstenumtypes.c: * win32/common/gstversion.h: 0.10.28.2 pre-release 2010-04-14 12:12:56 +0100 Tim-Philipp Müller * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: po: update translations 2010-04-14 12:43:41 +0100 Tim-Philipp Müller * gst/gststructure.c: structure: log what structure string we failed to parse 2010-04-14 17:56:17 +0200 Wim Taymans * gst/gstbin.c: * tests/check/gst/gstbin.c: bin: fix refcount when removing elements during state change When an element is removed from a bin because it caused a state change error, don't unref the child twice. Add some more debug info. Add a unit test for this error. Fixes #615756 2010-04-14 11:50:38 +0100 Tim-Philipp Müller * tests/benchmarks/Makefile.am: * tests/examples/controller/Makefile.am: tests: more LDFLAGS -> LDADD fixes 2010-04-14 11:40:21 +0100 Tim-Philipp Müller * gst/Makefile.am: build: $(LIBM) belongs into LIBADD not LDFLAGS 2010-04-08 09:14:24 +0100 Tim-Philipp Müller * libs/gst/helpers/Makefile.am: * tools/Makefile.am: build: when building executables, put libs to link to into LDADD instead of LDFLAGS Use foo_LDADD instead of foo_LDFLAGS to specify the libraries to link to. This should make sure arguments are passed to the linker in the right order. See #615697. 2010-04-14 11:19:14 +0200 Benjamin Otte * configure.ac: configure: Remove -Wcast-align Apparently gcc warns that GstMiniObject is not castable to GstEvent/Message/Buffer due to them containing 64bit variables, even though ARM hackers claim that those only need 4byte alignment. And as long as gcc behaves that way, this warning is not very useful. So we'll remove the warning until this problem is fixed. https://bugzilla.gnome.org/show_bug.cgi?id=615698 2010-04-13 10:48:41 +0100 Tim-Philipp Müller * configure.ac: configure: remove superfluous return statements at end of AC_TRY_{LINK,COMPILE} blocks Spotted by JF Mertens. See #614767. 2010-04-05 13:46:23 -0700 David Schleef * configure.ac: configure: Change check for uint128_t Check for ability to divide uint128_t values, since that what we actually use it for (in gstutils.c). The existence of a uint128_t type doesn't mean the compiler can actually generate code for it. Also make sure that we can actually link the result successfully. Fixes bug #614767. 2010-04-12 15:13:57 +0100 Tim-Philipp Müller * docs/random/moving-plugins: docs: minor moving-plugins addition 2010-04-09 15:48:00 +0200 Wim Taymans * tools/gst-launch.c: launch: make -q be more quiet Convert some g_print into PRINT so that they are not printed when the -q option is selected. 2010-04-09 15:19:12 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2: add some more debug info 2010-04-09 13:12:38 +0200 Wim Taymans * plugins/elements/gstfdsrc.c: * plugins/elements/gstfdsrc.h: fdsrc: allow specifying the size in bytes on the uri Parse a size=value from the query string to specify a size. This is interesting when reading from a file descriptor that actually has a size (and is not stat-able, such as the socket of an http connection) 2010-04-09 12:35:47 +0200 Wim Taymans * plugins/elements/gstqueue2.c: queue2: when EOS we know the duration When we are EOS, we don't need to do an upstream query for the duration in bytes because we already know it is the offset of the last written byte. 2010-04-09 13:08:13 +0200 Sebastian Dröge * gst/gstregistrychunks.c: registrychunks: Initialize typefind/element factory registry chunks with zeroes This makes valgrind stop complaining about reading unitializated memory, which is not initialized because it's just compiler-added struct padding... 2010-04-09 11:19:53 +0200 Sebastian Dröge * common: Automatic update of common submodule From d66a8c3 to fc85867 2010-04-08 10:10:18 +0100 Tim-Philipp Müller * docs/gst/.gitignore: .gitignore: add new .svg file in docs 2010-04-08 10:47:03 +0300 Stefan Kost * gst/gstbufferlist.c: docs: use informalfigure tag to not syntax highlight the content 2010-03-25 10:35:13 +0200 Stefan Kost * docs/gst/Makefile.am: * docs/gst/gst-universe.dot: * docs/gst/gstreamer-docs.sgml: docs: add concept map Add a graphviz dot file. Add rules to render it to svg and include in docs. Nodes are clickable. It is an attempt to show how things fit together. 2010-04-07 19:30:49 +0100 Tim-Philipp Müller * gst/gstmessage.c: docs: add a few code snippets that show how to use gst_message_parse_*(). 2010-04-07 19:05:04 +0100 Tim-Philipp Müller * autogen.sh: * configure.ac: build: bump autoconf requirement to 2.60 for gobject-introspection.m4 Require autoconf 2.60 (which was released in June 2006). Fixes #600718. 2010-04-07 12:29:52 +0100 Tim-Philipp Müller * gst/parse/grammar.y: parse: fix more compiler warnings Fix 'grammar.tab.c:815:6: warning: "YYENABLE_NLS" is not defined' compiler warning and the same for YYLTYPE_IS_TRIVIAL. The two translated strings aren't particularly helpful, so just define YYENABLE_NLS to 0. 2010-04-07 12:24:14 +0100 Tim-Philipp Müller * gst/parse/grammar.y: parse: fix compiler warning Fix 'grammar.y:668: passing argument 1 of ‘g_free’ discards qualifiers from pointer target type' compiler warning. 2010-04-07 16:05:38 +0200 Wim Taymans * gst/gstmessage.h: message: add Since: markers 2010-04-07 09:31:39 +0200 Edward Hervey * tests/check/gst/gstsystemclock.c: tests: gstsystemclock: don't leak the system clock 2010-04-05 00:01:56 +0300 Stefan Kost * libs/gst/check/Makefile.am: build: fix out of sourcedir build for check Move the internal header to nodist (as we copy it around anyway). Use builddir in pattern substitution for it. Fixes #61483. 2010-04-06 17:46:36 +0200 Wim Taymans * gst/gstevent.c: docs: fix some typos 2010-02-23 09:16:55 +0100 Jonas Holmberg * libs/gst/base/gstbasesrc.c: basesrc: fix gst_base_src_new_seamless_segment() Keep track of pending newsegment in gst_base_src_new_seamless_segment() to avoid pushing newsegment update before newsegment. 2010-04-04 15:21:16 +0300 Stefan Kost * gst/gstevent.c: docs: improve event docs Rephrase first paragraph of section docs. Add detail to eos event docs. 2010-03-29 08:43:05 +0200 Edward Hervey * tools/gst-indent: gst-indent: Add --leave-preprocessor-space for indent 2.2.11 It was previously broken, which is why we never needed it. This keeps backward compatibility with indent <= 2.2.11 2010-03-31 10:43:04 +0100 Tim-Philipp Müller * gst/Makefile.am: * libs/gst/base/Makefile.am: * libs/gst/check/Makefile.am: * libs/gst/controller/Makefile.am: * libs/gst/dataprotocol/Makefile.am: * libs/gst/net/Makefile.am: libs: point gobject-introspection scanner to .la files Point g-ir-scanner to the .la file of our library, which hopefully makes it find the right dependencies in all cases (ie. our locally built libgstreamer and not the system-installed one). This is also how it's done in Gtk+ and how it's documented in the wiki, see http://live.gnome.org/GObjectIntrospection/AutotoolsIntegration Based on patches by Vincent Untz and Alan Knowles. Fixes #603710. 2010-04-02 01:16:16 +0100 Philip Withnall * gst/gstutils.h: utils: Use G_GNUC_CONST instead of G_GNUC_PURE for conversion functions Fixes bug #614629. 2010-04-01 13:19:06 +0200 Edward Hervey * tests/check/libs/basesrc.c: tests: Don't forget to unref the newsegment event 2010-04-01 12:34:53 +0200 Edward Hervey * common: common: Update to latest revision for new suppressions 2010-03-31 22:07:57 +0300 Stefan Kost * tests/check/libs/basesrc.c: tests: add test for updating playback rate Tests if a seek with both positions being GST_SEEK_TYPE_NONE is handled. 2010-03-31 16:55:55 +0200 Wim Taymans * docs/design/draft-buffer2.txt: docs: add copy and conv function to buffer2 draft 2010-03-31 10:54:55 +0200 Wim Taymans * docs/design/draft-buffer2.txt: docs: update buffer2 draft 2010-03-31 11:26:28 +0300 Stefan Kost * docs/manual/communication.png: * docs/manual/diagrams-general.svg: * docs/manual/intro-basics.xml: docs: improve communication picture and section Indicate that only messages go via bus. Also add queries between elements. 2010-03-31 10:24:11 +0200 Sebastian Dröge * gst/gstutils.h: event: Use correct type for the message parameter in gst_event_{new,parse}_sink_message The struct workaround was only necessary in gstevent.h, gstutils.h knows about GstMessage 2010-03-31 09:56:50 +0300 Stefan Kost * docs/manual/communication.png: * docs/manual/diagrams-general.svg: * docs/manual/intro-basics.xml: docs: add communication overview to docs Add a section to the basics that show buffers, events, messages and queries together and describe the basics. 2010-03-30 15:56:39 +0100 Tim-Philipp Müller * pkgconfig/gstreamer-base-uninstalled.pc.in: * pkgconfig/gstreamer-base.pc.in: * pkgconfig/gstreamer-check-uninstalled.pc.in: * pkgconfig/gstreamer-check.pc.in: * pkgconfig/gstreamer-controller-uninstalled.pc.in: * pkgconfig/gstreamer-controller.pc.in: * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in: * pkgconfig/gstreamer-dataprotocol.pc.in: * pkgconfig/gstreamer-net-uninstalled.pc.in: * pkgconfig/gstreamer-net.pc.in: * pkgconfig/gstreamer-uninstalled.pc.in: * pkgconfig/gstreamer.pc.in: pkgconfig: add girdir and typelibdir variables to .pc files So that the -base libs can figure out the right include paths for the gobject-introspection tools even if core got installed into a prefix that's not the same prefix as gobject-introspection is installed in or it's being build in an uninstalled gstreamer setup. 2010-03-30 15:22:54 +0100 Tim-Philipp Müller * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: po: update for new string 2010-03-30 15:20:07 +0100 Tim-Philipp Müller * Makefile.am: * autogen.sh: * configure.ac: * m4/.gitignore: * m4/Makefile.am: * m4/check-checks.m4: build: make autotools put its m4 files into m4/ instead of common/m4/ This is how we do it in the other modules, and gets rid of the annoying dirty status for common when doing git status (at least once you clean out the old files from there). 2010-03-30 12:33:01 +0100 Tim-Philipp Müller * common: * tests/examples/Makefile.am: build: build examples subdirectories in parallel if requested 2010-03-28 20:55:09 -0300 Thiago Santos * libs/gst/base/gstbasetransform.c: basetransform: Refactor caps suggestion on pad_alloc Refactor the handling of sink suggestion caps variable so that it always has a ref to the caps it points to. Makes the code clearer. 2010-03-29 16:34:03 +0300 Stefan Kost * gst/gstinfo.h: gstinfo: add a comment explaining the reason for using fucntion protos here. 2010-03-29 16:13:54 +0300 Stefan Kost * gst/gstinfo.h: gstinfo: always define dummy debug category as a function prototype It does not seem to make sense to define this as a function only if we have varargs macros. 2010-03-28 15:10:20 +0300 Stefan Kost * gst/gstinfo.h: build: fix redeclaration erors when building with --gst-disable-gst-debug Give dummy symbols a uniqe name. 2010-03-28 14:49:03 +0300 Stefan Kost * gst/gstinfo.h: build: move some prototypes out of #ifndef GST_DISABLE_GST_DEBUG Move the prototypes up together. We only define the macros differently. Fixes bug #614167 mostly. 2010-03-29 16:05:44 +0300 Stefan Kost * gst/gstinfo.c: * gst/gstinfo.h: info: readd the use of GstDebugFuncPtr typedef and tell why This reverts the related changes from 3f4954e42d0440a7a598a908325c45ea9db076e4 and ffb0a4e1905a873191f8c802346261e8c4435065. 2010-03-29 10:22:43 +0100 Alan Knowles * libs/gst/net/gstnetclientclock.h: net: fix typo in net client clock structure It's sockaddr_in, not sockaddr_id. 2010-03-26 17:12:05 +0000 Tim-Philipp Müller * Makefile.am: build: add cruft alert for common/shave* 2010-03-28 21:02:41 +0200 Sebastian Dröge * gst/gstinfo.c: info: Fix build at least until the correct fix is found See bug #614167. 2010-03-28 19:13:22 +0200 Sebastian Dröge * gst/gststructure.c: structure: Make structure abbreviations array one-time initialization threadsafe 2010-03-28 18:05:36 +0200 Sebastian Dröge * gst/gstiterator.c: iterator: Add FIXME 0.11 for using GSlice for allocation 2010-03-28 18:05:36 +0200 Sebastian Dröge * gst/gstbin.c: * gst/gstbus.c: * gst/gstelement.c: * gst/gstelementfactory.c: * gst/gstformat.c: * gst/gstindex.c: * gst/gstinfo.c: * gst/gstobject.c: * gst/gstpad.c: * gst/gstplugin.c: * gst/gstpluginloader.c: * gst/gstquery.c: * gst/gstregistrybinary.c: * gst/gstregistrychunks.c: * gst/gstregistrychunks.h: * gst/gsttaglist.c: * gst/gsttagsetter.c: * gst/gsttrace.c: gst: Use GSlice instead of normal g_malloc in more places 2010-03-28 13:14:06 +0300 Stefan Kost * gst/gstdebugutils.h: * gst/gstinfo.h: build: more some prototypes out if #ifndef GST_DISABLE_GST_DEBUG The build was failing becasue of a new warning. There are still failures (tracked via bug #614167). 2010-03-25 20:04:37 +0000 Tim-Philipp Müller * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: po: update translations for newly-added strings 2010-03-25 19:56:00 +0000 Tim-Philipp Müller * docs/manuals.mak: docs: fix intermittent make distcheck failures Use .NOTPARALLEL when building docs. This avoids intermittent make distcheck failures like 'cp: cannot create regular file `build/image.entities': File exists' when using -jN. Fixes #590718. 2010-03-25 18:57:40 +0100 Sebastian Dröge * gst/gstelementfactory.h: elementfactory: Add FIXME 0.11 to remove GstElementDetails from the public API It's not necessary anymore to expose this as public API and this allows easier extension of the element details by new fields. 2010-03-25 18:43:04 +0100 Wim Taymans * plugins/elements/gstqueue2.c: queue2: handle write errors Handle write errors to the temporary download file and post errors when something went wrong. 2010-03-25 18:13:02 +0100 Wim Taymans * plugins/elements/gstqueue2.c: queue2: add element query function Add an element query function that is a little more efficient than the generic default query handler. 2010-03-25 18:12:06 +0100 Wim Taymans * gst/gstbin.c: bin: improve docs a little Mention that a DURATION message does not mean that one can safely query the duration on a bin, that only works when the bin is prerolled. 2010-03-25 18:05:28 +0100 Wim Taymans * plugins/elements/gstqueue2.c: queue2: remove fixed FIXME 2010-03-25 17:36:45 +0100 Wim Taymans * plugins/elements/gstqueue2.c: * plugins/elements/gstqueue2.h: queue2: add the buffering percent in BUFFERING query 2010-03-25 17:21:02 +0100 Wim Taymans * plugins/elements/gstqueue2.c: queue2: improve buffer level measurement in download mode Keep track of the current buffer level in the current range in download mode so that we post the correct buffering messages. 2010-03-25 15:54:19 +0000 Tim-Philipp Müller * libs/gst/base/Makefile.am: * libs/gst/check/Makefile.am: * libs/gst/controller/Makefile.am: * libs/gst/dataprotocol/Makefile.am: * libs/gst/net/Makefile.am: libs: don't use fancy shell features when invoking gobject-introspection scanner It's POSIX, but tcsh doesn't seem to support it. 2010-03-25 13:46:35 +0000 Tim-Philipp Müller * libs/gst/base/Makefile.am: * libs/gst/check/Makefile.am: * libs/gst/controller/Makefile.am: * libs/gst/dataprotocol/Makefile.am: * libs/gst/net/Makefile.am: libs: fix PKG_CONFIG_PATH used when calling gobject-introspection scanner Our own pkgconfig directory should come first, so that pkg-config uses the in-tree libgstreamer and not some external one when --pkg=gstreamer-0.10 is passed to g-ir-scanner. See #603710. 2010-03-25 10:27:00 +0100 Edward Hervey * libs/gst/base/gstadapter.c: GstAdapter: add a unchecked variant of flush for internal usage Trims off 10-20% cpu time when using gst_adapter_take[_buffer] 2010-03-19 15:10:07 -0300 Thiago Santos * docs/gst/gstreamer-sections.txt: * gst/gsttaglist.c: * gst/gsttaglist.h: tags: Add new _USER_RATING tag Adds a new tag for user favorite media rating. User rating informs how much (from 0 to 100) a user 'likes' a media. Having an percent uint range for this is easy to map into other scales, like some players that allow users to attribute 'stars' to its media. API: GST_TAG_USER_RATING Fixes #520697 2010-03-24 19:02:12 +0100 Wim Taymans * plugins/elements/gstqueue2.c: queue2: add more info in the buffering query Add the estimated download time and estimated time left to the buffering query results along with the estimated download and playback speed. 2010-03-24 18:18:13 +0100 Wim Taymans * plugins/elements/gstqueue2.c: * plugins/elements/gstqueue2.h: queue2: implement flushing in download buffering Maintain a separate variable to control src and sink flowreturn values so that we can unlock the src part without shutting down the sink part. Add flushing for upstream pull based elements that unblocks our getrange function. This implements seeking when blocking for more data. Add some arbitrary threshold before attempting a seek. Add a FIXME for this because we need to find a sensible threshold based on the input rate. 2010-03-24 18:50:02 +0100 Edward Hervey * common: Automatic update of common submodule From 55cd514 to c1d07dd 2010-03-24 17:32:54 +0100 Benjamin Otte * configure.ac: Remove unused code OPT_CFLAGS was never AC_SUBST()'ed so it wasn't used. And the last time it was touched was in 2005. 2010-03-24 15:47:22 +0000 Tim-Philipp Müller * gst/parse/Makefile.am: build: fix make distcheck The change from GST_ALL_CFLAGS to GST_OPTION_CFLAGS dropped the includes, putting them back fixes make distcheck. 2010-03-24 15:15:23 +0100 Benjamin Otte * tests/check/pipelines/parse-launch.c: Fix tests after set_element_details() deprecation 2010-03-24 13:33:58 +0100 Robert Swain * scripts/git-update.sh: git-update: Fix and restructure logic 2010-03-19 22:36:07 +0100 Benjamin Otte * gst/gstelement.c: * gst/gstelement.h: Deprecated gst_element_class_set_details() Use gst_element_class_set_details_simple() instead. If you want to convert automatically, here's a script: for file in `git grep -l GstElementDetails`; do sed -i -n -r ' 1h 1!H $ { g s/((\/\*[^\n]*\*\/)?\n)*[^\n]*GstElementDetails .* =\s*GST_ELEMENT_DETAILS\s*\((\"[^\"]*\",\s*\"[^\"]*\",\s*\"[^\"]*\",\s*(\"[^\"]*\"\s*)*)\);\n*(.*)gst_element_class_set_details \(([^,]*),\s*[^)]*\)/\n\n\5gst_element_class_set_details_simple (\6, \3)/ s/((\/\*[^\n]*\*\/)?\n)*[^\n]*GstElementDetails .* =\s*\{\s*(\"[^\"]*\",\s*\"[^\"]*\",\s*\"[^\"]*\",\s*(\"[^\"]*\"\s*)*)\};\n*(.*)gst_element_class_set_details \(([^,]*),\s*[^)]*\)/\n\n\5gst_element_class_set_details_simple (\6, \3)/ p }' $file ~/gst/gstreamer/tools/gst-indent $file done 2010-03-24 10:57:08 +0100 Philippe Normand * plugins/elements/gstqueue2.c: queue2: Fix uninitialized variable compiler warning 2010-03-23 19:25:08 +0000 Tim-Philipp Müller * tests/check/Makefile.am: tests: remove unused CHECK_CFLAGS and CHECK_LIBS from Makefile.am 2010-03-23 19:23:22 +0000 Tim-Philipp Müller * gst/gststructure.c: * tests/check/gst/gststructure.c: structure: add mapping for (uint) to allow deserialisation of unsigned integers Unsigned ints are used in taglists, would be nice to be able to deserialise them, esp. in connection with the taginject API. 2010-03-23 19:25:29 +0100 Wim Taymans * plugins/elements/gstqueue2.c: * plugins/elements/gstqueue2.h: queue2: implement seeking in download mode When in download mode and the requested offset is too far away, attempt to do a seek request to fetch the data. Keep track of all downloaded parts and merge ranges when needed. Fixes #600877 2010-03-22 11:06:21 -0300 André Dieb Martins * scripts/git-update.sh: git-update.sh: use autogen.sh instead of autoregen.sh on fresh repositories. Fixes #613593. 2010-03-22 17:10:06 +0200 Stefan Kost * gst/gettext.h: gettext: build fixes: #if -> #ifdef 2010-03-22 13:16:33 +0100 Benjamin Otte * plugins/elements/gstdataurisrc.c: Add -Wwrite-strings and fix its warnings 2010-03-18 10:22:09 +0200 Stefan Kost * gst/gstbin.c: * gst/parse/grammar.y: parse-launch: make delayed set recursive Right now deleyed set would only try for first set of children. We need to keep trying to support arbitrary deep hierarchies (like in playbin2 with auto*sinks). Also GstBin would need to actualy emit the child-added/removed signal as it implements the iface. Fixes #613215. 2010-03-22 08:40:34 +0100 Sebastian Dröge * pkgconfig/gstreamer-check.pc.in: pkgconfig: Use @LIBM@ instead of -lm 2010-03-19 01:02:30 +0000 Tim-Philipp Müller * pkgconfig/gstreamer-base-uninstalled.pc.in: * pkgconfig/gstreamer-check-uninstalled.pc.in: * pkgconfig/gstreamer-controller-uninstalled.pc.in: * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in: * pkgconfig/gstreamer-net-uninstalled.pc.in: * pkgconfig/gstreamer-uninstalled.pc.in: pkgconfig: add back support for builddir != srcdir case in uninstalled setup Attempt to add back support for builddir != srcdir. Use absolute paths instead of relative paths based on pcfiledir this time to make things clearer - there's not really any need for uninstalled trees to be relocatable without re-running configure. 2010-03-18 11:18:39 +0000 Robert Swain * libs/gst/base/gstbasetransform.c: basetransform: Implement QoS message posting And some more for bug #322947 2010-03-18 13:41:35 +0100 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: catch, parse and store QoS event values Catch, parse and store the QoS values from QoS events for later use. 2010-03-17 15:29:48 +0000 Robert Swain * libs/gst/base/gstbasesink.c: basesink: Implement QoS message posting in basesink Post QoS messages when frames are dropped. This goes a little further towards resolving bug #322947 2010-03-17 19:26:30 +0100 Wim Taymans * gst/gstmessage.c: message: improve docs a little 2010-03-17 19:16:42 +0100 Robert Swain * docs/gst/gstreamer-sections.txt: * gst/gstmessage.c: * gst/gstmessage.h: * gst/gstquark.c: * gst/gstquark.h: * tests/check/gst/gstmessage.c: * win32/common/libgstreamer.def: message: add QoS message to inform apps of lost data This has been implemented as per part-qos.txt and partially addresses bug #322947 2010-03-17 16:44:05 +0100 Benjamin Otte * tests/benchmarks/controller.c: test: Remove needless cast GstValueArray.name is const now 2010-03-17 14:33:35 +0000 Tim-Philipp Müller * pkgconfig/gstreamer-base-uninstalled.pc.in: * pkgconfig/gstreamer-check-uninstalled.pc.in: * pkgconfig/gstreamer-controller-uninstalled.pc.in: * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in: * pkgconfig/gstreamer-net-uninstalled.pc.in: * pkgconfig/gstreamer-uninstalled.pc.in: Revert "Add srcdir to includes for out-of-source builds" I don't know how this ever worked, as it seems to put -I./.. and -I./../libs verbatim into the includes, at least with current autotools versions. This reverts commit 279a80ff27ba4c90f52981e89e710eb1181bc201. 2010-03-17 15:46:46 +0100 Wim Taymans * docs/design/part-qos.txt: docs: avoid confusion between events and messages 2010-03-17 12:18:18 +0100 Sebastian Dröge * libs/gst/controller/gstcontrolsource.h: controller: Mark property_name in GstValueArray as const This won't and should not be changed from any API 2010-03-17 12:45:49 +0200 Mart Raudsepp * gst/gstelement.h: docs: fix typo 2010-03-16 09:56:16 +0200 Mart Raudsepp * libs/gst/base/gstdataqueue.c: docs: add missing "Since: 0.10.26" marker for gst_data_queue_new_full() 2010-03-16 09:42:21 +0200 Mart Raudsepp * gst/gststructure.c: docs: fix since tag for gst_structure_id_has_field_typed() gst_structure_id_has_field_typed was added in 0.10.26, not 0.10.16. Apparent typo in commit f9e3b72f when the API was added. 2010-03-17 10:53:19 +0000 Tim-Philipp Müller * libs/gst/base/gstbytewriter.c: docs: fix Since markers for gst_byte_writer_put_float*() As the headers were broken in 0.10.26 the functions weren't really usable back then, so we should advertise them as being there only since 0.10.27. Spotted by Mart Raudsepp. 2010-03-16 17:56:13 +0000 Tim-Philipp Müller * gst/gstcaps.c: * gst/gstchildproxy.c: * gst/gststructure.c: * gst/gsttaglist.c: gst: use #if GLIB_CHECK_VERSION instead of #ifndef GLIBMACRO for better greppability at the time we bump GLib version requirements. 2010-03-14 11:47:23 +0100 Edward Hervey * plugins/elements/gsttypefindelement.c: typefind: deactivate pad if we can't get length or it's a length of zero. Fixes issues when re-using typefind after a file of length zero. 2010-03-16 10:32:12 -0300 Thiago Santos * libs/gst/base/gstbasetransform.c: basetransform: Accept non-fixed caps suggestions When doing pad_allocs, use non-fixed caps suggestions and try to fixate them before using. This makes possible to have suggested buffer size with 0 in basetransform just to signal upstream a renegotiation is needed Fixes #576234 Fixes #609046 2010-03-16 10:40:40 +0100 Wim Taymans * docs/design/part-qos.txt: docs: merge QoS message fields There was already a section about QoS messages that is now merged with the new information. 2010-03-16 10:44:01 +0200 Stefan Kost * docs/pwg/building-boiler.xml: pwg: mention how to build after using the project stamp 2010-03-16 09:56:41 +0200 Stefan Kost * gst/gsttask.c: task: snprintf needs to include "stdio.h" 2010-03-15 18:48:14 +0100 Wim Taymans * docs/design/part-qos.txt: docs: update QOS docs to include QOS messages Add some docs about the values needed for a QoS message and some use cases. See #322947 2010-03-15 17:07:59 +0100 Wim Taymans * configure.ac: * gst/gsttask.c: task: use bionic/libc friendly arguments to prctl prctl is supposed to take 5 arguments. It used to work with 2 arguments on some versions of libc because it is defined as a varags function there. See #611911 2010-03-15 15:07:35 +0100 Wim Taymans * gst/gsttask.c: task: update docs. 2010-03-15 14:44:51 +0100 Sebastian Dröge * gst/gsttaglist.h: taglist: Work around gtk-doc problem 2010-03-15 14:44:16 +0100 Sebastian Dröge * libs/gst/base/gstbytewriter.h: bytewriter: Use correct gtk-doc workaround 2010-03-15 14:05:35 +0100 Sebastian Dröge * gst/gstutils.c: utils: Handle iterator resyncs in gst_pad_proxy_setcaps() Fixes bug #612881. 2010-03-15 14:48:19 +0100 Wim Taymans * configure.ac: * gst/gsttask.c: task: configure the object name as thread name When we have prctl available, use it to set the configured object name as the thread name for better debugging. Based on patch by Robert Swain. 2010-03-15 13:48:30 +0100 Wim Taymans * gst/gstpad.c: pad: set a good name on the task of the pad Use the element:pad names to configure a good name for the pad task. 2010-03-15 12:13:55 +0100 Wim Taymans * gst/gsttask.h: task: retab 2010-03-15 10:26:18 +0200 Stefan Kost * gst/gstpluginloader.c: logging: remove extra newline 2010-03-04 23:36:50 +0200 Stefan Kost * gst/gstbus.c: bus: turn g_return_if_fail into g_assert. This either must never happen (which makes sense in this case) and thus should use assert() or we should use a traditional if (poll_data->message) return; to avoid differnet behaviour of intenal api when compiling with G_DISABLE_CHECKS. 2010-03-03 23:37:01 +0200 Stefan Kost * gst/gstcaps.c: caps: move the check to the public api. This avoids creating empty caps and destroying them in the case of an error. We also avoid double checking in other code path where we call the internal api. 2010-03-03 23:34:58 +0200 Stefan Kost * gst/gstcaps.c: caps: this is internal API where we need to ensure !NULL higher up 2010-03-03 21:50:21 +0200 Stefan Kost * gst/gst.c: gst: this is an internal function where we already ensure !NULL when calling 2010-02-26 09:29:23 +0200 Stefan Kost * gst/gstdebugutils.c: debugutils: fix case of pad flag Due to a typo the code was always showing the flag as 's' (lower case). Fixes #611075 2010-02-23 23:50:36 +0200 Stefan Kost * gst/gstinfo.c: debug: add pretty printer for events Adder is using GST_PTR_FORMAT for events already, so we might actualy implement this and print out some useful info. 2010-03-13 11:03:59 +0100 Benjamin Otte * gst/gstplugin.h: Add some 0.11 FIXMEs for GstPluginInitFunc See 8fe63000de31bb2bcf346d59230dea06117997cd for why having a TRUE/FALSE return value is a bad idea. I've scanned a few plugins and they generally get it wrong and aren't unloadable when they return FALSE. 2010-03-12 19:07:22 +0000 Tim-Philipp Müller * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: po: update for new strings 2010-03-12 19:05:16 +0000 Leo Singer * gst/gstinfo.c: gstinfo: fix compilation error if HAVE_REGISTER_PRINTF_SPECIFIER is undefined Use #if HAVE_FOO instead of #ifdef HAVE_FOO. Fixes #612733. 2010-03-12 16:42:47 +0100 Benjamin Otte * gst/gstplugin.c: plugins: Do not ever unload a plugin after calling into it This is what can happen in a plugin_init function: - An element based on GstBaseSink is registered - Other elements fail to register - The plugin_init function returns FALSE Now if this the plugin is the first plugin to link against libgstbase.so, it will have caused libgstbase.so to be loaded and static strings from that library will have been added to gobject while registering GstBaseSink. So unloading the plugin will cause those strings to go stale and the next plugin using GstBaseSink will crash. So we must not unload modules after calling into them ever. https://bugzilla.redhat.com/show_bug.cgi?id=572800 2010-03-12 15:36:38 +0100 Sebastian Dröge * libs/gst/controller/gstinterpolation.c: interpolationcontrolsource: Don't pass NULL to the GSequence API 2010-03-12 13:33:00 +0000 Robert Swain * scripts/git-update.sh: git-update: Fix error return value and make the script exit on errors Newer versions of BASH (4.x?) seem to dislike using -1 for a return. Even though it's documented as being signed, BASH complains about it, so use 255 instead. 2010-03-12 13:54:29 +0100 Edward Hervey * common: Automatic update of common submodule From e272f71 to 55cd514 2010-02-17 13:02:43 +0100 Edward Hervey * gst/gstcaps.c: * gst/gstchildproxy.c: * gst/gststructure.c: * gst/gsttaglist.c: gst: Use G_VALUE_COLLECT_INIT if available This brings total call speedups between 5% and 25%. gst_caps_set_simple_valist: +5% gst_structure_set_valist: + 10% gst_structure_id_set_valist: +25% gst_tag_list_add_valist: +5% Measured using valgrind when run over the discovery of 200 media files. Fixes #610256 2010-03-11 20:29:29 +0100 Benjamin Otte * tests/check/elements/fdsrc.c: * tests/check/gst/gstpoll.c: * tests/check/libs/gstnettimeprovider.c: win32: Fix build failures of tests 2010-03-09 20:38:47 -0300 Thiago Santos * docs/gst/gstreamer-sections.txt: * gst/gsttaglist.c: * gst/gsttaglist.h: tags: Adds new geo location tags Adds new tags GST_TAG_GEO_LOCATION_COUNTRY, GST_TAG_GEO_LOCATION_CITY and GST_TAG_GEO_LOCATION_SUBLOCATION. API: GST_TAG_GEO_LOCATION_COUNTRY API: GST_TAG_GEO_LOCATION_CITY API: GST_TAG_GEO_LOCATION_SUBLOCATION Fixes #612410 2010-03-11 18:36:32 +0100 Benjamin Otte * gst/gst.c: win32: Add prototype for DllMain() 2010-03-11 11:46:09 +0100 Edward Hervey * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files 2009-12-28 17:25:20 +0100 Edward Hervey * gst/gstchildproxy.c: * gst/gstelement.c: * gst/gstminiobject.c: * gst/gstobject.c: * gst/gstutils.c: * gst/parse/grammar.y: gstreamer: remove unneeded casts G_PARAM_SPEC_VALUE_TYPE does an expensive type check, whereas the value_type field is a public field, so we can just use it directly. 2010-03-11 11:39:40 +0100 Benjamin Otte * configure.ac: Remove -Winline flag again It triggers for a lot of GStreamer API (even though those triggers are wrong most of the time). I missed it because it only triggers with -O2, and I was using -O0. 2010-03-11 11:20:35 +0100 Benjamin Otte * common: Automatic update of common submodule From df8a7c8 to e272f71 2010-03-11 11:10:44 +0100 Benjamin Otte * configure.ac: Add a bunch more warning flags to configure None of these flags cause warnings anymore, so no fixes necessary. The flags are: -Wformat-nonliteral -Wformat-security -Wold-style-definition -Wcast-align -Winline -Winit-self -Wmissing-include-dirs -Waddress -Waggregate-return -Wno-multichar -Wnested-externs 2010-03-02 22:58:06 +0100 Benjamin Otte * configure.ac: * docs/gst/Makefile.am: * gst/Makefile.am: * gst/gstelement.c: * gst/gstelementdetails.h: * gst/gstelementfactory.c: * gst/gstpad.c: * gst/gstparse.c: * gst/gstpipeline.c: * gst/gstplugin.c: * gst/gstregistry.c: * gst/gstregistrybinary.c: * gst/gstutils.c: * gst/parse/types.h: * libs/gst/check/gstcheck.h: * libs/gst/controller/gstcontroller.c: * libs/gst/dataprotocol/dataprotocol.c: * plugins/elements/gstfilesink.c: * plugins/elements/gstfilesrc.c: * plugins/indexers/Makefile.am: * plugins/indexers/gstfileindex.c: * plugins/indexers/gstindexers.c: * plugins/indexers/gstindexers.h: * plugins/indexers/gstmemindex.c: * tests/check/elements/tee.c: * tests/check/gst/gstminiobject.c: * tests/check/libs/typefindhelper.c: * win32/common/libgstreamer.def: Fixes for -Wmissing-declarations -Wmissing-prototypes Also adds those flags to the configure warning flags https://bugzilla.gnome.org/show_bug.cgi?id=611692 2010-03-11 09:39:23 +0000 Tim-Philipp Müller * gst/gstbuffer.c: buffer: fix printf format Use %u to print unsigned integers. 2010-03-11 10:29:23 +0200 Stefan Kost * tests/check/libs/typefindhelper.c: tests: cast the arg. to fix the build with new compiler opts. This is ugly. I am not sure if we really want to have such casts all over the place. 2010-03-11 10:14:05 +0200 Stefan Kost * gst/gst-i18n-app.h: * gst/gst-i18n-lib.h: i18n: define dummy ngettext if i18n is disabled. We cannot blindly use gettext function and not define them when not using gettext. 2010-03-11 10:00:45 +0200 Stefan Kost * gst/gst-i18n-app.h: * gst/gst-i18n-lib.h: i18n: fix the build with i18n disabled. Don't include gettext.h if !ENABLE_NLS. 2010-03-04 10:44:52 +0200 Stefan Kost * configure.ac: * gst/gstbuffer.c: buffer: allow configurable memory alignment. Fixes #596832 The alignment guaranteed by malloc is not always sufficient. E.g. vector instructions or hardware subsystems want specifically aligned buffers. The attached patch will use posix_memalign if available to allocate buffers. The desired alignment can be set when running configure using the new --with-buffer-alignment option. 2010-03-10 21:51:50 +0100 Benjamin Otte * common: Automatic update of common submodule From 9720a7d to df8a7c8 2010-03-10 20:52:06 +0100 Benjamin Otte Merge branch 'work' 2010-03-03 11:45:38 +0100 Benjamin Otte * configure.ac: * gst/gst.c: * gst/gstbufferlist.c: * gst/gstdebugutils.c: * gst/gstformat.c: * gst/gstformat.h: * gst/gstinfo.c: * gst/gstminiobject.c: * gst/gstobject.c: * gst/gstobject.h: * gst/gstplugin.c: * gst/gstplugin.h: * gst/gstpluginloader.c: * gst/gstquery.c: * gst/gstquery.h: * gst/gststructure.c: * gst/gsttrace.c: * gst/gsttrace.h: * gst/gstvalue.c: * libs/gst/check/gstcheck.c: * libs/gst/check/gstcheck.h: * libs/gst/controller/gstcontroller.c: * libs/gst/controller/gstcontroller.h: * libs/gst/controller/gsthelper.c: * libs/gst/helpers/gst-plugin-scanner.c: * plugins/elements/gstfdsink.c: * plugins/elements/gstfdsrc.c: * plugins/elements/gstfilesink.c: * plugins/elements/gstfilesrc.c: * tests/benchmarks/controller.c: * tests/benchmarks/mass-elements.c: * tests/check/elements/tee.c: * tests/check/gst/gstbufferlist.c: * tests/check/gst/gstpad.c: * tests/check/gst/gstpreset.c: * tests/check/gst/gststructure.c: * tests/check/gst/gsttag.c: * tests/check/gst/gstvalue.c: * tests/check/libs/controller.c: * tests/check/libs/typefindhelper.c: * tests/check/pipelines/cleanup.c: * tests/check/pipelines/parse-launch.c: * tests/check/pipelines/simple-launch-lines.c: * tools/gst-inspect.c: Fixes for -Wwrite-strings This changes some APIs in compatible ways: - Some functions now take "const char *" arguments, not "char *" - Some structs now have "conts char *" members, not "char *" The changes may cause warnings when compiling with the right warning flags. You've been warned. Also adds -Wwrite-strings as a warning flag in configure.ac. https://bugzilla.gnome.org/show_bug.cgi?id=611692 2010-03-03 10:31:26 +0100 Benjamin Otte * configure.ac: * gst/gstbuffer.c: * tests/check/libs/transform1.c: Fixes -Wundef warnings ... and adds that flag to configure.ac https://bugzilla.gnome.org/show_bug.cgi?id=611692 2010-03-03 10:31:05 +0100 Benjamin Otte * tests/benchmarks/gstpollstress.c: benchmarks: Remove unneeded g_thread_exit() https://bugzilla.gnome.org/show_bug.cgi?id=611692 2010-03-03 10:26:14 +0100 Benjamin Otte * gst/gst.c: * gst/gstpluginloader.c: * gst/gstregistry.c: * tools/gst-inspect.c: Fixes for -Wold-style-definition https://bugzilla.gnome.org/show_bug.cgi?id=611692 2010-03-02 23:51:18 +0100 Benjamin Otte * configure.ac: * docs/gst/gstreamer-sections.txt: * gst/gstbus.c: * gst/gstclock.c: * gst/gstelementfactory.c: * gst/gstindex.c: * gst/gstindexfactory.c: * gst/gstinfo.c: * gst/gstinfo.h: * gst/gstobject.c: * gst/gstpipeline.c: * gst/gstplugin.c: * gst/gstregistry.c: * gst/gstregistrybinary.h: * gst/gstsystemclock.c: * gst/gsttask.c: * gst/gsttaskpool.c: * gst/gstutils.h: * gst/gstxml.c: * gst/parse/grammar.y: * libs/gst/base/gstcollectpads.c: * libs/gst/controller/gstcontrolsource.c: * libs/gst/controller/gstinterpolationcontrolsource.c: * libs/gst/controller/gstlfocontrolsource.c: * libs/gst/dataprotocol/dp-private.h: * tests/check/elements/fakesink.c: * tests/check/gst/gstparamspecs.c: * tests/check/gst/gsttagsetter.c: * tests/check/libs/test_transform.c: * tests/examples/streams/testrtpool.c: Make code safe for -Wredundant-decls Adds that warning to configure.ac Includes a tiny change of the GST_BOILERPLATE_FULL() macro: The get_type() function is no longer declared before being defined. https://bugzilla.gnome.org/show_bug.cgi?id=611692 2010-03-10 20:43:35 +0100 Benjamin Otte * common: Automatic update of common submodule From 0b6e072 to 9720a7d 2010-03-03 10:00:41 +0100 Benjamin Otte * gst/parse/Makefile.am: Make sure generated code doesn't run with -Werror https://bugzilla.gnome.org/show_bug.cgi?id=611692 2010-03-10 17:03:29 +0100 Benjamin Otte * configure.ac: Update to common/ changes to ERROR_CFLAGS 2010-03-10 19:17:42 +0100 Benjamin Otte * gst/gstregistrybinary.c: Revert "registry: remove unused function" Turns out the function is not unused, but was in an #ifdef WIN32 section. Whoops. This reverts commit 57d5db424c68ab5a61f33ce36ce0179eb30251ac. 2010-03-10 16:09:33 +0100 Benjamin Otte * common: Automatic update of common submodule From 7cc5eb4 to 0b6e072 2010-03-02 21:07:33 +0100 Benjamin Otte * gst/gstregistrybinary.c: registry: remove unused function Actually, there was two functions with the same name, but only one was used. https://bugzilla.gnome.org/show_bug.cgi?id=611692 2010-03-02 16:20:15 +0100 Benjamin Otte * gst/gstelement.c: * win32/common/libgstreamer.def: remove unused gst_element_default_error() https://bugzilla.gnome.org/show_bug.cgi?id=611692 2010-03-10 07:15:15 +0000 Jeremy Huddleston * gst/gstutils.c: utils: Use mulq instead of mul as some assemblers can't guess the size of the operands Fixes bug #612370. 2010-03-10 01:09:11 +0000 Tim-Philipp Müller * common: Automatic update of common submodule From 7aa65b5 to 7cc5eb4 2010-03-09 21:20:27 +0000 Sebastian Dröge * common: Automatic update of common submodule From 44ecce7 to 7aa65b5 2010-02-26 16:03:47 +0100 Sebastian Dröge * Makefile.am: * gst/Makefile.am: * gst/parse/Makefile.am: * libs/gst/base/Makefile.am: * libs/gst/check/Makefile.am: * libs/gst/controller/Makefile.am: * libs/gst/dataprotocol/Makefile.am: * libs/gst/net/Makefile.am: * pkgconfig/Makefile.am: * tools/Makefile.am: build: Make some more rules silent if requested 2010-02-26 15:32:14 +0100 Sebastian Dröge * configure.ac: configure: Use automake 1.11 silent rules instead of shave if available This makes sure that we use something that is still maintained and also brings back libtool 1.5 support. 2010-02-22 16:25:45 +0100 Sebastian Dröge * libs/gst/controller/gstlfocontrolsource.c: lfocontrolsource: Optimize get_value_array() Don't convert from GValue to the actual type for every single value. 2010-02-22 15:18:41 +0100 Sebastian Dröge * libs/gst/controller/gstinterpolation.c: interpolationcontrolsource: Optimize get_value_array() This makes it >10x faster if more than a single value is requested by not searching in the GSequence for every value and converting the value from GValue to the real value type. 2010-02-21 17:36:55 +0100 Sebastian Dröge * tests/benchmarks/controller.c: controller: Add benchmark for getting a value array of the control points 2010-03-08 23:28:04 +0100 Benjamin Otte * gst/gstplugin.c: Fix typos in documentation 2010-03-08 23:04:26 +0100 Benjamin Otte * gst/gstvalue.c: caps: Fail when fractions are followed by random text Previous code treated "1/1yourmom" the same as "1/1" and "1wimsmom" the same as "1". Now the code is stricter and will fail to convert a fraction when followed by garbage text. 2010-03-09 17:32:39 +0000 Tim-Philipp Müller * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * win32/common/config.h: * win32/common/gstversion.h: Back to development === release 0.10.28 === 2010-03-08 23:09:01 +0000 Tim-Philipp Müller * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * gstreamer.doap: * win32/common/config.h: * win32/common/gstversion.h: Release 0.10.28 2010-03-08 23:06:48 +0000 Tim-Philipp Müller * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files 2010-03-08 22:05:29 +0100 Benjamin Otte * gst/gstvalue.c: caps: Allow 1/max as the minimal fraction value > 0 This is useful for formats that require a valid framerate (like theoraenc). 2010-03-04 15:21:37 +0100 Wim Taymans * gst/gstelement.c: element: fix typo in comments === release 0.10.27 === 2010-03-05 23:43:26 +0000 Tim-Philipp Müller * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * gstreamer.doap: * win32/common/config.h: * win32/common/gstversion.h: Release 0.10.27 2010-03-05 23:41:09 +0000 Tim-Philipp Müller * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files 2010-03-04 18:39:02 +0000 Tim-Philipp Müller * gst/gstpoll.c: gstpoll: don't pass non-objects as first argument to GST_DEBUG_OBJECT() This may cause crashes when logging is enabled, especially on windows. It's not safe to pass random pointers to g_type_check_instance_is_a(). Fixes #611719. 2010-03-03 19:54:50 +0000 Tim-Philipp Müller * configure.ac: * win32/common/config.h: * win32/common/gstversion.h: 0.10.26.4 pre-release 2010-03-03 19:49:34 +0000 Tim-Philipp Müller * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: po: update translations 2010-03-03 12:06:30 +0000 Tim-Philipp Müller * libs/gst/base/gstbytewriter.c: docs: fix up bytewriter doc chunks for float functions as well 2010-03-03 11:28:27 +0000 Tim-Philipp Müller * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstbytewriter.h: bytewriter: fix headers for float/double writing functions The functions are called gst_byte_writer_put_{float32|float64}_*() and not gst_byte_writer_put_{float|double}_*(). Spotted by: Benjamin Otte 2010-03-01 12:02:44 +0000 Tim-Philipp Müller * gst/gsttaglist.c: tags: try to make comment for translators more helpful 2010-02-26 15:46:50 +0100 Mark Nauwelaerts * libs/gst/base/gstbasesink.c: basesink: fix emergency rendering timestamp tracking Specifically, if all (including initial) buffers turn up late, emergency rendering should also kick in appropriately. Fixes #611087. 2010-02-24 00:30:02 +0000 Tim-Philipp Müller * configure.ac: * win32/common/config.h: * win32/common/gstversion.h: 0.10.26.3 pre-release 2010-02-24 00:29:25 +0000 Tim-Philipp Müller * po/bg.po: * po/es.po: * po/nl.po: po: update translations 2010-02-19 13:26:01 +0100 Sebastian Dröge * libs/gst/controller/gstinterpolationcontrolsource.c: * tests/check/libs/controller.c: interpolationcontrolsource: Don't pass NULL pointers to GSequence API This causes assertion failures. Fixes bug #610444. 2010-02-19 13:20:36 +0100 Sebastian Dröge * libs/gst/controller/gstinterpolationcontrolsource.c: * libs/gst/controller/gstinterpolationcontrolsource.h: interpolationcontrolsource: Add const qualifiers to values in the _set functions The values are not modified and are copied, a const before the parameter should make this even more obvious. 2010-02-18 09:17:06 +0100 Sebastian Dröge * libs/gst/controller/gsthelper.c: controller: Add some FIXME 0.11 comments 2010-02-17 10:04:54 +0100 Sebastian Dröge * plugins/elements/gstelements.c: corelements: Combine redundant code 2010-02-17 01:27:22 +0100 Andoni Morales Alastruey * plugins/elements/gstelements.c: * plugins/elements/gstfdsink.c: * plugins/elements/gstfdsrc.c: Fix compilation of fdsink and fdsrc with MSVC 2010-02-18 14:58:52 +0000 Tim-Philipp Müller * configure.ac: * po/vi.po: * win32/common/config.h: * win32/common/gstversion.h: 0.10.26.2 pre-release 2010-02-18 13:12:39 +0000 Tim-Philipp Müller * docs/plugins/.gitignore: .gitignore: ignore some more temporary docs cruft 2010-02-18 13:09:17 +0000 Tim-Philipp Müller * Makefile.am: build: fix indenting in win32-update target No idea why we need to run gst-indent twice on that file, but it only seems to settle on a final format with minimal diff to the one in git after two runs. 2010-02-18 13:08:32 +0000 Tim-Philipp Müller * libs/gst/check/gstcheck.c: gstcheck: more debug logging for gst_check_element_push_buffer_list() 2010-02-18 11:52:28 -0300 Thiago Santos * libs/gst/base/gstcollectpads.h: collectpads: Improve docs about 'data' attribute Adds a reminder to 'data' attribute doc Fixes #610366 2010-02-18 17:15:35 +0100 Mark Nauwelaerts * plugins/indexers/gstmemindex.c: memindex: avoid busy loop when doing EXACT lookup Fixes #610367. 2009-12-22 11:09:10 +0800 Johan Bilien * gst/gstelement.c: introspection: add annotation for gst_element_get_state state and pending are "out" arguments. Fixes #605189. 2010-02-17 12:16:37 +0100 Edward Hervey * plugins/elements/gstfilesrc.c: * plugins/elements/gstfilesrc.h: filesrc: Don't use expensive cast checks in _create _create() is a pad function set by ourselves, therefore we're sure basesrc is a GstFileSrc. Speeds up _create() by 17% and the total call by 8% (instruction calls measurements done with valgrind). Fixes #610246 2010-02-17 12:14:09 +0100 Edward Hervey * libs/gst/base/gstbasesrc.c: basesrc: Don't use expensive cast checks in get_range. _get_range() is a pad function set by ourselves, therefore we're certain that the parent is a GstBaseSrc. Speeds up _get_range by 38%, and the total call by 30%. (valgrind instruction calls measurements). Fixes #610246 2010-02-17 11:31:07 +0200 Stefan Kost * plugins/elements/gstfdsrc.c: fdsrc: cleanup parameter initialisation and add comemnt+logging Initialize new_fd with DEFAULT_FD and fd with -1. Setting the property will set new_fd and in _update_fd() we cehck fd against -1. Also add a coment about the warning we get in the log from gst_poll_remove_fd(). We could get rid of the warning if we want by tracking if fd has been added to fdset. 2010-02-17 09:55:52 +0200 Stefan Kost * docs/design/draft-metadata.txt: design: write about the current state of tag-handling Document the taghandling in gstreamer. List gaps and propose new mechanisms to deal with them. 2010-02-16 10:27:18 +0200 Stefan Kost * gst/gsttaglist.c: taglist: remove blank lines in variable declarations 2010-02-16 11:30:35 +0000 Tim-Philipp Müller * tools/gst-inspect.c: * tools/gst-launch.c: * tools/gst-typefind.c: * tools/gst-xmlinspect.c: * tools/tools.h: tools: call g_set_prgname() before doing the option parsing g_setprgname is implicitly called by g_option_context_new() with a check to see if it's been set already, so set it before g_option_context_new() Move version printing back until after the options have been parsed, otherwise it won't work, since it evaluates a flag set by the option parser. 2010-02-16 11:24:33 +0000 Tim-Philipp Müller * tools/gst-inspect.c: * tools/gst-launch.c: Revert "tools: Move gst_tools_print_version call to avoid warning from new GLib." This reverts commit 93dd95f02ef3fa530f54ce81e8ffba96f3b679cb. This commit made --version not work any longer. The g_setprgname() warning is fixed in recent GLib versions. 2010-02-16 08:26:59 +0000 Tim-Philipp Müller * configure.ac: * gst/Makefile.am: build: make sure gst-plugin-scanner gets installed where we expect it Add check to make sure gst-plugin-scanner really gets installed where we will look for it later, ie. paths and prefixes are set at configure time and not specified via make. Fixes #609941. 2010-02-15 23:02:59 +0200 Stefan Kost * plugins/elements/gstqueue2.c: docs: prefer short desc from GstElementDetails 2010-02-15 01:24:25 +0000 Tim-Philipp Müller * libs/gst/check/gstcheck.c: docs: fix gtk-doc chunk for gst_check_element_push_buffer_list() 2010-02-13 15:28:39 +0000 Tim-Philipp Müller * tests/check/elements/dataurisrc.c: tests: add unit test for dataurisrc Requires fixes from core git, so bump core requirement to git as well. 2010-02-15 00:31:16 +0000 Tim-Philipp Müller * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: po: update po files for new comments 2010-02-15 00:29:37 +0000 Tim-Philipp Müller * gst/gsttaglist.c: tags: wrap long string constants And fix indenting issue 2010-02-15 00:21:43 +0000 Tim-Philipp Müller * gst/gsttaglist.c: tags: add some comments for translators so tag mnemonics get translated correctly We want 'preview image' translated as a noun, not as 'preview [the] image'. 2010-02-04 17:43:32 +0000 Tim-Philipp Müller * gst/gstpad.c: pad: don't print WARN debug statements for normal things like EOS 2010-02-14 23:15:45 +0100 Sebastian Dröge * common: Automatic update of common submodule From 96dc793 to 44ecce7 2010-02-13 15:18:05 +0100 Edward Hervey * plugins/elements/gsttypefindelement.c: typefind: Reset the working mode when going to READY/NULL This allows properly re-using typefind (else it would think it's already done the typefinding when being re-used with another stream). 2010-01-22 11:38:59 -0300 Thiago Santos * tests/check/libs/bytewriter.c: bytewriter: Adds a test for _fill 2010-01-22 09:19:31 -0300 Thiago Santos * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstbytewriter.c: * libs/gst/base/gstbytewriter.h: * win32/common/libgstbase.def: bytewriter: add _fill function Adds a new function to GstByteWriter that writes a constant value to a memory area (aka memset). Useful for adding padding to buffers. Also updates .def file and docs. API: gst_byte_writer_fill() 2010-01-28 11:57:33 -0300 Thiago Santos * plugins/elements/gsttypefindelement.c: typefind: Avoid messing pads activation Typefind might mess up pads modes (pull/push) if a downstream element is plugged and its pads activated in 'step 2' of typefind pads activation. This happens because the following steps don't check if we already emitted typefound due to upstream setting caps on buffers being pulled in the typefind helpers. Avoid that by checking if typefound is already emmited. Fixes #608036 2010-02-12 14:49:52 +0100 Sebastian Dröge * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasesrc.h: basesrc: Make locking of the segment a bit more strict and update documentation Updating the segment values must only be done while holding the STREAM_LOCK and OBJECT_LOCK. This means, reading can be done as long as one of them is held, not both, which removes some lock-unlock blocks from performance critical code paths. Also document, that gst_base_src_set_format() *must* be called in states <= READY and add an assertion for this. Changing the format later will completely mess up the segment information. 2010-02-08 09:12:01 +0530 Arun Raghavan * docs/pwg/advanced-clock.xml: * docs/pwg/advanced-dparams.xml: * docs/pwg/advanced-interfaces.xml: * docs/pwg/advanced-negotiation.xml: * docs/pwg/advanced-request.xml: * docs/pwg/advanced-scheduling.xml: * docs/pwg/advanced-tagging.xml: * docs/pwg/advanced-types.xml: * docs/pwg/appendix-porting.xml: * docs/pwg/building-boiler.xml: * docs/pwg/building-chainfn.xml: * docs/pwg/building-pads.xml: * docs/pwg/building-props.xml: * docs/pwg/building-testapp.xml: * docs/pwg/intro-basics.xml: pwg: several typo fixes Fixes #609286. 2010-02-09 17:52:13 +0100 Sebastian Dröge * libs/gst/base/gstbasesrc.c: basesrc: Protect segment values from concurrent access from different threads This could happen easily in the query functions or when the size is set on appsrc from some non-streaming thread. 2010-02-04 21:11:25 +0100 Sebastian Dröge * plugins/elements/gsttypefindelement.c: typefindelement: Protect internal fields from concurrent changes from different threads Fixes bug #608877. 2010-02-11 20:14:59 +0000 Tim-Philipp Müller * tools/gst-launch.c: gst-launch: don't leak timeout GSource 2010-02-11 00:18:39 +0000 Tim-Philipp Müller * docs/random/release: docs: flesh out release doc some more 2010-02-11 01:10:38 +0000 Tim-Philipp Müller * MAINTAINERS: Update MAINTAINERS, add myself 2010-02-11 19:49:00 +0000 Tim-Philipp Müller * configure.ac: configure: back to development Slushy freeze remains in effect. === release 0.10.26 === 2010-02-10 19:17:28 +0000 Tim-Philipp Müller * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/gstreamer-plugins.args: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * gstreamer.doap: * win32/common/config.h: * win32/common/gstversion.h: Release 0.10.26 2010-02-10 15:32:06 +0000 Tim-Philipp Müller * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files 2010-02-09 15:52:23 +0000 Tim-Philipp Müller * configure.ac: configure: define GST_PLUGIN_SCANNER_INSTALLED in win32 config.h Even if it's not used, it still needs to be defined for things to compile. 2010-02-09 10:19:04 +0000 Tim-Philipp Müller * gst/gst_private.h: gst_private: MSVC doesn't seem to like #warning Visual Studio complains about "invalid preprocessor command 'warning'" even if the ifdef doesn't trigger, so just remove this again. 2010-02-10 14:40:17 +0100 Edward Hervey * tests/check/elements/multiqueue.c: tests: Fix multiqueue test for latest commits. The problem lies in the fact that multiqueue will now operate somewhat similarly to the flow aggregation logic of demuxers and therefore will stopp whenever all downstream pads return NOT_LINKED and/or UNEXPECTED and there's no more buffers to push. The latest commits should not affect any regular use-case, but the bug report will be kept open so the previous behaviour can be re-established if needed. Fixes #609486 2010-02-09 15:51:18 +0100 Edward Hervey * plugins/elements/gstmultiqueue.c: multiqueue: Don't stop threads on UNEXPECTED and forward flow returns. When a downstream element returns GST_FLOW_UNEXPECTED we want to: * let the dataqueue task running * forward the flow return upstream. This allows upstream elements to push EOS, and have that EOS event come downstream. Fixes #609274 2010-02-09 13:35:08 +0100 Edward Hervey * plugins/elements/gstmultiqueue.c: * tests/check/elements/multiqueue.c: Revert "multiqueue: handle UNEXPECTED flowreturn better" This reverts commit fbdf4dcedad8692f1e3d8838551188987e462e74. Partly fixes #609274 2010-01-28 07:27:49 +0100 Robert Swain * scripts/git-update.sh: git-update.sh: Fix issues 2010-02-07 09:59:25 +0100 Tim-Philipp Müller * gst/gstbufferlist.c: Revert "docs: fix ASCII art so that iterators are aligned property to the diagram" This reverts commit ae60d06e9e401d1ed4de5ef25b5c283db0696a31 (fixes: #609166) 2010-02-04 18:30:56 +0000 Tim-Philipp Müller * configure.ac: * win32/common/config.h: * win32/common/gstversion.h: 0.10.25.3 pre-release 2010-02-04 17:45:46 +0000 Tim-Philipp Müller * po/bg.po: * po/de.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/id.po: * po/pl.po: * po/sv.po: * po/zh_CN.po: po: translation updates 2010-02-01 12:50:40 +0000 Tim-Philipp Müller * gst/gstbufferlist.c: docs: fix ASCII art so that iterators are aligned property to the diagram 2010-02-01 17:40:08 -0300 Thiago Santos * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstbytewriter.h: gstbytewriter: Fix different function names in .h and .c gst_byte_writer_reset_and_get_buffer wasn't declared in .h, instead there was _reset_and_get_data_as_buffer. Replace it with the real function name, that is smaller and matches gst_byte_writer_free_and_get_buffer https://bugzilla.gnome.org/show_bug.cgi?id=608726 2010-01-31 17:30:54 +0000 Tim-Philipp Müller * gst/gstbufferlist.c: * gst/gstbufferlist.h: docs: add some more Since: markers to buffer list docs 2010-01-30 18:57:44 +0000 Tim-Philipp Müller * plugins/elements/gstfilesrc.c: filesrc: fix typo in warning message Spotted by bsreerenj@gmail.com. Fixes #608442. 2010-01-30 15:17:48 +0000 Tim-Philipp Müller * common: Automatic update of common submodule From 15d47a6 to 96dc793 2010-01-30 13:45:58 +0000 Tim-Philipp Müller * gst/gst.c: init: don't spew warning about late g_thread_init()s if GLib >= 2.23.2 Late g_thread_init() is fine with newer GLib versions and done automatically from g_type_init() there, so don't warn if the application hasn't called g_thread_init() yet when gst_init() is called with new GLib versions. Fixes #608398. 2010-01-29 09:41:30 +0000 Tim-Philipp Müller * pkgconfig/gstreamer-uninstalled.pc.in: * pkgconfig/gstreamer.pc.in: pkgconfig: don't put -DG_THREADS_MANDATORY into our pkg-config CFLAGS If we force -DG_THREADS_MANDATORY onto apps, then g_thread_supported() will always evaluate to TRUE, so the typical thread initialisation boilerplate code if (!g_thread_supported()) g_thread_init(NULL); will no longer work, and the threading system not be initialised and us printing a warning in gst_init. This may be fine in most cases, since late initialisation is allowed and automatically done in g_type_init() since GLib 2.23.2, but let's be cautious and only use this define when compiling GStreamer itself. See #608398. 2010-01-28 15:55:27 +0100 Wim Taymans * gst/gstpipeline.c: pipeline: Take start_time after chaining up too Refactor the code to take the current start_time when going to PAUSED. Make sure we also call the start_time update code after we chained up to the parent bin. Fixes #607842 2010-01-28 00:07:14 +0000 Tim-Philipp Müller * plugins/elements/gstdataurisrc.c: dataurisrc: add start function so we can error out properly if no uri is set Also save a set URI after it has been parsed successfully, so that _get_uri() actually works. 2010-01-27 23:46:32 +0000 Tim-Philipp Müller * plugins/elements/gstdataurisrc.c: dataurisrc: don't post error message when setting the URI failed There's a gboolean return for that, and the messages don't really add anything useful. 2010-01-27 23:39:14 +0000 Tim-Philipp Müller * plugins/elements/gstdataurisrc.c: dataurisrc: must release the object lock before using GST_ELEMENT_ERROR 2010-01-26 18:59:50 +0000 Tim-Philipp Müller * configure.ac: 0.10.25.2 pre-release 2010-01-27 00:23:07 +0000 Tim-Philipp Müller * tests/check/gst/gstghostpad.c: checks: fix spurious ghost pad check failure 2010-01-26 19:35:52 +0000 Tim-Philipp Müller * win32/common/config.h: * win32/common/gstenumtypes.c: * win32/common/gstversion.h: win32: update windows headers to latest version 2010-01-26 19:32:48 +0000 Tim-Philipp Müller * docs/random/release: docs: minor update to release notes 2010-01-26 18:45:38 +0000 Tim-Philipp Müller * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: po: update translation files 2010-01-26 18:39:45 +0000 Tim-Philipp Müller * tests/examples/streams/rtpool-test.c: tests: fix warning in rtpool-test The stream status message object may be of a non-GObject type, e.g. G_TYPE_POINTER (see GstAudioSrc), so print that properly instead of assuming the value holds an object. 2010-01-26 12:43:09 +0100 Wim Taymans * plugins/elements/gstmultiqueue.c: * tests/check/elements/multiqueue.c: multiqueue: handle UNEXPECTED flowreturn better When we receive an UNEXPECTED flowreturn from downstream, we must not shutdown the pushing thread because upstream will at some point push an EOS that we still need to push further downstream. To achieve this, convert the UNEXPECTED return value to OK. Add a fixme so that we implement the right logic to propagate the flowreturn upstream at some point. Also clean up the unit test a little. Fixes #608136 2010-01-26 08:52:16 -0300 Thiago Santos * docs/manual/basics-bus.xml: docs: Fix basics-bus docs Fix wrong information about bus watch functions in the application development manual. Fixes #608127 2010-01-25 12:12:32 +0100 Sebastian Dröge * plugins/elements/gstdataurisrc.c: dataurisrc: Remove role attribute from links 2010-01-25 11:56:33 +0100 Sebastian Dröge * plugins/elements/gstdataurisrc.c: dataurisrc: Add docs and integrate into build system Fixes again bug #596885. 2010-01-25 11:12:47 +0100 Sebastian Dröge * plugins/elements/gstdataurisrc.c: * plugins/elements/gstdataurisrc.h: dataurisrc: Add data: URI source element This is slightly based on the WebKit data: URI source but supports more parts of RFC 2397. Fixes bug #596885. 2010-01-24 23:12:22 +0200 Stefan Kost * win32/common/libgstreamer.def: bin: also remove private function from def file 2010-01-24 23:04:27 +0200 Stefan Kost * gst/gstbin.c: bin: make a interface vmethod implementation static This should not cause any troubles - the methods wasn't in any header. 2010-01-24 22:22:07 +0200 Stefan Kost * gst/gstchildproxy.c: childproxy: remove ; after } 2010-01-22 18:00:53 +0100 Wim Taymans * plugins/elements/gstqueue2.c: queue2: add some docs to mark new property 2010-01-22 17:55:39 +0100 Wim Taymans * plugins/elements/gstqueue2.c: * plugins/elements/gstqueue2.h: queue2: add option to remove the temp-file Add an option to automatically remove the temp file (TRUE by default). This should make it possible for the application to keep the temp file by other means than hardlinking or holding an fd open. Fixes #607739 2010-01-22 02:02:01 +0000 Tim-Philipp Müller * plugins/elements/gsttypefindelement.c: typefind: don't leak uri string 2010-01-21 16:19:44 +0100 Wim Taymans * gst/gstindex.h: gstindex: retab .h file 2010-01-20 14:13:11 +0100 Benjamin Otte * tools/gst-inspect.c: * tools/gst-launch.c: * tools/gst-typefind.c: * tools/gst-xmlinspect.c: tools: Run g_thread_init() unconditionally Since we define G_THREADS_MANDATORY, g_thread_supported() evaluates to TRUE unconditionally, so calling g_thread_init() never happened. 2010-01-20 10:58:29 +0000 Tim-Philipp Müller * gst/gstpluginloader.c: pluginloader: fix compiler warning on win32 Move variable that's only used on unix into the unix block so that the compiler doesn't complain about the unused variable on win32 (see #597662). 2010-01-20 09:45:06 +0000 Tim-Philipp Müller * gst/gstpluginloader.c: pluginloader: try scanner set via env var before using the installed one If the GST_PLUGIN_SCANNER environment variable is set, we should try the scanner specified there first, to make sure the right scanner binary is used for uninstalled setups and builds from source when there's already an installed version. 2010-01-20 06:58:28 +0100 Sebastian Dröge * configure.ac: * gst/gst.c: * pkgconfig/gstreamer-uninstalled.pc.in: * pkgconfig/gstreamer.pc.in: build: Define G_THREADS_MANDATORY everywhere We require threads to be supported in any case and defining this will simplify the mutex, condition variable, etc. macros from gthread to not always check if threads are really supported. Fixes bug #607481. 2010-01-08 20:56:18 +0100 Andoni Morales Alastruey * gst/gstpluginloader.c: * gst/gstregistry.c: pluginloader: disable external plugin loader on Windows until it is ported properly See #597662. 2010-01-20 01:09:55 +0000 Tim-Philipp Müller * gst/gst_private.h: * gst/gstplugin.c: * gst/gstpluginloader.c: * gst/parse/grammar.y: * gst/parse/parse.l: * libs/gst/base/gstbasesink.c: * libs/gst/helpers/gst-plugin-scanner.c: * plugins/elements/gsttypefindelement.c: gst_private.h: make sure gst_private.h is included before glib.h For the reason outlined at the beginning of gst_private.h (inline functions in glib may need the g_log_domain variable). Also include gst_private.h before using any G_OS_* defines, esp. in plugin loader. 2010-01-20 01:33:38 +0000 Tim-Philipp Müller * docs/plugins/gstreamer-plugins-sections.txt: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstqueue2.c: docs: minor gtk-doc markup fixes 2010-01-20 00:53:01 +0000 Tim-Philipp Müller * common: Automatic update of common submodule From 14cec89 to 15d47a6 2010-01-19 16:39:38 +0100 Wim Taymans * docs/design/part-qos.txt: * docs/design/part-seeking.txt: docs: small docs updates 2010-01-19 14:07:23 +0100 Thijs Vermeir * gst/gstpad.c: gstpad: directly set the caps when pushing buffer with different caps. This check is not necesarry as we are not negotiating anymore. And it can be wrong if upstream can't produce this caps anymore, but downstream can process them fine. 2010-01-18 13:57:29 +0100 Sebastian Dröge * gst/gstminiobject.c: miniobject: The GValue collection function can not assume that the destination is initialized ...and it will usually be either filled by zeroes or random values. Fixes bug #607283. 2010-01-16 21:52:06 +0100 Sebastian Dröge * libs/gst/base/gstbasetransform.c: basetransform: Only use suggested caps in buffer allocation if a size was suggested too 2010-01-16 19:41:29 +0000 Tim-Philipp Müller * gst/gststructure.c: structure: remove superfluous guard against NULL All callers of this static function already check for NULL-ness themselves, so no need to do it again (and if we do it, we should probably do so before dereferencing the pointer for the first time). 2009-12-17 19:45:31 +0000 Tim-Philipp Müller * gst/gst_private.h: * gst/gststructure.c: structure: micro-optimise some getters Avoid checking the GType of the value twice (once on our side and once in g_value_get_*()) by by-passing g_value_get() and accessing the GValue structure directly. 2010-01-15 18:36:07 +0100 Wim Taymans * gst/gstmessage.h: message: update docs a little 2010-01-15 00:46:23 +0000 Tim-Philipp Müller * docs/random/release: docs: minor release docs update 2010-01-14 20:19:05 +0100 Sebastian Dröge * libs/gst/base/gstbasetransform.c: basetransform: Handle buffers with NULL caps correctly This means that the caps didn't change so don't try to handle the NULL caps as the new caps. 2010-01-14 10:44:16 +0100 Sebastian Dröge * gst/gstbuffer.h: * gst/gsturi.h: docs: Move field specific Since markers at the same line Fixes gobject-introspection warnings about Since being defined multiple times. 2010-01-13 10:17:03 +0000 Tim-Philipp Müller * docs/faq/faq.xml: faq: remove revision history that no one updates or cares about anyway 2010-01-13 09:32:59 +0000 Tim-Philipp Müller * docs/faq/developing.xml: * docs/faq/git.xml: faq: fix link to gst-uninstalled on cgit Fix link to gst-uninstalled now that it's been moved, and fix a typo while we're at it. Also add a new section to 'Building GStreamer from git' that points to the 'How do I develop against an uninstalled copy of GStreamer' section. 2010-01-13 10:32:46 +0200 Stefan Kost * README: docs: we're in git since a while 2010-01-13 10:31:26 +0200 Stefan Kost * Makefile.am: * README: * docs/faq/Makefile.am: * docs/faq/developing.xml: * docs/faq/faq.xml: * scripts/gst-uninstalled: scripts: move gst-uninstalled from docs/faq to scripts Don't include the long gst-uninstalled script in verbatim in the faq anymore (there is a link to cgit). Dist the script under its new location. 2010-01-12 21:34:03 +0000 Tim-Philipp Müller * gst/gstregistrychunks.c: registry: avoid some more unnecessary malloc/frees 2010-01-12 20:21:32 +0000 Tim-Philipp Müller * gst/gstregistrychunks.c: registry: avoid some unnecessary strdup/free when reading the binary registry Strings in the binary registry are NUL-terminated, so we can just use them directly if we only need them temporarily, and avoid unnecessary mallocs and frees. 2010-01-12 17:38:32 +0100 Wim Taymans * plugins/elements/gsttypefindelement.c: typefindelement: use new typefind function Refactor a little. Use the new typefind helper function that uses the extension to speed up typefinding. 2010-01-12 17:34:39 +0100 Wim Taymans * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gsttypefindhelper.c: * libs/gst/base/gsttypefindhelper.h: * win32/common/libgstbase.def: typefind: add a new method that also uses the file extension Add a method to perform get_range typefinding that also uses the uri/location extension as an extra hint. It will first try to call the typefind functions of the factories that handle the given extension. The result is that in the common case, we only call one typefind function, which speeds up the typefinding a lot. 2010-01-11 14:58:11 +0100 Wim Taymans * docs/design/part-qos.txt: docs: update QoS documeent Add some ideas about a new QoS message. See also #322947 2010-01-11 11:38:32 +0100 Håvard Graff * plugins/elements/gsttee.c: tee: make release_pad threadsafe Protect the ->removed field with the object lock as well. Take the DYN lock earlier so that we can mark the pad removed and avoid a race in pad_alloc. Fixes #606435 2009-12-11 17:46:42 +0100 Wim Taymans * gst/gstbus.c: * gst/gstbus.h: bus: whitespace fixes 2010-01-10 21:49:25 +0200 Stefan Kost * gst/gstutils.c: utils: defer getting the classes until we actualy need them This function has a lot of early returns. Give them soem more benefit. 2010-01-10 21:40:24 +0200 Stefan Kost * gst/gstutils.c: utils: avoid extra hop in gst_element_link No need to call gst_element_link_pads_filtered with filter=NULL, which would call gst_element_link_pads() in that way. Call it directly to save a call and expensive gobject type checks. 2010-01-10 17:39:55 +0000 Tim-Philipp Müller * libs/gst/check/gstcheck.h: check: remove some cruft from header file Remove some cruft from the gstcheck header file that's not needed any longer now that we ship with our own copy of libcheck. 2010-01-07 17:41:26 +0200 Stefan Kost * docs/pwg/advanced-midi.xml: * docs/pwg/pwg.xml: pwg: remove empty midi section 2010-01-07 13:48:24 +0000 Christian Schaller Merge branch 'master' of ssh://git.freedesktop.org/git/gstreamer/gstreamer 2010-01-07 13:47:50 +0000 Christian Schaller * gstreamer.spec.in: Update spec file 2010-01-06 20:08:48 +0000 Tim-Philipp Müller * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: po: update for new translated strings 2010-01-06 20:06:47 +0000 Tim-Philipp Müller * gst/gsttaglist.h: docs: minor documentation fixes for recently-added tags Mention the type of the tag in the gtk-doc blurb, so people know which accessor API to use, and fix up the doc blurbs to match the actual tag define. 2010-01-06 20:04:15 +0000 Tim-Philipp Müller * gst/gsttaglist.c: tags: fix up translated strings for some new tags Fix up translated strings for some recently-added tags to match the existing strings: we want short mnemonic-like strings here that start with a lower case letter. 2010-01-06 19:19:40 +0000 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gstregistry.h: * gst/gstregistrybinary.c: registry: deprecate useless gst_registry_xml_{read|write}_cache() The only reason these two functions are still around is that at some point in the past they were in a public header, so we can't really remove them now even though they should have been private all along (and aren't really particularly useful). Since these are just empty stubs now that do nothing but return FALSE and will be removed in 0.11 anyway, we may just as well deprecate them formally. 2010-01-06 19:18:53 +0000 Tim-Philipp Müller * gst/gsttaskpool.c: * gst/gsttaskpool.h: docs: add Since markers to task pool docs and document task function 2010-01-06 18:50:43 +0000 Tim-Philipp Müller * configure.ac: configure: move SHAVE_INIT behind all checks Move SHAVE_INIT behind all other checks, in particular AG_GST_CHECK_CHECKS. This should fix problems with header checking and checking for localtime_r, which causes compilation errors with clean checkouts where common/shave has not been created yet when those checks are run. It seems like SHAVE_INIT changes the environment so that checks depending on a compiler need shave to exist at that point, which will fail if AC_OUTPUT hasn't created it yet. Fixes #605930. 2010-01-05 01:35:41 +0000 Tim-Philipp Müller * libs/gst/check/libcheck/check.c: check: patch internal check copy some more so that failures actually fail Include unistd.h so that _POSIX_VERSION is actually defined when it should be defined. Without that, stuff like fail_if(1) doesn't actually fail, presumably because other parts of the code do include unistd.h and then have _POSIX_VERSION defined. Fixes #604565 even more. 2010-01-05 00:09:10 +0200 Stefan Kost * gst/gstevent.h: docs: add missing returns: tag 2009-12-30 22:56:57 +0100 Mark Nauwelaerts * plugins/elements/gstmultiqueue.c: multiqueue: set iterate_interal_links function on source pad 2009-12-27 19:33:25 +0100 Wim Taymans * gst/gstbuffer.c: buffer: remove unneeded casts 2009-12-02 19:47:46 +0100 Wim Taymans * gst/gstbuffer.c: * gst/gstbuffer.h: buffer: remove subbuffer subclass Move the parent buffer pointer into the GstBuffer struct so that we can remove the subbuffer class and type. This is interesting because it allows us to more naturally implement methods to get the real type and parent of a subbuffer (See #545501). It should also be slightly faster because there is no extra object hierarchy to initialize and free. 2009-12-24 19:25:52 +0100 Wim Taymans * libs/gst/base/gstcollectpads.c: collectpads: don't keep buffers reffed longer than needed Make sure we take ownership of the buffer early without increasing its refcount when we go in the collect function. This reduces the amount of copies needed in order to make the buffer writable in most cases. 2009-12-24 17:22:46 +0100 Wim Taymans * gst/gstminiobject.c: miniobject: avoid unneeded casts 2009-12-24 16:53:15 +0100 Wim Taymans * libs/gst/base/gstcollectpads.c: collectpads: avoid doing subbuffers when we can In some cases we can avoid allocating a subbuffer and instead simply ref the buffer. Callers should perform _make_metadata_writable() in all cases now. 2009-12-24 15:25:14 +0100 Wim Taymans * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstcollectpads.c: * libs/gst/base/gstcollectpads.h: * win32/common/libgstbase.def: collectpads: add ability to install clipping functions Add a method to install a clipping function that is called when a buffer is received. Users of collectpads can then perform clipping on the incomming buffers. Also retab the header file a little. See #590265 2009-12-24 15:13:49 +0100 Wim Taymans * docs/design/draft-buffer2.txt: docs: add some more buffer2 ideas 2009-12-24 14:40:54 +0100 Wim Taymans * gst/gstbin.c: * gst/gstelement.c: * gst/gstobject.c: * gst/gstpad.c: avoid some more type checks 2009-12-24 14:22:52 +0100 Wim Taymans * gst/gstpipeline.c: pipeline: avoid some type checks Avoid type checks when we can Don't need to peek the parent_class, the boilerplate does that for us. 2009-12-23 21:39:20 +0100 Wim Taymans * tools/gst-launch.c: launch: also print leaked objects Make the -T option also print the leaked objects 2009-12-23 21:37:51 +0100 Wim Taymans * gst/gsttrace.c: trace: include type name in leaked objects When we are dealing with a GObject, print the type name along with the pointer for easier debugging. 2009-12-23 21:20:14 +0100 Wim Taymans * gst/gstpad.c: * tests/check/gst/gstpad.c: pad: Fix problem with destroy callback not being called When we unblock a pad with the same user_data, the destroy callback is not called. This leads to refcounting leaks that cannot be avoided. Instead always call the destroy notify whenever we install a new pad block. In particular, this fixes a nasty pad leak in decodebin2. Also update the unit test to have more accurate comments and test the required behaviour. 2009-12-22 22:52:02 +0100 Wim Taymans * plugins/elements/gsttee.c: tee: small cleanups, use some G_LIKELY 2009-12-22 15:29:26 -0500 Olivier Crête * plugins/elements/gsttee.c: tee: Don't crash if there is no source pad 2009-12-21 19:11:45 +0100 Mark Nauwelaerts * common: Automatic update of common submodule From 47cb23a to 14cec89 2009-12-21 11:58:12 -0300 Thiago Santos * docs/gst/gstreamer-sections.txt: * gst/gsttaglist.c: * gst/gsttaglist.h: gsttaglist: Adds new tags Adds the following new tags: GST_TAG_SHOW_NAME GST_TAG_SHOW_SORTNAME GST_TAG_SHOW_EPISODE_NUMBER GST_TAG_SHOW_SEASON_NUMBER GST_TAG_LYRICS GST_TAG_COMPOSER_SORTNAME GST_TAG_GROUPING Fixes #599759 2009-12-19 14:27:05 +0000 Tim-Philipp Müller * configure.ac: configure: always call our check checks for the SUBUNIT conditional The SUBUNIT conditional needs to be set even if check is disabled. Also remove a FIXME that is not needed any longer / after all. 2009-12-18 21:28:35 +0000 Руслан Ижбулатов * libs/gst/check/libcheck/check.c: * libs/gst/check/libcheck/check_error.c: * libs/gst/check/libcheck/check_list.c: * libs/gst/check/libcheck/check_log.c: * libs/gst/check/libcheck/check_msg.c: * libs/gst/check/libcheck/check_pack.c: * libs/gst/check/libcheck/check_print.c: * libs/gst/check/libcheck/check_run.c: * libs/gst/check/libcheck/check_str.c: check: patch internal check copy so it works with our build system Fixes #604565. 2009-12-18 21:26:01 +0000 Руслан Ижбулатов * check-checks.m4: * configure.ac: * docs/libs/gstreamer-libs-sections.txt: * libs/gst/check/libcheck/Makefile.am: check: update autotools and docs stuff for new check version 2009-12-17 20:09:48 +0000 Tim-Philipp Müller * check-checks.m4: * libs/gst/check/libcheck/check.c: * libs/gst/check/libcheck/check.h.in: * libs/gst/check/libcheck/check_error.c: * libs/gst/check/libcheck/check_impl.h: * libs/gst/check/libcheck/check_list.c: * libs/gst/check/libcheck/check_log.c: * libs/gst/check/libcheck/check_log.h: * libs/gst/check/libcheck/check_msg.c: * libs/gst/check/libcheck/check_pack.c: * libs/gst/check/libcheck/check_print.c: * libs/gst/check/libcheck/check_run.c: * libs/gst/check/libcheck/check_str.c: * libs/gst/check/libcheck/check_str.h: check: update internal libcheck to 0.9.8 2009-12-15 18:55:38 +0100 Mark Nauwelaerts * plugins/elements/gstfilesrc.c: filesrc: printf format fixes 2009-12-14 16:22:16 +0200 Stefan Kost * gst/gstbus.c: * gst/gsttask.c: docs: link bus and tasks Add a link from bus section docs to the task docs. Add a paragraph to task docs to tell about messages and the bus. 2009-12-14 15:11:42 +0200 Stefan Kost * gst/gstelement.c: * gst/gstelement.h: docs: add more docs around GstState and GstStateChange Take reviewed docs from docs/design/part-state to have that more prominent inside the api docs. Add a few sentences to link things better together. 2009-12-14 15:11:14 +0200 Stefan Kost * docs/design/part-states.txt: docs: review and fix spelling 2009-12-14 11:05:41 +0200 Stefan Kost * gst/gstelementfactory.c: gstelementfactory: set object name earlier if applicable Setting an object name is nice for proper debug logging. Ideally this would still happens earlier (.e.g when pads are added to an element, its not yet set). 2009-12-14 11:07:25 +0200 Stefan Kost * gst/gstobject.c: gstobject: add fixme-0.11 comment 2009-12-08 11:30:39 +0200 Stefan Kost * gst/gstobject.c: comment: small comment correction 2009-12-11 16:26:00 +0100 Wim Taymans * gst/gstbin.c: bin: never skip a state change to PLAYING Never skip the state change to playing, even if the element is already in the right state. We need this because we also distribute the base_time while doing the state change and skipping this step would leave some elements without a new base_time. Fixes #600313 2009-12-11 16:19:18 +0100 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: add some more debugging 2009-12-08 17:21:47 +0100 Havard Graff * plugins/elements/gsttee.c: tee: release pads in dispose Make sure to release all request-pads in the dispose-method, in case of a shutdown-race, where a pad-alloc is about to happen. Fixes #604091 2009-12-09 13:27:22 +0100 Wim Taymans * gst/gstelement.c: element: use NULL instead of 0 for pointers 2009-12-09 07:25:31 +0100 Sebastian Dröge * tools/gst-typefind.c: * tools/gst-xmlinspect.c: tools: Move gst_tools_print_version() for the remaining tools 2009-12-03 12:31:19 +0100 Ole André Vadla Ravnås * tools/gst-inspect.c: * tools/gst-launch.c: tools: Move gst_tools_print_version call to avoid warning from new GLib. g_setprgname is implicitly called by g_option_context_new() with a check to see if it's been set already. Fixes bug #604093. 2009-12-08 16:40:57 +0100 Sebastian Dröge * gst/gstutils.c: utils: Fix proxy_setcaps to only iterate pads of other direction 2009-12-08 16:21:41 +0100 Wim Taymans * gst/gstutils.c: utils: fix proxy_getcaps Make it return the padtemplate caps on errors and no parent. Only intersect pads of the oposite direction of the source pad. 2009-12-08 16:14:28 +0100 Sebastian Dröge * gst/gstutils.c: utils: Rename proxy iterator fold functions to have a more meaningful name 2009-12-08 16:09:02 +0100 Sebastian Dröge * gst/gstutils.c: utils: If one intersection gave empty caps don't continue iterating over the other pads 2009-12-08 15:24:43 +0100 Sebastian Dröge * libs/gst/base/gstbasesink.c: basesink: Allow update NEWSEGMENT events after EOS This allows demuxers to update the segment stop of an already finished stream. This might be needed if some stream goes to EOS before the duration of the longest stream is known to properly set the segment stop of all streams to the same value in the end. 2009-12-07 20:52:22 +0100 Wim Taymans * gst/gstbufferlist.h: * gst/gstevent.h: * gst/gstmessage.h: * gst/gstquery.h: Use plain casting instead of typechecking 2009-12-07 09:45:00 +0100 Edward Hervey * gst/gstvalue.c: gstvalue: Use fast gst_value_list_{size|get_value} macro accessors gst_value_list_size and gst_value_list_get_value will do a series of extra checks due to being public methods. When we use them from within gstvalue.c we can directly use them without the extra checks. 2009-12-07 09:44:06 +0100 Edward Hervey * gst/gsturi.c: gsturi: Don't use g_signal_emit_by_name, use the signal ID directly 2009-11-18 09:01:35 +0100 Edward Hervey * plugins/elements/gsttee.c: * plugins/elements/gsttee.h: tee: avoid expensive typechecks, and avoid getting ref to parent. Speeds up tee processing 2 to 5 times. 2009-11-12 09:07:03 +0100 Edward Hervey * gst/gstobject.c: gstobject: Avoid double strdup when setting NULL names. Instead of chaining up to gst_object_set_name (which does typechecking and strdup's the name again), just use the already allocated new name. 2009-12-04 12:16:32 -0800 Peter van Hardenberg * docs/pwg/building-props.xml: pwg: make the enum example (based on videotestsrc) actually match videotestsrc 2009-12-04 16:28:27 +0100 Sebastian Dröge * gst/gstbin.c: bin: Ignore state change failures from children that were removed from the bin already Fixes bug #584441. 2009-12-04 15:00:44 +0100 Sebastian Dröge * gst/gstregistrybinary.c: registry: Use GMappedFile for reading the registry Fixes bug #603787. 2009-12-03 19:48:11 +0100 Javier Jardón * gst/gstregistrybinary.c: registry: Substitute deprecated GLib symbol: g_mapped_file_free Use g_mapped_file_unref if Glib >= 2.22 is available Fixes bug #560442. 2009-11-27 20:16:15 +0100 Jan Schmidt * libs/gst/base/gstbasesrc.c: basesrc: Shut down the pad task when the initial seek fails. Set the pad flushing and stop the pad task when the initial seek fails during activation. Avoids racy calls into the _create() function when BaseSrc::stop() has already run. Fixes: #603059 Also, fix some misspelled comments. 2009-12-03 20:55:37 +0000 Tim-Philipp Müller * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: po: update .po files after string changes (The queue2 strings could use some tidying up) 2009-12-03 20:53:25 +0000 Tim-Philipp Müller * plugins/elements/gstfilesink.c: * plugins/elements/gstfilesrc.c: filesink, filesrc: printf format fixes gstfilesink.c:399: error: format ‘%d’ expects type ‘int’, but argument 8 has type ‘size_t’ gstfilesink.c:399: error: format ‘%d’ expects type ‘int’, but argument 9 has type ‘gsize’ gstfilesrc.c:588: error: format ‘%08llx’ expects type ‘long long unsigned int’, but argument 8 has type ‘off_t’ 2009-12-03 16:44:28 +0200 Stefan Kost * plugins/elements/gsttee.c: tee: add special case for only one pad conected It is not easy to setup a tee on the fly, thus apps need to add them always if they might need them. This changes the code so, that if only one src-pad is active, we push buffers directly. In the normal code path all buffers are pushed with an extra ref, that forces followup inplace elements to copy the data. 2009-12-03 16:11:59 +0200 Stefan Kost * plugins/elements/gsttee.c: tee: only message once per received buffer Avoids checking for each source pad. The messages would be almost identical anyway. 2009-12-03 15:27:21 +0200 Stefan Kost * docs/random/ensonic/draft-registry-change-hooks.txt: drafts: planning 2009-12-03 16:05:03 +0200 Stefan Kost * plugins/elements/gsttee.c: * plugins/elements/gsttee.h: tee: remove unused offset member 2009-12-03 16:02:35 +0200 Stefan Kost * plugins/elements/gsttee.c: tee: only notify alloc-pad property if changed. 2009-12-02 13:29:28 +0100 Wim Taymans * gst/gstevent.h: event: fix docs for _copy() 2009-12-01 22:37:51 -0800 David Schleef * tools/gst-launch.c: tools: Fix check for Windows 2009-12-01 18:09:04 -0800 David Schleef * gst/gsttrace.c: Make gcc inline assembly conditional on gcc 2009-12-01 19:29:25 +0100 Edward Hervey * plugins/elements/gstqueue.c: queue: Register debug funcptr only once. Makes creating queue elements 3-4 times faster and avoids contention on the global funcptr lock. 2009-12-01 19:27:47 +0100 Edward Hervey * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: basesrc/basesink: Register debug funcptr only once. Makes basesrc/basesink initialization 3-4 times faster and avoids contention on the global funcptr lock 2009-12-01 17:54:56 +0100 Edward Hervey * gst/gstghostpad.c: gstghostpad: Register debug funcptr only once. This makes ghostpad/proxypad creation 5 times faster and avoids contention over the global funcptr lock. I also moved the two class init down in the code to avoid having to forward declare all the various functions. 2009-12-01 17:54:14 +0100 Edward Hervey * gst/gstpad.c: gstpad: Only register debug funcptr once. This makes pad initialization 2 times faster and without any contention over the debug funcptr global lock. 2009-12-01 17:53:03 +0100 Edward Hervey * docs/gst/gstreamer-sections.txt: * gst/gstinfo.h: gstinfo: API: Add GST_DEBUG_REGISTER_FUNCPTR method. This is a variant of GST_DEBUG_FUNCPTR which does not return anything. 2009-12-01 15:05:34 +0000 Tim-Philipp Müller * common: Automatic update of common submodule From 87bf428 to 47cb23a 2009-12-01 14:08:29 +0100 Sebastian Dröge * configure.ac: configure: Use new AG_GST_PLATFORM macro 2009-12-01 14:10:59 +0100 Sebastian Dröge * common: Automatic update of common submodule From da4c75c to 87bf428 2009-11-28 22:29:29 +0100 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: clip stepping boundaries Rounding errors with the floating point rate could make it so that we don't end up exactly at the required stepping duration. Use the segment clipping boundaries, which are not subject to rate adjustements, instead to detect when we reached the stepping duration. Add some debug info related to going to the PAUSED state. 2009-11-28 17:02:17 +0100 Wim Taymans * docs/manual/basics-bus.xml: docs: fix another typo 2009-11-28 15:40:30 +0100 Wim Taymans * docs/manual/intro-basics.xml: docs: fix typo 2009-11-27 18:54:33 +0100 Edward Hervey * common: Automatic update of common submodule From 53a2485 to da4c75c 2009-11-27 13:42:36 -0300 Thiago Santos * gst/gstevent.c: gstevent: fix docs Fix flush stops docs, those are serialized, not out of bounds. Probably a copy and paste mistake. 2009-11-27 16:39:37 +0200 Stefan Kost * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: docs: fix broken xrefs 2009-11-27 16:39:37 +0200 Stefan Kost * libs/gst/base/gstbasesink.c: * libs/gst/base/gstcollectpads.c: * libs/gst/base/gstdataqueue.c: * libs/gst/dataprotocol/dataprotocol.c: * libs/gst/net/gstnetclientclock.c: docs: fix broken xrefs 2009-11-27 16:39:01 +0200 Stefan Kost * docs/libs/gstreamer-libs-docs.sgml: docs: add missing section to libs-docs 2009-11-27 14:18:02 +0200 Stefan Kost * gst/gstxml.c: docs: make links work (needs recent gtk-doc) 2009-11-27 14:17:35 +0200 Stefan Kost * gst/gstplugin.h: docs: add missing parameter docs 2009-11-27 14:16:54 +0200 Stefan Kost * docs/gst/gstreamer-sections.txt: * gst/gstobject.h: docs: enable docs for GstObjectClass to fix links 2009-11-27 14:15:08 +0200 Stefan Kost * gst/gstobject.h: gstobject: add FIXME-0.11 comments 2009-11-25 18:25:01 +0200 Stefan Kost * gst/gstxml.c: docs: better way to link class methods 2009-11-25 18:24:16 +0200 Stefan Kost * gst/gstquery.c: docs: use '*' instead of xxx to avoid creating a broekn xref 2009-11-25 17:37:33 +0200 Stefan Kost * gst/gstinfo.h: * gst/gstregistry.c: * gst/gstutils.c: * gst/gstvalue.c: docs: fix more bogus xrefs 2009-11-25 17:27:30 +0200 Stefan Kost * docs/gst/gstreamer-sections.txt: * gst/gstplugin.h: docs: add docs for GstPluginFlags This also makes links to them work. 2009-11-25 15:39:44 +0000 Tim-Philipp Müller * docs/manual/advanced-interfaces.xml: docs: improve GstMixer and GstTuner docs Mention that elements implementing GstMixer and GstTuner need to be in the right state before they can be used. Also mention GLib functions for converting filenames to and from URIs. Fixes #602877. 2009-11-25 16:44:05 +0200 Stefan Kost * gst/gstbuffer.h: * gst/gstbus.c: * gst/gstcaps.c: * gst/gstdebugutils.h: * gst/gstfilter.c: * gst/gstghostpad.c: * gst/gstinfo.c: * gst/gstmessage.h: * gst/gstminiobject.c: * gst/gstobject.h: * gst/gstpad.c: * gst/gstpadtemplate.c: * gst/gstpadtemplate.h: * gst/gstpipeline.c: * gst/gstplugin.h: * gst/gstquery.h: * gst/gstregistry.c: * gst/gststructure.c: * gst/gsttaglist.c: * gst/gsttypefindfactory.c: * gst/gsturi.h: * gst/gstutils.c: * gst/gstvalue.c: * gst/gstvalue.h: docs: fix xrefs in docs Fix typos in xrefs, links to non existing functions and rework plural forms. 2009-11-25 14:41:26 +0200 Stefan Kost * gst/gstmacros.h: docs: remove gtkdoc header as these things don't come up on our docs even 2009-11-25 14:23:53 +0200 Stefan Kost * gst/gstregistry.c: docs: add missing parameter doc string 2009-11-25 14:21:50 +0200 Stefan Kost * gst/gstevent.h: docs: document new event in enum 2009-11-25 14:18:14 +0200 Stefan Kost * gst/gstutils.c: docs: fix gtk-doc syntax for doc-blob start 2009-11-23 11:34:07 +0100 Wim Taymans * gst/gstquery.c: query: whitespace fixes 2009-11-23 11:33:48 +0100 Wim Taymans * docs/design/draft-buffer2.txt: docs: fix grammar 2009-11-21 16:37:34 +0100 Jan Schmidt * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasesrc.h: * win32/common/libgstbase.def: basesrc: Add gst_base_src_new_seamless_segment() Merge new function from resindvd into the primary GstBaseSrc for starting a new seamless segment. API: gst_base_src_new_seamless_segment() 2009-11-20 16:00:47 +0000 Tim-Philipp Müller * libs/gst/base/gstbytewriter.c: bytewriter: fix compiler warning Some gcc versions warn about bytewriter writing to memory accessed via a const guint8 pointer, despite our explicit cast to guint8 *. Work around that by using an intermediary variable. Fixes #598526. 2009-11-20 09:33:48 +0100 Sebastian Dröge * configure.ac: check: Only check for gmp/gsl if building of tests is not disabled 2009-11-19 19:00:05 +0100 Jan Schmidt * libs/gst/base/gstbasesink.c: basesink: Clamp the base time correctly in position reporting When clamping the base time, correctly use 'now', instead of '-now' - the intent is to prevent 'now-base' ever being negative, which would cause a position report outside the segment. Fixes: #602419 2009-11-09 10:52:42 -0800 David Schleef * gst/gstplugin.h: gstplugin: Add C++ escape for gst_plugin_desc define In order to properly export the gst_plugin_desc symbol from DLLs in MSVC, it needs to be extern "C". 2009-11-19 12:59:28 +0000 Tim-Philipp Müller * gst/parse/grammar.y: parse/grammar.y: remove unused ERROR define 2009-11-19 10:29:38 +0000 Tim-Philipp Müller * common: Automatic update of common submodule From 1861252 to 53a2485 2009-11-16 15:47:57 +0200 Priit Laes * libs/gst/check/Makefile.am: check: fix symbol exporting when building under et_EE locale [A-Z] regexp fails under et_EE locale because Z in Estonian alphabet is located after S and therefore characters starting with 'TUV...' are not in the range anymore. Fixes bug #602093. 2009-11-18 07:59:36 +0100 Sebastian Dröge * libs/gst/base/gstbasesink.c: basesink: Handle the new sink-message event 2009-11-18 07:52:24 +0100 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gstevent.c: * gst/gstevent.h: * gst/gstquark.c: * gst/gstquark.h: * gst/gstutils.h: * win32/common/libgstreamer.def: event: API: Add sink-message event gst_event_new_sink_message() gst_event_parse_sink_message() This event is used for sending a GstMessage downstream and synchronized with the stream, to be posted by the sink once it reaches the sink. Fixes bug #602275. 2009-11-16 00:12:22 +0000 Tim-Philipp Müller * configure.ac: * docs/faq/gst-uninstalled: * docs/gst/Makefile.am: * docs/libs/Makefile.am: * docs/plugins/Makefile.am: * gst/gstpluginloader.c: * libs/gst/helpers/.gitignore: * libs/gst/helpers/Makefile.am: * libs/gst/helpers/gst-plugin-scanner.c: * tests/check/Makefile.am: * tests/examples/manual/Makefile.am: plugin-scanner: rename plugin-scanner helper binary to gst-plugin-scanner and install into a different directory $(libexecdir/gstreamer-0.10) so that everything is versioned properly. NOTE: run 'make clean' after updating; if you are running an uninstalled setup, you will need to update your gst-uninstalled script (unless it's symlinked to gstreamer core master) and exit/enter your uninstalled environment to get the updated environment. If you are running an installed setup, you should run 'make uninstall' before merging this change or remove the old plugin-scanner binary manually. Fixes #601698. 2009-11-18 09:10:37 +0000 Tim-Philipp Müller * gst/gststructure.c: Revert "structure: don't check type twice" This reverts commit f864187bf5fdfaf71f2e038949e403a42e6daf0e. Reverting this as it changes behaviour and the documentation is ambiguous about whether the caller must check the type first or not (call must check type vs. returns NULL if not a string). If GLib has been compiled with G_DISABLE_CHECKS then g_value_get_string() may return complete garbage even if the value does not contain a string. Better play it safe, esp. since the extra check is just an integer comparison. For fundamental types we could return values from the GValue structure directly if we really wanted to bypass the extra check. 2009-11-17 17:06:08 +0200 Stefan Kost * gst/gststructure.c: structure: don't check type twice 2009-11-17 18:35:55 +0100 Sebastian Dröge * gst/gstevent.c: event: Add step event quark 2009-11-17 10:02:36 +0000 Tim-Philipp Müller * docs/faq/gst-uninstalled: gst-uninstalled: add paths for gst-qa-system 2009-11-17 09:06:48 +0000 Tim-Philipp Müller * common: * docs/gst/Makefile.am: * docs/libs/Makefile.am: docs: set GST_PLUGIN_SCANNER when calling gtkdoc-scangobj Otherwise the docs build won't work properly 2009-11-16 13:58:10 +0200 Stefan Kost * gst/gststructure.c: structure: remove some blank lines (previous gst-indent failure) 2009-11-16 13:53:44 +0200 Stefan Kost * gst/gststructure.c: structure: use local variable earlier 2009-11-16 13:49:32 +0200 Stefan Kost * gst/gststructure.c: structure: don't check enum types twice. G_VALUE_HOLDS_ENUM(value) is defined as G_TYPE_CHECK_VALUE_TYPE (value, G_TYPE_ENUM). Just check for the right enum-type right away. 2009-11-14 22:35:07 +0000 Jan Schmidt * tests/check/gst/gstsystemclock.c: check: Add a debug status to the systemclock test Next time it fails on a buildbot we can see which clock id return it is getting. 2009-11-16 18:25:45 +0100 Wim Taymans * docs/design/part-TODO.txt: TODO: remove stepping from TODO Remove the frame stepping API from the TODO list. 2009-11-16 14:02:07 +0100 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: fix position reporting Only update the current stream time after we checked if we got a new step event. This improves the position reporting by the sink. See #595958 2009-11-16 09:49:46 +0100 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gstutils.c: * gst/gstutils.h: * gst/gstvalue.c: * win32/common/libgstreamer.def: utils: API: Add multiplication and addition functions for fractions gst_util_fraction_add() gst_util_fraction_multiply() These work on plain integers instead of GValues to keep the overhead as low as possible. 2009-11-16 09:29:10 +0100 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gstutils.c: * gst/gstutils.h: * gst/gstvalue.c: * win32/common/libgstreamer.def: gstutils: API: Add fraction helper functions gst_util_greatest_common_divisor() gst_util_double_to_fraction() gst_util_fraction_to_double() Using these instead of going over GValue has much lower overhead. Also add float<->fraction transform functions for GValue. 2009-11-13 15:45:52 +0200 Stefan Kost * gst/gststructure.c: debug: add more debug logging to help tracking parsing errors 2009-11-13 11:42:02 +0100 Ole André Vadla Ravnås * gst/gstminiobject.c: * tests/check/gst/gstminiobject.c: miniobject: avoid race when recycling buffers Avoid a race where a miniobject is recycled and quickly freed, which causes the g_type_free_instance() to be called on the same object twice. Ref the object before calling the finalize method and check if we still need to free it afterward. Also add a unit test for this case. Fixes #601587 2009-11-12 17:02:40 +0200 Stefan Kost * gst/gstutils.c: whitespace: remove blanks in doc-comment 2009-11-06 15:42:57 +0300 Руслан Ижбулатов * gst/gstregistry.c: registry: Import _priv_gst_dll_handle into gstregistry.c Fixes bug #601668. 2009-11-12 14:10:06 +0300 Руслан Ижбулатов * tests/examples/manual/Makefile.am: tests: Do not list libgstcheck as a requirement for tests/examples/manual Fixes bug #601669. 2009-11-11 17:12:19 +0000 Jan Schmidt * libs/gst/base/gstbasesink.c: basesink: Fix treating base_time as unsigned in position calculation Element base_time is a signed quantity, which leads to basesink returning a position of 0 when dealing with a negative base time - which are quite legal when clocks (such as the audio clock) are close to 0. This doesn't manifest in normal pipelines, of course - but can happen (at least) when manually setting the base time on a pipeline. 2009-11-10 18:03:43 +0100 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gstregistry.c: * gst/gstregistry.h: * win32/common/libgstreamer.def: registry: API: Add gst_{default,}_registry_get_feature_list_cookie() This returns the internal feature list cookie, which changes every time a feature is added or removed. This can be used by elements to check if they should update their cached feature lists. 2009-11-10 11:55:34 -0300 Thiago Santos * plugins/elements/gstqueue2.c: queue2: fix printf format Cast the variable to gint to conform to the printf format used. It is casted rather than changing the format because the message is created with a cast to gint too. 2009-11-10 10:10:56 -0300 Thiago Santos * plugins/elements/gstqueue2.c: queue2: avoid crashing due to negative percent queue2 would crash when using small buffer sizes because it would overflow when calculating the percentage, resulting in the buffering GstMessage not being created and trying to be used. This patch uses a gint64 instead of a gint to do the percentage math, making it harder to overflow. 2009-11-10 09:52:30 -0300 Thiago Santos * plugins/elements/gstqueue2.c: queue2: Fix small doc typo 2009-11-10 00:57:00 +0000 Tim-Philipp Müller * gst/gstregistrychunks.c: registrychunks: fix compilation with debugging disabled Add ugly ifdef to fix unused variable warning when compiling with debug logging disabled. 2009-11-09 16:20:52 +0200 Stefan Kost * docs/random/ensonic/draft-bufferpools.txt: * docs/random/ensonic/draft-registry-change-hooks.txt: planning: add thoughts about foreign registry cache updates 2009-11-09 14:55:54 +0200 Stefan Kost * tools/gst-inspect.c: inspect: allow to get plugin-install-info for all installed plugins If no plugin is given, print the info for all plugins. This can be used as a starting point to generate a profile about what the gstreamer installation can potentialy handle (e.g. for MTP or DLNA). 2009-11-09 12:42:35 +0100 Wim Taymans * docs/manual/highlevel-components.xml: docs: don't forget to unref the pad 2009-11-07 20:22:49 +0000 Tim-Philipp Müller * tools/gst-launch.c: gst-launch: wake up less often to check if we've been interrupted Check if we've been interrupted only four times per second instead of twenty times per second, to wake up the cpu less often and save power (see bug #600922). 2009-11-05 21:18:26 +0000 Tim-Philipp Müller * gst/gstconfig.h.in: gstconfig.h: add define to force printf format checking for debug messages Force printf format checking for debug messages if GST_DISABLE_PRINTF_EXTENSION is defined. This is useful to quickly check code for printf format mismatches in debugging messages that would usually not be caught (with glibc+gcc and printf extensions being used). To use: make clean; make CFLAGS='-g -O2 -DGST_DISABLE_PRINTF_EXTENSION' 2009-11-05 21:09:28 +0100 Edward Hervey * tests/check/Makefile.am: * tests/examples/manual/Makefile.am: tests: Make sure we use the local libgstbase and not a stray outside one. Theoretically we should also do this for all local libraries to make sure we don't test with a 'stray' outside library. 2009-11-05 18:36:38 +0000 Tim-Philipp Müller * gst/gstvalue.h: docs: fix typo 2009-11-05 15:59:31 +0000 Tim-Philipp Müller * gst/gsttaglist.c: taglist: avoid looking up GstTagInfo twice in a row Pass the info structure to our internal function if already available. Also clean up warnings for unknown tags. 2009-11-05 18:55:30 +0100 Edward Hervey * gst/gstregistrychunks.c: gstregistrychunks: We're certain plugin_name is an intern string. The only place this method is called from creates the plugin_name argument with g_intern_string(). Shaves off 1% from registry loading. 2009-11-04 19:33:58 +0000 Bastien Nocera * plugins/elements/gstqueue2.c: implement buffering-left argument to buffer messages Using the current fill level of the queue, and the average input rate, we can determine how long it will take to finish downloading the whole stream to the temporary file. Fixes #600726 2009-11-05 15:13:04 +0100 Wim Taymans * gst/gstquery.h: query: whitespace fixes 2009-11-05 14:02:28 +0100 Wim Taymans * gst/gstghostpad.c: ghostpad: fix locking 2009-11-05 14:29:50 +0200 Stefan Kost * gst/gstghostpad.c: ghostpad: don't release mutex twice 2009-11-05 14:29:12 +0200 Stefan Kost * gst/gstghostpad.c: ghostpad: skip type check in internal api 2009-11-05 12:36:10 +0100 Wim Taymans * gst/gstpad.h: pad: indentation fix 2009-11-05 12:54:32 +0200 Stefan Kost * docs/gst/gstreamer-sections.txt: * gst/gstghostpad.c: * gst/gstpad.c: * gst/gstpad.h: * gst/gstutils.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: * win32/common/libgstreamer.def: pad: rename new api from _refed to _reffed. Due to popular demand rename the new api as we still can. API: gst_pad_get_caps_reffed(), gst_pad_peer_get_caps_reffed() 2009-11-04 22:42:52 +0200 Stefan Kost * gst/gstelement.c: element: access padtemplate list directly to avoid call and type check. 2009-11-04 18:58:26 +0100 Sebastian Dröge * gst/gstevent.c: event: Add a FIXME 0.11 for having flush events that don't reset running time 2009-11-04 17:52:21 +0000 Jan Schmidt * gst/gstregistrychunks.c: registrychunks: Fix a printf compile warning on 64-bit platforms 2009-11-04 17:15:59 +0100 Sebastian Dröge * gst/gstghostpad.c: ghostpad: Make sure that nobody sets the proxypad or ghostpad itself as target Doing this will lead to very interesting crashes, like stack overflows. 2009-11-04 11:35:46 +0000 Jan Schmidt * gst/gstpluginloader.c: * gst/gstregistrychunks.c: plugin loader: Don't fail after a short read/write The logic to handle short reads/writes was incorrect, causing the packet handler to attempt to handle incomplete packets. Grow the packet transmit buffer in proportion to observed usage, causing fewer reallocs. Add some more debug in the registry chunks code. 2009-11-04 01:51:38 +0000 Jan Schmidt * gst/gstpluginloader.c: plugin loader: Don't crash on bogus plugin details When invalid registry chunks are received from the child, and parsing fails, don't access an invalid plugin pointer. Instead attempt to figure out which plugin caused the problem and blacklist it. 2009-11-04 01:54:36 +0000 Jan Schmidt * tools/gst-indent: gst-indent: Use the same logic to find gnuindent as the git hook 2009-11-03 17:30:14 +0200 Stefan Kost * plugins/elements/gstqueue2.h: build: include stdio.h for FILE 2009-11-03 01:18:42 +0000 Tim-Philipp Müller * tools/gst-launch.1.in: docs: add another example to the gst-launch man page Add an example that shows how to refer to specific pads by name when constructing a pipeline string. Fixes #600382. 2009-11-02 08:48:51 +0000 Tim-Philipp Müller * gst/gsttypefind.c: gsttypefind: avoid one more run-time type check 2009-11-02 09:22:37 +0100 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gststructure.c: * gst/gststructure.h: * win32/common/libgstreamer.def: structure: API: Add gst_structure_id_has_field{,_typed} 2009-11-02 08:28:20 +0100 Edward Hervey * gst/gsttypefind.c: gsttypefind: Use _CAST variants when the type has alredy been checked. This avoids checking the type n_typefinders * 4 times when loading the registry. 2009-11-01 11:24:40 +0100 Sebastian Dröge * gst/gstghostpad.c: ghostpad: Implement iterate internal links The internally linked pad of the ghost pad is its proxy pad, which is the pad that is linked to the ghost pads target. 2009-10-31 16:56:17 +0100 Sebastian Dröge * gst/parse/grammar.y: parser: Make sure that signal user data is freed by setting a GClosureNotify ...instead of using a second mechanism and storing the user data inside the GObjects qdata. 2009-10-31 16:49:03 +0100 Sebastian Dröge * gst/parse/grammar.y: parser: Use GSlice for allocating the structs 2009-10-31 16:43:26 +0100 Sebastian Dröge * gst/parse/grammar.y: parser: Always get DelayedLink information from the objects qdata This makes sure that it is always valid. 2009-10-31 09:48:19 +0100 Edward Hervey * po/POTFILES.in: po: queue2 has moved to core 2009-10-29 11:41:33 +0100 Sebastian Dröge * docs/plugins/Makefile.am: * docs/plugins/gstreamer-plugins-docs.sgml: * docs/plugins/gstreamer-plugins-sections.txt: * docs/plugins/gstreamer-plugins.args: * docs/plugins/gstreamer-plugins.hierarchy: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: queue2: Add to the docs 2009-10-29 11:38:21 +0100 Sebastian Dröge * plugins/elements/gstqueue2.c: queue2: Use "Queue 2" as long name 2009-10-29 11:35:08 +0100 Sebastian Dröge * plugins/elements/gstqueue2.c: queue2: Use GST_BOILERPLATE_FULL() and add pad templates/set details in base_init 2009-10-29 11:30:57 +0100 Sebastian Dröge * plugins/elements/gstqueue2.c: queue2: Use gst_element_class_set_details_simple() 2009-10-29 11:30:11 +0100 Sebastian Dröge * plugins/elements/Makefile.am: * plugins/elements/gstelements.c: * plugins/elements/gstqueue2.c: * plugins/elements/gstqueue2.h: queue2: Integrate into coreplugins 2009-10-29 11:21:36 +0100 Sebastian Dröge * plugins/elements/gstqueue2.c: * plugins/elements/gstqueue2.h: queue2: Move struct declarations to a separate header 2009-10-29 11:18:20 +0100 Sebastian Dröge * plugins/elements/gstqueue2.c: queue2: Move queue2 to gstreamer coreplugins Fixes bug #599996. 2009-10-28 00:59:35 +0000 Tim-Philipp Müller * gst/playback/gstqueue2.c: Remove GST_DEBUG_FUNCPTR where they're pointless There's not much point in using GST_DEBUG_FUNCPTR with GObject virtual functions such as get_property, set_propery, finalize and dispose, since they'll never be used by anyone anyway. Saves a few bytes and possibly a sixteenth of a polar bear. 2009-10-27 15:23:00 +0100 Wim Taymans * gst/playback/gstqueue2.c: queue2: add custom acceptcaps function 2009-08-06 12:18:36 +0200 Mark Nauwelaerts * gst/playback/gstqueue2.c: queue2: post error message when pausing task if so appropriate If a downstream element returns an error while upstream has already put all data into queue2 (including EOS), upstream will no longer chain into queue2, so it is up to queue2 to perform some EOS handling / message posting in such cases. See #589991. 2009-07-14 17:03:35 +0200 Wim Taymans * gst/playback/gstqueue2.c: queue2: fix leak and improve buffering Keep track of the max requested position and compare this to the write position in the temp file to get the current amount of buffered data. Fix memleak of all incomming buffers. Fixes #588551 2009-07-10 21:01:39 +0100 Wim Taymans * gst/playback/gstqueue2.c: queue2: flush differently, avoiding deadlocks Don't flush the file by closing and opening it but instead use g_freopen. This avoids a deadlock in shutdown because we emit the temp-location property change with the wrong lock held. 2009-07-10 19:49:46 +0100 Wim Taymans * gst/playback/gstqueue2.c: queue2: add temp-template property Add a new temp-template property so that queue2 can securely allocate a temporary filename. Deprecate the temp-location property for setting the location but still use it to notify the allocated temp file. 2009-03-20 14:17:19 +0100 LRN * gst/playback/gstqueue2.c: win32: fix seeking in large files Fix Seeking in large files by using the 64-bit seek functions. Fixes #576019 2008-08-07 15:58:58 +0000 Frederic Crozat Make sure gettext returns translations in UTF-8 encoding rather than in the current locale encoding (#546822). Original commit message from CVS: Patch by: Frederic Crozat * ext/alsa/gstalsaplugin.c: (plugin_init): * ext/cdparanoia/gstcdparanoiasrc.c: (plugin_init): * ext/gnomevfs/gstgnomevfs.c: (plugin_init): * ext/ogg/gstoggdemux.c: (gst_ogg_demux_plugin_init): * gst-libs/gst/audio/gstbaseaudiosrc.c: (_do_init): * gst-libs/gst/pbutils/pbutils.c: (gst_pb_utils_init): * gst-libs/gst/tag/tags.c: (gst_tag_register_tags_internal): * gst/playback/gstdecodebin.c: (plugin_init): * gst/playback/gstdecodebin2.c: (gst_decode_bin_plugin_init): * gst/playback/gstplayback.c: (plugin_init): * gst/playback/gstqueue2.c: (plugin_init): * gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_plugin_init): * sys/v4l/gstv4l.c: (plugin_init): Make sure gettext returns translations in UTF-8 encoding rather than in the current locale encoding (#546822). 2008-07-10 21:06:06 +0000 Stefan Kost Cleanup Plugin docs. Link to signals and properties. Fix sub-section titles. Drop mentining that all our example pipe... Original commit message from CVS: * docs/plugins/gst-plugins-base-plugins-docs.sgml: * docs/plugins/gst-plugins-base-plugins-overrides.txt: * docs/plugins/gst-plugins-base-plugins-sections.txt: * docs/plugins/gst-plugins-base-plugins.args: * docs/plugins/gst-plugins-base-plugins.hierarchy: * docs/plugins/gst-plugins-base-plugins.interfaces: * docs/plugins/gst-plugins-base-plugins.prerequisites: * docs/plugins/gst-plugins-base-plugins.signals: * docs/plugins/inspect/plugin-adder.xml: * docs/plugins/inspect/plugin-alsa.xml: * docs/plugins/inspect/plugin-audioconvert.xml: * docs/plugins/inspect/plugin-audiorate.xml: * docs/plugins/inspect/plugin-audioresample.xml: * docs/plugins/inspect/plugin-audiotestsrc.xml: * docs/plugins/inspect/plugin-cdparanoia.xml: * docs/plugins/inspect/plugin-decodebin.xml: * docs/plugins/inspect/plugin-ffmpegcolorspace.xml: * docs/plugins/inspect/plugin-gdp.xml: * docs/plugins/inspect/plugin-gnomevfs.xml: * docs/plugins/inspect/plugin-libvisual.xml: * docs/plugins/inspect/plugin-ogg.xml: * docs/plugins/inspect/plugin-pango.xml: * docs/plugins/inspect/plugin-playback.xml: * docs/plugins/inspect/plugin-queue2.xml: * docs/plugins/inspect/plugin-subparse.xml: * docs/plugins/inspect/plugin-tcp.xml: * docs/plugins/inspect/plugin-theora.xml: * docs/plugins/inspect/plugin-typefindfunctions.xml: * docs/plugins/inspect/plugin-uridecodebin.xml: * docs/plugins/inspect/plugin-video4linux.xml: * docs/plugins/inspect/plugin-videorate.xml: * docs/plugins/inspect/plugin-videoscale.xml: * docs/plugins/inspect/plugin-videotestsrc.xml: * docs/plugins/inspect/plugin-volume.xml: * docs/plugins/inspect/plugin-vorbis.xml: * docs/plugins/inspect/plugin-ximagesink.xml: * docs/plugins/inspect/plugin-xvimagesink.xml: * ext/alsa/gstalsamixer.c: * ext/alsa/gstalsasink.c: * ext/alsa/gstalsasrc.c: * ext/gio/gstgiosink.c: * ext/gio/gstgiosrc.c: * ext/gio/gstgiostreamsink.c: * ext/gio/gstgiostreamsrc.c: * ext/gnomevfs/gstgnomevfssink.c: * ext/gnomevfs/gstgnomevfssrc.c: * ext/ogg/gstoggdemux.c: * ext/ogg/gstoggmux.c: * ext/pango/gstclockoverlay.c: * ext/pango/gsttextoverlay.c: * ext/pango/gsttextrender.c: * ext/pango/gsttimeoverlay.c: * ext/theora/theoradec.c: * ext/theora/theoraenc.c: * ext/theora/theoraparse.c: * ext/vorbis/vorbisdec.c: * ext/vorbis/vorbisenc.c: * ext/vorbis/vorbisparse.c: * ext/vorbis/vorbistag.c: * gst/adder/gstadder.c: * gst/audioconvert/gstaudioconvert.c: * gst/audioresample/gstaudioresample.c: * gst/audiotestsrc/gstaudiotestsrc.c: * gst/ffmpegcolorspace/gstffmpegcolorspace.c: * gst/gdp/gstgdpdepay.c: * gst/gdp/gstgdppay.c: * gst/playback/gstdecodebin2.c: * gst/playback/gstplaybin.c: * gst/playback/gstplaybin2.c: * gst/playback/gstqueue2.c: * gst/playback/gsturidecodebin.c: * gst/tcp/gstmultifdsink.c: * gst/tcp/gsttcpserversink.c: * gst/videorate/gstvideorate.c: * gst/videoscale/gstvideoscale.c: * gst/videotestsrc/gstvideotestsrc.c: * gst/volume/gstvolume.c: * sys/ximage/ximagesink.c: * sys/xvimage/xvimagesink.c: Cleanup Plugin docs. Link to signals and properties. Fix sub-section titles. Drop mentining that all our example pipelines are "simple" pipelines. 2008-06-24 16:22:45 +0000 Stefan Kost gst/playback/gstqueue2.c: Do not double notify. Remove the unsued return value. Original commit message from CVS: * gst/playback/gstqueue2.c: Do not double notify. Remove the unsued return value. 2008-04-11 01:25:01 +0000 Wim Taymans docs/design/draft-keyframe-force.txt: Fix typo. Original commit message from CVS: * docs/design/draft-keyframe-force.txt: Fix typo. * gst/playback/gstqueue2.c: (update_buffering), (gst_queue_handle_src_query): Set buffering mode in the messages. Set buffering percent in the query. * tests/examples/seek/seek.c: (update_fill), (msg_state_changed), (do_stream_buffering), (do_download_buffering), (msg_buffering): Do some more fancy things based on the buffering method in use. 2008-04-09 21:40:17 +0000 Wim Taymans gst/playback/gstqueue2.c: Include extra buffering stats in the buffering message. Original commit message from CVS: * gst/playback/gstqueue2.c: (update_buffering), (gst_queue_close_temp_location_file), (gst_queue_handle_src_query), (gst_queue_src_checkgetrange_function): Include extra buffering stats in the buffering message. Implement BUFFERING query. * gst/playback/gsturidecodebin.c: (do_async_start), (do_async_done), (type_found), (setup_streaming), (setup_source), (gst_uri_decode_bin_change_state): Only add decodebin2 when the type is found in streaming mode. Make uridecodebin async to PAUSED even when we don't have decodebin2 added yet. 2008-04-02 11:08:05 +0000 Wim Taymans gst/playback/gstqueue2.c: Update the estimated input data when we push out a buffer. Original commit message from CVS: * gst/playback/gstqueue2.c: (update_out_rates), (gst_queue_open_temp_location_file), (gst_queue_close_temp_location_file), (gst_queue_handle_src_event), (gst_queue_handle_src_query), (gst_queue_set_property): Update the estimated input data when we push out a buffer. Add some debug info about the temp file. Only forward src events when we are not using a temp file. Don't block the duration query, we need to find something better. Don't leak the temp filename. 2008-03-24 14:08:22 +0000 Wim Taymans gst/playback/gstqueue2.c: The queue is never filled when there are no buffers in the queue at all. Original commit message from CVS: * gst/playback/gstqueue2.c: (gst_queue_is_filled): The queue is never filled when there are no buffers in the queue at all. Fixes #523993. 2008-03-22 15:00:53 +0000 Sebastian Dröge Use G_PARAM_STATIC_STRINGS everywhere for GParamSpecs that use static strings (i.e. all). This gives us less memory u... Original commit message from CVS: * configure.ac: * ext/alsa/gstalsamixerelement.c: (gst_alsa_mixer_element_class_init): * ext/alsa/gstalsasink.c: (gst_alsasink_class_init): * ext/alsa/gstalsasrc.c: (gst_alsasrc_class_init): * ext/cdparanoia/gstcdparanoiasrc.c: (gst_cd_paranoia_src_class_init): * ext/gio/gstgiosink.c: (gst_gio_sink_class_init): * ext/gio/gstgiosrc.c: (gst_gio_src_class_init): * ext/gio/gstgiostreamsink.c: (gst_gio_stream_sink_class_init): * ext/gio/gstgiostreamsrc.c: (gst_gio_stream_src_class_init): * ext/gnomevfs/gstgnomevfssink.c: (gst_gnome_vfs_sink_class_init): * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_class_init): * ext/ogg/gstoggmux.c: (gst_ogg_mux_class_init): * ext/pango/gsttextoverlay.c: (gst_text_overlay_class_init): * ext/pango/gsttextrender.c: (gst_text_render_class_init): * ext/theora/theoradec.c: (gst_theora_dec_class_init): * ext/theora/theoraenc.c: (gst_theora_enc_class_init): * ext/theora/theoraparse.c: (gst_theora_parse_class_init): * ext/vorbis/vorbisenc.c: (gst_vorbis_enc_class_init): * gst-libs/gst/audio/gstaudiofiltertemplate.c: (gst_audio_filter_template_class_init): * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_class_init): * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_class_init): * gst-libs/gst/cdda/gstcddabasesrc.c: (gst_cdda_base_src_class_init): * gst-libs/gst/interfaces/mixertrack.c: (gst_mixer_track_class_init): * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_class_init): * gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_class_init): * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_class_init): * gst/audiorate/gstaudiorate.c: (gst_audio_rate_class_init): * gst/audioresample/gstaudioresample.c: (gst_audioresample_class_init): * gst/audiotestsrc/gstaudiotestsrc.c: (gst_audio_test_src_class_init): * gst/gdp/gstgdppay.c: (gst_gdp_pay_class_init): * gst/playback/gstdecodebin2.c: (gst_decode_bin_class_init): * gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init), (preroll_unlinked): * gst/playback/gstplaybin.c: (gst_play_bin_class_init): * gst/playback/gstplaybin2.c: (gst_play_bin_class_init): * gst/playback/gstplaysink.c: (gst_play_sink_class_init): * gst/playback/gstqueue2.c: (gst_queue_class_init): * gst/playback/gststreaminfo.c: (gst_stream_info_class_init): * gst/playback/gststreamselector.c: (gst_selector_pad_class_init), (gst_stream_selector_class_init): * gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_class_init): * gst/subparse/gstsubparse.c: (gst_sub_parse_class_init): * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init): * gst/tcp/gsttcpclientsink.c: (gst_tcp_client_sink_class_init): * gst/tcp/gsttcpclientsrc.c: (gst_tcp_client_src_class_init): * gst/tcp/gsttcpserversink.c: (gst_tcp_server_sink_class_init): * gst/tcp/gsttcpserversrc.c: (gst_tcp_server_src_class_init): * gst/videorate/gstvideorate.c: (gst_video_rate_class_init): * gst/videoscale/gstvideoscale.c: (gst_video_scale_class_init): * gst/videotestsrc/gstvideotestsrc.c: (gst_video_test_src_class_init): * gst/volume/gstvolume.c: (gst_volume_class_init): * sys/v4l/gstv4lelement.c: (gst_v4lelement_class_init): * sys/v4l/gstv4lmjpegsink.c: (gst_v4lmjpegsink_class_init): * sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_class_init): * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_class_init): * sys/ximage/ximagesink.c: (gst_ximagesink_class_init): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_class_init): Use G_PARAM_STATIC_STRINGS everywhere for GParamSpecs that use static strings (i.e. all). This gives us less memory usage, fewer allocations and thus less memory defragmentation. Depend on core CVS for this. Fixes bug #523806. 2007-12-14 18:46:12 +0000 Wim Taymans gst/playback/gstqueue2.c: Use separate timers for input and output rates. Original commit message from CVS: * gst/playback/gstqueue2.c: (gst_queue_init), (gst_queue_finalize), (reset_rate_timer), (update_in_rates), (update_out_rates), (gst_queue_locked_enqueue), (gst_queue_locked_dequeue), (gst_queue_chain), (gst_queue_loop): Use separate timers for input and output rates. Pause measuring the output rate when we block for more data. See #503262. 2007-12-14 09:24:55 +0000 Wim Taymans gst/playback/gstqueue2.c: Pause the timer to measure the input rate when we block because the queue is filled. See #5... Original commit message from CVS: * gst/playback/gstqueue2.c: (gst_queue_chain): Pause the timer to measure the input rate when we block because the queue is filled. See #503262. 2007-11-30 17:47:15 +0000 Wim Taymans gst/playback/: Refactor some common code to filter factories and check caps compat. Original commit message from CVS: * gst/playback/Makefile.am: * gst/playback/gstfactorylists.c: (compare_ranks), (print_feature), (get_feature_array), (decoders_filter), (sinks_filter), (gst_factory_list_get_decoders), (gst_factory_list_get_sinks), (gst_factory_list_filter): * gst/playback/gstfactorylists.h: Refactor some common code to filter factories and check caps compat. * gst/playback/gstdecodebin.c: * gst/playback/gstdecodebin2.c: (gst_decode_bin_class_init), (gst_decode_bin_init), (gst_decode_bin_dispose), (gst_decode_bin_autoplug_continue), (gst_decode_bin_autoplug_factories), (gst_decode_bin_autoplug_select), (analyze_new_pad), (find_compatibles): * gst/playback/gstplaybin.c: * gst/playback/gstplaybin2.c: (gst_play_bin_class_init), (gst_play_bin_init), (gst_play_bin_finalize), (autoplug_factories_cb), (activate_group): * gst/playback/gstqueue2.c: * gst/playback/gsturidecodebin.c: (proxy_unknown_type_signal), (proxy_autoplug_continue_signal), (proxy_autoplug_factories_signal), (proxy_autoplug_select_signal), (proxy_drained_signal): Add some more debug info and use factor filtering code. 2007-11-16 15:44:48 +0000 Wim Taymans gst/playback/: Add playbin2. Original commit message from CVS: * gst/playback/Makefile.am: * gst/playback/gstplayback.c: (plugin_init): * gst/playback/test7.c: (update_scale), (warning_cb), (error_cb), (eos_cb), (about_to_finish_cb), (main): Add playbin2. Added gapless playback example. * gst/playback/gstplaybasebin.c: * gst/playback/gstplaybasebin.h: * gst/playback/gstplaybin.c: (gst_play_bin_plugin_init): * gst/playback/gstqueue2.c: * gst/playback/test.c: * gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_class_init), (pad_removed_cb): * gst/playback/gststreaminfo.h: Change email. * gst/playback/gstplaybin2.c: (gst_play_bin_get_type), (gst_play_bin_class_init), (init_group), (gst_play_bin_init), (gst_play_bin_dispose), (gst_play_bin_set_uri), (gst_play_bin_set_suburi), (gst_play_bin_set_property), (gst_play_bin_get_property), (gst_play_bin_handle_message), (pad_added_cb), (pad_removed_cb), (no_more_pads_cb), (perform_eos), (drained_cb), (unlink_group), (activate_group), (setup_next_source), (gst_play_bin_change_state), (gst_play_bin2_plugin_init): Added raw first version of playbin2. Does chained oggs and gapless playback fine. No support for raw sinks yet. No visualisations or subtitles yet. * gst/playback/gstplaysink.c: (gst_play_sink_get_type), (gst_play_sink_class_init), (gst_play_sink_init), (gst_play_sink_dispose), (gst_play_sink_vis_unblocked), (gst_play_sink_vis_blocked), (gst_play_sink_set_video_sink), (gst_play_sink_set_audio_sink), (gst_play_sink_set_vis_plugin), (gst_play_sink_set_property), (gst_play_sink_get_property), (post_missing_element_message), (free_chain), (add_chain), (activate_chain), (gen_video_chain), (gen_text_element), (gen_audio_chain), (gen_vis_element), (gst_play_sink_get_mode), (gst_play_sink_set_mode), (gst_play_sink_request_pad), (gst_play_sink_release_pad), (gst_play_sink_send_event_to_sink), (gst_play_sink_send_event), (gst_play_sink_change_state): * gst/playback/gstplaysink.h: Added Element that abstracts the sinks and their pipelines for playbin2. 2007-10-15 11:38:39 +0000 Wim Taymans gst/playback/gstqueue2.c: Fix queue negotiation. See #486758. Original commit message from CVS: * gst/playback/gstqueue2.c: (gst_queue_init), (gst_queue_push_one): Fix queue negotiation. See #486758. 2007-09-21 14:37:26 +0000 Wim Taymans gst/playback/gstqueue2.c: Fix compilation wrt printf arguments. Original commit message from CVS: * gst/playback/gstqueue2.c: (gst_queue_push_one): Fix compilation wrt printf arguments. 2007-09-17 17:24:55 +0000 Jan Schmidt Fix a bunch of compile warnings shown with Forte. Original commit message from CVS: * ext/pango/gsttextoverlay.c: (gst_text_overlay_init), (gst_text_overlay_set_property): * ext/vorbis/vorbisdec.c: (vorbis_handle_data_packet): * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_render): * gst-libs/gst/rtp/gstrtcpbuffer.c: (gst_rtcp_ntp_to_unix), (gst_rtcp_unix_to_ntp): * gst-libs/gst/rtsp/gstrtspmessage.c: (gst_rtsp_message_get_type): * gst/playback/gstqueue2.c: * tests/examples/seek/seek.c: (set_scale): Fix a bunch of compile warnings shown with Forte. * gst/audiorate/gstaudiorate.c: Always pull in config.h before including any system headers. 2007-09-17 16:22:17 +0000 Wim Taymans gst/playback/gstqueue2.c: Also fix #476514 for queue2. Original commit message from CVS: * gst/playback/gstqueue2.c: (update_buffering), (gst_queue_locked_flush), (gst_queue_locked_enqueue), (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_push_one), (gst_queue_sink_activate_push), (gst_queue_src_activate_push), (gst_queue_src_activate_pull): Also fix #476514 for queue2. 2007-08-10 10:08:05 +0000 Tim-Philipp Müller gst/: Printf format fixes (#465028). Original commit message from CVS: * gst/playback/gstqueue2.c: * gst/videorate/gstvideorate.c: Printf format fixes (#465028). 2007-06-28 11:06:56 +0000 Wim Taymans gst/playback/gstqueue2.c: Use other metrics as well when estimating the buffer level. Original commit message from CVS: * gst/playback/gstqueue2.c: (apply_segment), (update_buffering): Use other metrics as well when estimating the buffer level. 2007-06-28 10:21:19 +0000 Wim Taymans gst/playback/gstplaybasebin.c: Small debug improvement. Original commit message from CVS: * gst/playback/gstplaybasebin.c: (make_decoder), (setup_source): Small debug improvement. * gst/playback/gstqueue2.c: (apply_segment), (update_buffering), (plugin_init): Tweak the rate estimation period. When calculating the buffer filledness in rate estimation mode, don't mix it with other metrics. 2007-06-16 03:42:14 +0000 David Schleef gst/playback/gstqueue2.c: Fix compile error from ignored return value. Original commit message from CVS: * gst/playback/gstqueue2.c: Fix compile error from ignored return value. 2007-06-13 18:20:57 +0000 Edward Hervey gst/playback/gstqueue2.c: Fix build on MacOSX. Original commit message from CVS: * gst/playback/gstqueue2.c: (gst_queue_create_read): Fix build on MacOSX. 2007-06-12 08:38:06 +0000 Wim Taymans gst/playback/gstqueue2.c: Fix a division by zero when the max percent is <= 0. Fixes #446572. also update the bufferi... Original commit message from CVS: Patches by: Thiago Sousa Santos * gst/playback/gstqueue2.c: (update_buffering), (gst_queue_locked_enqueue): Fix a division by zero when the max percent is <= 0. Fixes #446572. also update the buffering status when receiving events. Fixes #446551. 2007-06-11 11:32:26 +0000 Thiago Sousa Santos gst/playback/gstqueue2.c: Wait for preroll before attempting to forward a duration query upstream. Original commit message from CVS: Based on patch by: Thiago Sousa Santos * gst/playback/gstqueue2.c: (gst_queue_peer_query), (gst_queue_handle_src_query): Wait for preroll before attempting to forward a duration query upstream. Fixes #445505. 2007-06-07 09:11:27 +0000 Wim Taymans gst/playback/gstqueue2.c: Fix compilation. Original commit message from CVS: * gst/playback/gstqueue2.c: (gst_queue_get_range): Fix compilation. 2007-06-06 13:36:26 +0000 Thiago Sousa Santos gst/playback/gstqueue2.c: Add pull based scheduling and fix some deadlocks. Fixes #444523. Original commit message from CVS: Patch by: Thiago Sousa Santos * gst/playback/gstqueue2.c: (gst_queue_init), (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_get_range), (gst_queue_src_checkgetrange_function), (gst_queue_sink_activate_push), (gst_queue_src_activate_push), (gst_queue_src_activate_pull): Add pull based scheduling and fix some deadlocks. Fixes #444523. Does not yet completely work because duration queries upstream won't block yet. 2007-06-06 09:08:50 +0000 Wim Taymans Some more fseeko checks. Original commit message from CVS: * configure.ac: * gst/playback/gstqueue2.c: (gst_queue_create_read): Some more fseeko checks. 2007-06-05 17:02:13 +0000 Wim Taymans gst/playback/gstqueue2.c: Include stdio to define fseeko. Original commit message from CVS: * gst/playback/gstqueue2.c: (gst_queue_have_data), (gst_queue_create_read), (gst_queue_read_item_from_file), (gst_queue_open_temp_location_file), (gst_queue_locked_enqueue): Include stdio to define fseeko. 2007-06-05 16:14:23 +0000 Thiago Sousa Santos gst/playback/gstqueue2.c: Add support for filebased buffering. Fixes #441264. Original commit message from CVS: Based on patch by: Thiago Sousa Santos * gst/playback/gstqueue2.c: (gst_queue_class_init), (gst_queue_init), (gst_queue_finalize), (gst_queue_write_buffer_to_file), (gst_queue_have_data), (gst_queue_create_read), (gst_queue_read_item_from_file), (gst_queue_open_temp_location_file), (gst_queue_close_temp_location_file), (gst_queue_locked_flush), (gst_queue_locked_enqueue), (gst_queue_locked_dequeue), (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_change_state), (gst_queue_set_temp_location), (gst_queue_set_property): Add support for filebased buffering. Fixes #441264. 2007-05-17 15:22:44 +0000 Wim Taymans gst/playback/gstqueue2.c: Tweak the buffering thresholds a little. Original commit message from CVS: * gst/playback/gstqueue2.c: (update_rates): Tweak the buffering thresholds a little. Update the buffer size with the previously calculate rate instead of only when we calculate a new rate so that we get smoother buffering updates. * gst/playback/Makefile.am: * gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_base_init), (gst_uri_decode_bin_class_init), (gst_uri_decode_bin_init), (gst_uri_decode_bin_finalize), (gst_uri_decode_bin_set_property), (gst_uri_decode_bin_get_property), (unknown_type), (add_element_stream), (no_more_pads_full), (no_more_pads), (source_no_more_pads), (new_decoded_pad), (array_has_value), (gen_source_element), (has_all_raw_caps), (analyse_source), (remove_decoders), (make_decoder), (remove_source), (source_new_pad), (setup_source), (decoder_query_init), (decoder_query_duration_fold), (decoder_query_duration_done), (decoder_query_position_fold), (decoder_query_position_done), (decoder_query_latency_fold), (decoder_query_latency_done), (decoder_query_seeking_fold), (decoder_query_seeking_done), (decoder_query_generic_fold), (gst_uri_decode_bin_query), (gst_uri_decode_bin_change_state), (plugin_init): New element that intergrates a source, optional buffering element and decodebin. 2007-05-17 13:36:11 +0000 Wim Taymans gst/playback/gstqueue2.c: fix build. Original commit message from CVS: * gst/playback/gstqueue2.c: (gst_queue_get_type), (gst_queue_class_init), (gst_queue_finalize), (update_time_level), (apply_segment), (apply_buffer), (update_buffering), (reset_rate_timer), (update_rates), (gst_queue_locked_flush), (gst_queue_locked_enqueue), (gst_queue_locked_dequeue), (gst_queue_handle_sink_event), (gst_queue_is_filled), (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop), (plugin_init): fix build. 2007-05-17 11:57:44 +0000 Wim Taymans gst/playback/: On our way to playbin2 this is the new network queue that does buffering all by itself using high and ... Original commit message from CVS: * gst/playback/Makefile.am: * gst/playback/gstqueue2.c: (gst_queue_get_type), (gst_queue_class_init), (gst_queue_init), (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_bufferalloc), (gst_queue_acceptcaps), (update_time_level), (apply_segment), (apply_buffer), (update_buffering), (reset_rate_timer), (update_rates), (gst_queue_locked_flush), (gst_queue_locked_enqueue), (gst_queue_locked_dequeue), (gst_queue_handle_sink_event), (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop), (gst_queue_handle_src_event), (gst_queue_handle_src_query), (gst_queue_sink_activate_push), (gst_queue_src_activate_push), (gst_queue_change_state), (gst_queue_set_property), (gst_queue_get_property), (plugin_init): On our way to playbin2 this is the new network queue that does buffering all by itself using high and low watermarks. It can also measure up and downstream bandwidth to optimally size the queue. 2009-10-28 22:03:44 -0700 David Schleef * gst/parse/grammar.y: parse: Fix memleak of unused delayed links Attach the DelayedLink structure to the element, so that when the element is disposed, the DelayedLink is freed. 2009-09-09 15:37:11 -0500 Rob Clark * gst/gstpad.c: pad: make _fixate_caps() also truncate when needed The default gst_pad_fixate_caps() previously would only fixate each individual struct. In case there are multiple structs, the resulting caps would still not be fixed. In the spirit of how individual structs are fixated, this patch changes gst_pad_fixate_caps() to remove all but the first struct. Fixes #595886 2009-09-21 11:44:13 +0200 Wim Taymans * gst/gstinfo.h: info: fix docs 2009-10-28 09:26:32 +0100 Edward Hervey * gst/gstbus.c: * gst/gstelementfactory.c: * gst/gstindex.c: * gst/gstindexfactory.c: * gst/gstobject.c: * gst/gstplugin.c: * gst/gstpluginloader.c: * gst/gstregistry.c: * gst/gstregistrychunks.c: * gst/gsttask.c: * gst/gsttaskpool.c: * gst/gsttypefind.c: * gst/gstxml.c: * libs/gst/base/gstadapter.c: * libs/gst/base/gstcollectpads.c: * libs/gst/base/gstdataqueue.c: * libs/gst/controller/gstcontroller.c: * libs/gst/controller/gstinterpolationcontrolsource.c: * libs/gst/controller/gstlfocontrolsource.c: optimisation : Use g_object_newv where possible. This avoids: * triple-checking for the GType when type-checking is enabled (see #597260) * Avoids going through an expensive no-argument checking which landed in glib-2.22 * Avoids going through 2 extrac functions (g_object_new -> g_object_new_valist) 2009-10-28 10:15:12 +0200 Stefan Kost * docs/gst/gstreamer-docs.sgml: * docs/libs/gstreamer-libs-docs.sgml: docs: include annotation glossary to have working links. 2009-10-28 10:14:36 +0200 Stefan Kost * gst/gst.c: annotations: add annotations to gst_init_check too 2009-10-28 09:58:52 +0200 Stefan Kost * gst/gst.c: docs: tell more about what happens in gst_init. Add links to gst_update_registry and the env-vars. 2009-10-28 09:21:01 +0200 Stefan Kost * gst/gst.c: docs: remove reference to OGI and rephrase sections docs The OGI links are dead, so remove them. Also remove the paragraph that pointed to OGI and DS. Only mentioning DS there made it a but pointless. Add a generic paragraph instead that tells a bit about the usecases gstreamer covers. 2009-10-28 00:29:30 +0000 Tim-Philipp Müller * gst/gstbin.c: * gst/gstbus.c: * gst/gstclock.c: * gst/gstelement.c: * gst/gstelementfactory.c: * gst/gstghostpad.c: * gst/gstindex.c: * gst/gstindexfactory.c: * gst/gstobject.c: * gst/gstpad.c: * gst/gstpipeline.c: * gst/gstplugin.c: * gst/gstpluginfeature.c: * gst/gstregistry.c: * gst/gsttask.c: * gst/gsttaskpool.c: * gst/gstxml.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstcollectpads.c: * libs/gst/base/gstdataqueue.c: * plugins/elements/gstfakesink.c: * plugins/elements/gstfakesrc.c: * plugins/elements/gstfilesrc.c: * plugins/elements/gstidentity.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstqueue.c: * plugins/elements/gsttee.c: * plugins/elements/gsttypefindelement.c: * plugins/indexers/gstmemindex.c: Remove GST_DEBUG_FUNCPTR where they're pointless There's not much point in using GST_DEBUG_FUNCPTR with GObject virtual functions such as get_property, set_propery, finalize and dispose, since they'll never be used by anyone anyway. Saves a few bytes and possibly a tenth of a polar bear. 2009-10-28 00:07:48 +0000 Tim-Philipp Müller * plugins/elements/gstcapsfilter.c: capsfilter: sprinkle some GST_DEBUG_FUNCPTR 2009-10-27 15:47:39 +0100 Wim Taymans * docs/design/part-trickmodes.txt: design: add some ideas for SKIP mode trickmodes 2009-10-23 10:20:02 -0400 Wim Taymans * plugins/elements/gstmultiqueue.c: multiqueue: buffering is implemented now 2009-10-22 21:24:24 -0400 Wim Taymans * plugins/elements/gstmultiqueue.c: * plugins/elements/gstmultiqueue.h: multiqueue: make sure percent increases Keep track of the last posted percent message and make sure the next percent messages are strictly increasing. 2009-10-22 16:38:12 -0400 Wim Taymans * plugins/elements/gstmultiqueue.c: multiqueue: refactor buffering code Move the buffering update code to a separate function so that we can call it when the buffering state changes due to EOS. Avoid dividing by 0. 2009-10-22 14:09:01 -0400 Wim Taymans * plugins/elements/gstmultiqueue.c: * plugins/elements/gstmultiqueue.h: multiqueue: add buffering support Add support for buffering mode where we post BUFFERING messages based on the level of the queues. It currently operates on the first queue that goes over or under the high/low thresholds. 2009-10-22 14:07:31 -0400 Wim Taymans * plugins/elements/gstmultiqueue.c: multiqueue: don't check visible items in buffering In buffering mode we want to ignore the max visible items to decide when the queue is filled. Instead, we only look at the number of bytes and/or time in the queue. 2009-10-21 11:30:40 -0400 Wim Taymans * plugins/elements/gstmultiqueue.c: * plugins/elements/gstmultiqueue.h: multiqueue: hook up low/high percent Hook up the low/high percent properties for the buffering mode. 2009-10-21 11:24:47 -0400 Wim Taymans * plugins/elements/gstmultiqueue.c: * plugins/elements/gstmultiqueue.h: multiqueue: hook up property for buffering 2009-10-22 15:21:39 +0100 Wim Taymans * plugins/elements/gstmultiqueue.c: multiqueue: small cleanups Remove unused variable to avoid confusion Fix some typo 2009-10-22 09:41:52 -0400 Wim Taymans * plugins/elements/gstmultiqueue.c: multiqueue: add FIXME for wrong code Needs further investigation 2009-10-21 14:20:29 -0400 Wim Taymans * plugins/elements/gstmultiqueue.c: multiqueue: fix debug output 2009-10-21 14:15:05 -0400 Wim Taymans * plugins/elements/gstmultiqueue.c: multiqueue: avoid shadowing function argument Don't shadow the sq argument in the underrun_cb function but use a different variable name to iterate the other queues. Use the same variable name in the overrun_cb function. 2009-10-21 14:12:12 -0400 Wim Taymans * plugins/elements/gstmultiqueue.c: multiqueue: make queue arg explicit Make the queue argument to IS_FILLED explicit 2009-10-21 11:17:08 -0400 Wim Taymans * plugins/elements/gstmultiqueue.c: multiqueue: fix properties Fix properties, make the extra-size properties as not implemented. 2009-10-25 21:35:09 +0200 Stefan Kost * gst/gstdebugutils.c: debugutils: allow to hide/show pad status with graphdetails flag 2009-10-24 13:14:25 +0200 Sebastian Dröge * libs/gst/base/gsttypefindhelper.c: typefindhelper: Remove obsolete FIXME It's not necessary (and not a good idea) to cache the typefind factory list anymore. 2009-10-24 11:58:25 +0200 Sebastian Dröge * gst/gstregistry.c: * gst/gstregistry.h: registry: private is a C++ keyword, don't use it ...otherwise C++ compilers will complain when including gstregistry.h 2009-10-24 10:21:30 +0100 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gstpluginfeature.c: docs: add Since tag to docs for new API And tell gtk-doc that GstRegistryPrivate is private. 2009-10-21 09:48:41 +0200 Edward Hervey * gst/gstregistry.c: * gst/gsttypefindfactory.c: * libs/gst/base/gsttypefindhelper.c: typefind: Keep typefind factories sorted in the registry. Fixes #599147 This avoids having to do the sorting everytime we use typefind The behaviour of gst_type_find_factory_get_list has subtlely changed in the sense that the order was previously undefined, whereas now it returns them sorted by rank and then by name. 2009-10-21 09:45:47 +0200 Edward Hervey * gst/gstregistry.c: registry: Cache element and typefind factories. Fixes 598896 This avoids unneeded list/filtering if the registry hasn't changed 2009-10-21 09:40:49 +0200 Edward Hervey * docs/gst/gstreamer-sections.txt: * gst/gstpluginfeature.c: * gst/gstpluginfeature.h: * win32/common/libgstreamer.def: gstpluginfeature: API : new gst_plugin_feature_list_copy() method This allows copying AND incrementing the refcount at the same time, avoiding a double iteratio of the GList 2009-10-24 10:05:59 +0200 Edward Hervey * gst/gstregistry.c: * gst/gstregistry.h: gstregistry: Add a cookie for detecting feature list changes We also create a private structure, since we will need to add more data there in following patches. 2009-10-23 13:19:04 -0400 Wim Taymans * gst/gstmessage.h: message: don't use typechecking cast macros Simply use casting macros for accessing the message fields like we do for buffers and events. Avoids some costly typechecking that does not really buy us much. 2009-10-23 13:13:52 -0400 Wim Taymans * gst/gstmessage.c: Revert "gstmessage: Avoid expensive src/type/timestamp fetch." This reverts commit 61cf93a334b79a2d8493e531cc44ba45a4209805. 2009-10-23 17:51:27 +0200 Edward Hervey * gst/gstmessage.c: gstmessage: Avoid expensive src/type/timestamp fetch. If we've already checked that we have a valid message, use the entries directly. 2009-10-23 17:47:43 +0200 Edward Hervey * gst/gstcaps.c: gstcaps: Use inlined version of _is_any()/_is_empty() CAPS_IS_ANY and CAPS_IS_EMPTY are the equivalent of their gst_caps_* counterpart except that they avoid the typechecking and are inlined. CAPS_IS_EMPTY_SIMPLE only checks for empty caps (without checking if the caps is ANY). 2009-10-22 16:42:13 -0400 Wim Taymans * docs/design/part-TODO.txt: TODO: add item to TODO list We currently do a little too much work when we push the first buffer around resulting in excessive caps checking. We can probably make this a little less expensive. 2009-10-22 12:52:46 +0100 Jan Schmidt * gst/gstpipeline.c: gstpipeline: Simplify base time checking slightly Simplify checking and distribution of the base time - don't re-check the value of a local variable that was set 3 lines earlier. 2009-10-22 13:15:15 +0200 Edward Hervey * gst/gsturi.c: gsturi: Optimisation: Avoid type-checking in sorting method. We already know the list only contains plugin features 2009-10-22 13:13:56 +0200 Edward Hervey * gst/gsturi.c: gsturi: Optimisation : Cast when we're sure of the type. Also directly access GstElementFactory->uri_type instead of going through a function that will (once again) check whether it's a GstElementFactory 2009-10-22 12:33:37 +0200 Edward Hervey * tests/check/elements/fakesink.c: tests/fakesink: Add some debugging 2009-10-22 12:33:01 +0200 Edward Hervey * tests/check/elements/fakesink.c: tests/faeksink: Lower the number of threads to avoid timeouts We just end up with way too much contention in glib otherwise. 2009-10-19 09:06:16 +0200 Edward Hervey * gst/gstregistry.c: gstregistry: Use hash table when finding a feature. Fixes #598895 2009-10-21 16:26:01 -0400 Wim Taymans * plugins/elements/gsttee.c: tee: implement custom acceptcaps function Implement a custom acceptcaps function on the sinkpad. We can accept any caps as long as it is accepted by all downstream peer elements. 2009-10-21 13:38:57 -0400 Wim Taymans * plugins/elements/gstmultiqueue.c: * plugins/elements/gstmultiqueue.h: multiqueue: avoid lock for taking the counter The counter for incomming data is already protected with the STREAM_LOCK so we don't need to add another lock around it. 2009-10-20 23:28:54 -0400 Wim Taymans * gst/gstregistry.c: * gst/gstregistry.h: registry: hash the plugin basename Maintain a hashtable of the plugin basename. We can then use this hashtable to speedup the search for an existing plugin and avoid a whole lot of strcmp calls. 2009-10-20 23:27:41 -0400 Wim Taymans * gst/gstregistrychunks.c: registry: speed up _strlen Make the _strlen function a little tighter 2009-10-20 21:43:58 -0400 Wim Taymans * gst/gstregistry.c: registry: name is never NULL When looking up a feature by name, we never call this internal function with NULL so we don't have to check for it. 2009-10-20 21:39:11 -0400 Wim Taymans * gst/gstregistry.c: registry: refactor plugin lookup We keep lookup plugins by their basename. Avoid creating a basename from a filename if we can. 2009-10-20 21:01:55 -0400 Wim Taymans * gst/gstregistry.c: registry: do quick check for . files Do a quick check for . files before calling the strcmp functions 2009-10-20 12:21:09 -0700 Michael Smith * tests/check/gst/gstxml.c: Remove executable bits on xml unit test. 2009-10-19 16:47:10 +0200 Benjamin Otte * gst/gstcaps.c: docs: Fix docs for gst_caps_set_simple() 2009-10-19 13:02:30 +0100 Jan Schmidt * gst/gstcaps.c: docs: Modify docs string slightly. Apparently starting the last line of a docs string with 'returns' both confuses and enrages gtk-doc. Use a slightly different wording instead. 2009-10-19 12:29:35 +0100 Jan Schmidt * gst/gstpluginloader.c: pluginloader: When a plugin is blacklisted, output a GST_ERROR line. 2009-10-19 13:30:10 +0200 Edward Hervey * tools/gst-inspect.c: tools/gst-inspect: Check we're not handling NULL pointers. 2009-10-19 13:29:40 +0200 Edward Hervey * tools/gst-inspect.c: tools/gst-inspect: Remove dead assignment 2009-10-14 10:54:32 +0200 Peter Kjellerstedt * gst/gsttrace.h: trace: Do not poison gst_trace_add_entry() Since gst_trace_add_entry() is a macro, gcc will barf when it is defined in case it has been poisoned due to trace support being disabled. 2009-10-18 23:18:58 +0300 Stefan Kost * libs/gst/controller/gstinterpolationcontrolsource.c: controller: just cast in internal API where we have checked parameters already 2009-10-18 23:15:07 +0300 Stefan Kost * libs/gst/controller/gstcontroller.c: controller: use g_slice for controlled property structures Use g_slide instead of nomal g_new, Also don't init struct with 0 as we need to init it anyway with the real values. Also join the 3 flags checks into one. 2009-10-18 17:17:17 +0200 Edward Hervey * libs/gst/base/gsttypefindhelper.c: libs/base/typefindhelper: Remove useless typechecking in tight loop The list against which we run the comparefunc will only contain GstPluginFeature, therefore remove the 6 expensive type checks we do for every single comparision. 2009-10-16 12:39:54 +0200 Wim Taymans * gst/gstcaps.c: caps: fix typo in docs 2009-10-16 09:43:08 +0200 Edward Hervey * win32/common/libgstreamer.def: win32: Add new API symbol 2009-10-16 10:13:53 +0300 Stefan Kost * common: Automatic update of common submodule From 85d1530 to 0702fe1 2009-10-07 15:32:18 +0200 Benjamin Otte * docs/gst/gstreamer-sections.txt: * gst/gstcaps.c: * gst/gstcaps.h: Improve caps setters API This patch adds gst_caps_set_value() and allows gst_caps_set_simple() to work on non-simple caps. See the API documentation for the functions about what they do. The intention of these changes is to ease working with caps in caps transform functions. An example for this would be ffmpegcolorspace, where the caps transform function could be changed to look roughly like this (pseudocode ahead): result = gst_caps_copy (template_caps); value = gst_structure_get_value (gst_caps_get_structure (caps, 0), "widh"); gst_caps_set_value (result, value); /* same for height, framerate and par */ return caps; which is much cleaner and easier to understand than the current code. https://bugzilla.gnome.org/show_bug.cgi?id=597690 2009-10-02 10:15:55 +0200 Benjamin Otte * tests/examples/xml/Makefile.am: Add XML_LIBS when building tests that use xml-specific functions 2009-10-15 16:35:59 +0100 Jan Schmidt * po/Makevars: po: Don't create backup .po files As well as preventing creation of useless backup files, it works around a bug in gettext 0.17 on OS/X 2009-10-15 16:30:36 +0200 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: fix race in PLAYING->PAUSED->PLAYING When we quickly switch from PLAYING to PAUSED and back to PLAYING it's possible in some cases that the task refuses to start, This is because when we go to PAUSED, we unschedule the clock timeout, which could return UNSCHEDULED when we're back to PLAYING, causing the task to PAUSE again with a wrong-state. This patch checks if we are running when we return with an UNSCHEDULED return value and if we are, try to create a new buffer. Fixes #597550 2009-10-15 12:16:05 +0300 Stefan Kost * gst/gstpreset.c: docs: clarify preset api docs 2009-10-14 17:57:40 +0300 Stefan Kost * libs/gst/controller/gstcontroller.c: docs: fix controller sections docs 2009-10-14 10:40:50 +0200 Edward Hervey * common: Automatic update of common submodule From 6380d4b to 85d1530 2009-10-14 10:16:31 +0200 Peter Kjellerstedt * gst/gstiterator.c: iterator: Fix a documentation typo 2009-10-14 08:57:52 +0200 Sebastian Dröge * Makefile.am: build: ...and add missing endif 2009-10-14 08:57:04 +0200 Sebastian Dröge * Makefile.am: build: Also don't run make check-exports if debugging is disabled 2009-10-14 08:50:31 +0200 Peter Kjellerstedt * Makefile.am: build: Only run make check-exports if no public API was disabled Fixes bug #598297. 2009-10-14 08:30:07 +0200 Sebastian Dröge * gst/gstobject.c: gstobject: Replace recursive gst_object_has_ancestor() with an iterative version This is slightly more efficient because the compiler can't do tail recursion here and has to keep all stack frames. Not that efficiency is that important here but I already had the iterative version somewhere else and both are easy to read. 2009-10-14 08:29:32 +0200 Sebastian Dröge * tests/check/gst/gstobject.c: gstobject: Add simple unit test for gst_object_has_ancestor() 2009-10-13 19:12:50 +0300 Tommi Myöhänen * libs/gst/net/gstnetclientclock.c: netclientclock: fix timestamp comparission, Fixes #597407 2009-10-12 21:51:55 +0100 Jan Schmidt * tests/check/gst/gstobject.c: check: Disable the test_fail_abstract_new() test entirely on OS/X Fixes a compiler warning from the function being compiled but not used. 2009-10-12 14:57:35 +0100 Jan Schmidt * gst/gst_private.h: debug: Mark the GST_POLL symbol as extern to avoid multiply-defined error 2009-10-12 14:47:30 +0100 Jan Schmidt * common: Update common to 6380d4b370f078f0cca7240428ea9f6639571ff5 2009-10-12 14:24:04 +0100 Jan Schmidt * gst/gst_private.h: * gst/gstinfo.c: gstpoll: Make the new GST_POLL debug completely private Make the GST_POLL debug category symbol private to libgstreamer, as there should be no external users of it. 2009-10-12 14:22:34 +0100 Jan Schmidt * tests/check/gst/gstobject.c: checks: Disable a fairly silly gstobject test on OS/X This test used to SIGBUS on OS/X but now SIGSEGV's instead on Snow Leopard. It's not worth the effort to figure out which platform should produce which error for what is fundamentally a pretty silly test, so just disable it on OS/X 2009-10-12 13:50:51 +0200 Edward Hervey * libs/gst/check/libcheck/check_pack.c: libs/gst/check: Make writing threadsafe. Backported from libcheck trunk 2009-10-12 13:49:35 +0200 Edward Hervey * libs/gst/check/libcheck/check.c: * libs/gst/check/libcheck/check_error.c: * libs/gst/check/libcheck/check_list.c: * libs/gst/check/libcheck/check_log.c: * libs/gst/check/libcheck/check_msg.c: * libs/gst/check/libcheck/check_pack.c: * libs/gst/check/libcheck/check_print.c: * libs/gst/check/libcheck/check_run.c: * libs/gst/check/libcheck/check_str.c: libs/gst/check: Run gst-indent on libcheck. 2009-10-12 12:02:34 +0200 Edward Hervey * gst/gstpluginloader.c: gstpluginloader: Don't wait forever on gst_poll_wait. This allows the macosx versions to properly error out when fds are closed. This is only a temporary fix until the pluginloader is switched to not use GstPoll but GIOChannels. 2009-10-12 12:01:59 +0200 Edward Hervey * gst/gstpoll.c: gstpoll: Only take into account active fds This is needed so that select properly errors out on macosx (sigh) 2009-10-12 10:07:03 +0200 Edward Hervey * gst/gstpoll.c: gstpoll: Add some debugging statements 2009-10-12 10:01:01 +0200 Edward Hervey * gst/gstpoll.c: gstpoll: Use the error fdset when using select/pselect. This is needed to properly detect fds that are closed or that got an error 2009-10-12 09:50:46 +0200 Edward Hervey * gst/gstpoll.c: gstpoll: Don't use poll on systems with broken poll 2009-10-12 09:50:00 +0200 Edward Hervey * gst/gst_private.h: * gst/gstinfo.c: * gst/gstpoll.c: gst: Add debugging category GST_POLL for gstpoll 2009-10-12 09:47:59 +0200 Edward Hervey * configure.ac: configure.ac: Detect broken poll() 2009-10-09 17:44:28 +0300 Stefan Kost * libs/gst/base/gstbasesink.c: basesink: lets keep -1 for segmenst as they are guint64 and not GstClockTime 2009-10-09 17:11:27 +0300 Stefan Kost * libs/gst/base/gstbasesink.c: basesink: use GST_CLOCK_TIME_NONE and GST_CLOCK_TIME_IS_VALID more 2009-10-08 23:10:40 +0100 Jan Schmidt * gst/gstpluginloader.c: pluginloader: Fix valgrind warnings by zeroing padding bytes. 2009-10-08 17:19:38 +0100 Jan Schmidt * tests/check/libs/bytereader.c: check: Hopefully fix an 'may be used uninitialized' warning on OS/X 2009-10-08 16:21:45 +0100 Jan Schmidt * gst/gstregistrychunks.c: registrychunks: Fix a debug format string harder to satisfy OS/X's gcc. 2009-10-08 16:05:08 +0100 Jan Schmidt * gst/gstregistrychunks.c: registrychunks: Fix format string for debug error message. 2009-10-08 15:21:48 +0100 Jan Schmidt * gst/gstpluginloader.c: pluginloader: Move stdin and stdout out of harm's way In the plugin loader subprocess, move stdin and stdout to new fd's so that plugins printing things during plugin init or (*gasp*) possibly reading from stdin don't interfere with the data sent to and from the parent. 2009-10-08 11:17:14 +0100 Jan Schmidt * docs/plugins/Makefile.am: plugin docs: Add GST_PLUGIN_SCANNER env var to the inspect environment 2009-10-08 10:59:15 +0100 Jan Schmidt * common: Automatic update of common submodule From 37f898b to a3e3ce4 2009-10-08 10:39:28 +0100 Jan Schmidt * tests/check/libs/.gitignore: gitignores: Ignore the bytewriter check binary 2009-10-08 10:36:56 +0100 Jan Schmidt * gst/gstregistry.c: registry: Fix error handling in the registry loader When the plugin-scanner load fails (because the helper can't be spawned), make sure to load the plugin that failed in-process, so that all plugins do get loaded. 2009-10-08 10:26:27 +0100 Jan Schmidt * tests/examples/manual/Makefile.am: check: Fix test run in tests/examples/manual Add the GST_PLUGIN_SCANNER env var to the check environment here too so that it doesn't fail when no installed scanner is available. 2009-10-08 09:34:47 +0100 Tim-Philipp Müller * gst/gstinfo.c: gstinfo: add back fix that shouldn't have been reverted 2009-10-08 10:47:44 +0300 Stefan Kost * plugins/elements/gstqueue.c: queue: more queue optimizations Split gst_queue_locked_enqueue() into variant for buffer and event to get rid of the if() and make the code more readable (constant boolean parameters are never nice). Removes the if (item) checks as we dereference the pointer before anyway. Also apply the same idea of reusing the previous knowledge in gst_queue_locked_dequeue to remove more type checks. 2009-10-08 10:51:49 +0300 Stefan Kost * plugins/elements/gstmultiqueue.c: multiqueue: split gst_multi_queue_item_new Split gst_multi_queue_item_new into buffer and event variant to make save an if and make code more readable. 2009-10-08 08:55:59 +0200 Edward Hervey * plugins/elements/gstfilesrc.c: plugins/gstfilesrc: Make a fast-path for length == 0 buffer creation. If the requested length is 0, we don't need to read anything from the file. 2009-10-08 08:55:23 +0200 Edward Hervey * libs/gst/check/gstconsistencychecker.c: gst/check/consistencychecker: Check type of miniobject in probe 2009-10-08 08:53:54 +0200 Edward Hervey * libs/gst/base/gstbasesink.c: gst/base/basesink: Remove dead assignment. The code was previously: * checking if ret was != OK * .. but if it was FLOW_STEP, swith it to OK * .. and then not using ret Instead we just make it more compact by checking if it's OK or STEP. 2009-10-08 08:53:26 +0200 Edward Hervey * gst/gstobject.c: gstobject: Remove dead assignment. object is no longer used after that line 2009-10-08 08:52:18 +0200 Edward Hervey * gst/gstindex.c: gstindex: Make sure writer is non-NULL. Fixes the NULL dereference a few lines lower (where it gets the object type). 2009-09-29 08:13:40 +0200 Edward Hervey * tests/benchmarks/gstbufferstress.c: benchmarks: Clean up gstbufferstress. 2009-10-08 02:42:16 +0100 Jan Schmidt * tests/benchmarks/complexity.c: * tests/benchmarks/mass-elements.c: benchmarks: Fix the complexity and mass-elements benchmarks 2009-10-08 02:20:51 +0100 Jan Schmidt * tests/check/gst/gstchildproxy.c: checks: Fix string leaks in the new childproxy test 2009-10-08 02:03:08 +0100 Jan Schmidt * gst/gstplugin.c: plugin: Ignore an empty dependency list. If a plugin registers an empty dependency set, just ignore it rather than serialising and checking an empty set. 2009-10-08 02:01:54 +0100 Jan Schmidt * gst/gstregistrychunks.c: registrychunks: Fix off-by-one error. Improve debug. Fix an off-by-one error in the size guard for unpack_element, and improve various debug statements in the failure paths. Also, swap some g_new0 to g_malloc0 for the fun of it. 2009-10-07 16:02:58 -0700 Michael Smith * plugins/elements/gstfilesink.c: filesink: Use _wfopen on win32 to open files with non-ascii filenames correctly. 2009-10-07 23:31:20 +0100 Tim-Philipp Müller * gst/gstpad.c: * libs/gst/base/gstbitreader.c: * libs/gst/base/gstbytereader.c: docs: fix Since: tags in docs for newly-added API 2009-10-08 00:08:47 +0300 Stefan Kost * gst/gstinfo.c: info: revert two of the changes It only needed for the non constant string. 2009-10-07 23:36:45 +0300 Stefan Kost * gst/gstinfo.c: info: use a "%s" format string when printing the memory dump line We know that the content is save, but the compiler does not. 2009-10-07 23:23:08 +0300 Rob Clark * gst/parse/grammar.y: parse: don't format the string twice We were formatting the string once and then passing the string as a format string to the log functions. 2009-10-07 11:43:54 +0300 Stefan Kost * docs/gst/gstreamer-sections.txt: * gst/gstghostpad.c: * gst/gstpad.c: * gst/gstpad.h: * gst/gstutils.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: * win32/common/libgstreamer.def: pad: add variants of gst_pad_get_caps() that don't copy caps. Fixes #590941 In most places in core and baseclasses we just need the caps to do caps- intersections. In that case ref'ed caps are enough (no need to copy). This patch also switches the code to use the new functions. API: gst_pad_get_caps_refed(), gst_pad_peer_get_caps_refed() 2009-09-26 23:43:37 +0300 Stefan Kost * tests/check/gst/gstghostpad.c: tests: add ghostpad test for setting target again after pad is linked 2009-09-26 23:42:22 +0300 Stefan Kost * tests/check/gst/gstghostpad.c: tests: remove empty lines from wrong indent run 2009-10-07 20:38:49 +0100 Jan Schmidt * tests/check/libs/bytewriter.c: check: Fix compilation of the bytewriter test 2009-10-07 18:07:26 +0100 Tim-Philipp Müller * win32/common/libgstbase.def: win32: add new byte writer and reader API to .def file API: gst_byte_writer_*() 2009-08-20 14:24:19 -0700 Michael Smith * gst/gstelementfactory.c: elementfactory: fix spelling in comment 2009-10-07 18:40:46 +0200 Mark Nauwelaerts * plugins/elements/gstmultiqueue.c: multiqueue: flush queue upon fatal flowreturn and release upstream thread 2009-09-22 15:44:31 +0200 Mark Nauwelaerts * libs/gst/base/gstdataqueue.c: dataqueue: fix API documentation typo 2009-10-07 18:37:28 +0200 Sebastian Dröge * docs/libs/gstreamer-libs-docs.sgml: * docs/libs/gstreamer-libs-sections.txt: bytewriter: Add to the docs 2009-10-05 11:24:35 +0200 Sebastian Dröge * tests/check/Makefile.am: * tests/check/libs/bytewriter.c: bytewriter: Add unit test 2009-10-03 13:30:54 +0200 Sebastian Dröge * libs/gst/base/Makefile.am: * libs/gst/base/gstbytewriter.c: * libs/gst/base/gstbytewriter.h: bytewriter: Add a generic byte writer Fixes bug #590669. 2009-10-03 15:57:07 +0200 Sebastian Dröge * libs/gst/base/gstbitreader.c: * libs/gst/base/gstbitreader.h: * libs/gst/base/gstbytereader.c: * libs/gst/base/gstbytereader.h: bitreader/bytereader: API: Add gst_(bit|byte)_reader_get_size() ... and GST_(BYTE|BIT)_READER() casts. 2009-10-03 12:34:54 +0200 Sebastian Dröge * libs/gst/base/gstbitreader.c: * libs/gst/base/gstbytereader.c: bytereader,bitreader: Remove FIXME 0.11 to remove non-inlined functions The normal functions are always useful to have for bindings, especially runtime-created bindings like Seed or new GObject-Introspection based Python bindings. 2009-10-07 16:36:31 +0100 Jan Schmidt * tests/check/gst/gstiterator.c: check: Attempt to fix type-punning warning in the gstiterator test 2009-10-07 16:00:12 +0100 Jan Schmidt * tests/check/libs/gdp.c: check: Make sure to init the dataprotocol lib. Call the gst_dp_init() function to ensure that the debug category is initialised, to avoid g_criticals when running with GST_DEBUG=5 2009-10-07 15:47:45 +0100 Jan Schmidt * tests/check/libs/gdp.c: check: Use GST_DEBUG instead of g_message in the gdp test 2009-10-07 15:14:46 +0100 Jan Schmidt * tests/check/Makefile.am: check: Add GST_PLUGIN_SCANNER env var to the check environment 2009-10-07 14:34:17 +0100 Tim-Philipp Müller * gst/gstregistry.c: registry: improve plugin loader failure message for uninstalled setups Everyone running an uninstalled git setup is going to wonder about this failure next time they update, so let's mention the solution in the error message. 2009-10-07 13:59:47 +0100 Jan Schmidt * configure.ac: configure: Beef up the test for __uint128_t on GCC GCC 3.4.3 on the SPARC buildbot crashes when actually using __uint128_t. Beef up the configure test to detect that the type is actually usable. 2009-10-07 09:56:42 +0100 Tim-Philipp Müller * win32/common/libgstbase.def: win32: add new API to .def file And add API: marker in commit message that was omitted in the original commit: API: gst_data_queue_new_full() 2009-10-07 09:55:15 +0100 Tim-Philipp Müller * tests/benchmarks/.gitignore: benchmarks: add bufferstress binary to .gitignore 2009-10-07 09:42:55 +0100 Tim-Philipp Müller * configure.ac: configure: bump GLib requirement to 2.18 Bump GLib requirement as per the release planning docs. 2009-10-07 10:37:39 +0200 Wim Taymans * gst/gstmessage.h: message: whitespace fixes 2009-10-07 11:12:57 +0300 Stefan Kost * gst/gstutils.c: pad: flip the G_UNLIKELY Its likely that we have caps and unlikely (error) otherwise. 2009-10-07 11:04:56 +0300 Stefan Kost * docs/libs/gstreamer-libs-sections.txt: docs: add new queue api to the docs to fix the build 2009-09-28 15:25:22 +0200 Edward Hervey * plugins/elements/gstmultiqueue.c: plugins/multiqueue: Avoid instance check We know earlier on in the code whether we're handling an event or a buffer, just pass that information through. This commit and the previous commit reduce instruction fetch: * when pushing buffer (_chain) by 10% * when popping buffer (_loop) by 3% 2009-09-28 15:24:02 +0200 Edward Hervey * plugins/elements/gstmultiqueue.c: plugins/multiqueue: Cache input/output time, avoid expensive calls. * Cache the input/output time * Only recalculate it when needed. Avoids 50% calls to gst_segment_to_running_time 2009-10-07 10:00:05 +0300 Stefan Kost * docs/manual/basics-init.xml: * gst/gstpluginfeature.c: * gst/gstvalue.c: * plugins/elements/gstfilesink.h: * tests/benchmarks/gstbufferstress.c: * tests/benchmarks/gstclockstress.c: * tests/benchmarks/gstpollstress.c: * tests/examples/launch/mp3parselaunch.c: * tools/gst-launch.c: build: sprintf, sscanf need stdio.h 2009-10-05 11:46:34 +0300 Stefan Kost * gst/gstchildproxy.c: * tests/check/Makefile.am: * tests/check/gst/.gitignore: * tests/check/gst/gstchildproxy.c: childproxy: initialize gvalue in _valist function. Fixes #595602 Reflow the code to move error handling to the end of the functions. Initialize gvalue like we do in the setter. Add a unit-test module with two simple tests the catche this bug. 2009-10-01 17:39:45 +0300 Stefan Kost * gst/gstutils.c: pad: don't intersect with any in proxy_pad_get_caps We initialize the caps with any and if a pad has NULL caps, just skip it instead of intersecting with any. Also add branch prediction here. 2009-09-30 16:41:07 +0300 Stefan Kost * gst/gstutils.c: docs: rename aggregator to adder in the docs. 2009-09-30 09:47:23 +0300 Stefan Kost * tools/gst-launch.1.in: man: fix copy and past mistake for -q option 2009-10-07 09:54:41 +0200 Sebastian Dröge * docs/faq/gst-uninstalled: gst-uninstalled: Extend environment variables to allow using an uninstalled gstreamer-sharp 2009-09-28 15:19:44 +0200 Edward Hervey * plugins/elements/gstmultiqueue.c: plugins/multiqueue: Use new GstDataQueue constructor 2009-09-28 15:18:37 +0200 Edward Hervey * libs/gst/base/gstdataqueue.c: * libs/gst/base/gstdataqueue.h: gstdataqueue: new constructor which takes callbacks. This allows us to avoid going through glib's signalling system 2009-09-28 13:19:10 +0200 Edward Hervey * plugins/elements/gstmultiqueue.c: plugins/multiqueue: Use cached value instead of expensive object get. The task will always exist as long as its owner (i.e. the pad) and that owner's owner (i.e. multiqueue) exist. Reduces the number of instruction fetches by 36%. 2009-09-28 15:41:52 +0200 Edward Hervey * plugins/elements/gstqueue.c: plugins/queue: Use previous knowledge of data type to avoid typecheck. We know whether we have a buffer or an event, use that instead of going trough the expensive GLib typecheck. The overall instruction fetch reduction introduced by this commit and the 2 previous commits: * receiving a buffer (_chain) by 20% * popping a buffer (_loop) by 14% Numbers acquired through callgrind passing 100000 buffers through queue. 2009-09-28 15:20:06 +0200 Edward Hervey * plugins/elements/gstqueue.c: * plugins/elements/gstqueue.h: plugins/queue: Avoid useless segment_to_running_time() calculations. * Cache src and sink time * Use a boolean to know whether src/sink time need to be recalculated Avoids 50% calls to gst_segment_to_running_time() 2009-09-28 13:21:07 +0200 Edward Hervey * plugins/elements/gstqueue.c: plugins/queue: Just cast to the object parent instead of typechecking. 2009-09-23 16:19:32 +0200 Edward Hervey * tests/benchmarks/Makefile.am: * tests/benchmarks/gstbufferstress.c: benchmark: New benchmark for testing contention when creating buffers 2009-09-23 16:17:09 +0200 Edward Hervey * tools/gst-launch.c: gst-launch: Don't activate tracing if not requested. 2009-10-07 08:37:05 +0200 Edward Hervey * tests/check/libs/bytereader.c: tests: init more variables to avoid compiler warning on osx Init variable to avoid compiler warning and make the build bot happy (the compiler most likely complains about this because it doesn't know here that fail_unless will abort/exit in the path where it fails). 2009-09-26 11:43:06 +0200 Sebastian Dröge * plugins/elements/gstmultiqueue.c: multiqueue: Improve iterate internal links function Pads have their GstSingleQueue stored as element private data so there's no need to iterate over the list of single queues every time. Also every pad only has a single internal link so use a single iterator instead of a complex custom iterator. Set the element private data of the pad to NULL when freeing the single queue. 2009-09-17 16:30:43 -0400 Johan Bilien * gst/gstutils.c: introspection: Add annotations for gst_element_query_{duration,position} Fixes bug #595511. 2009-10-05 00:11:20 +0100 Tim-Philipp Müller * libs/gst/base/gstbytereader.c: * libs/gst/base/gstbytereader.h: bytereader: add inline version of gst_byte_reader_skip 2009-10-07 00:47:59 +0100 Tim-Philipp Müller * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: po: update translation files for new and changed strings 2009-09-28 22:43:51 +0200 Wim Taymans * gst/gstghostpad.c: ghostpad: take locks around smaller section We don't need the hold the proxy mutex locked for getting the internal pad and for linking the new target pad when we retarget. So take the lock a little later and release it earlier. Fixes #596366 2009-10-04 19:51:40 +0100 Tim-Philipp Müller * tests/check/libs/bytereader.c: tests: init variable to avoid compiler warning on osx Init variable to avoid compiler warning and make the build bot happy (the compiler most likely complains about this because it doesn't know here that fail_unless will abort/exit in the path where it fails). 2009-10-03 21:08:54 +0100 Tim-Philipp Müller * gst/gstbin.c: * gst/gstindex.c: * gst/gstpad.c: * gst/gstpadtemplate.c: * gst/gstxml.c: * gst/parse/grammar.y: gst: remove more unnecessary cast when using g_signal_*() 2009-10-03 20:49:54 +0100 Tim-Philipp Müller * libs/gst/base/gstdataqueue.c: * plugins/elements/gstfakesink.c: * plugins/elements/gstfakesrc.c: * plugins/elements/gstidentity.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstqueue.c: dataqueue, elements: avoid unnecessary runtime type checks 2009-10-05 16:41:50 +0100 Jan Schmidt * docs/random/release: docs: Update the release script Remove old cruft from the release script, and change some CVS references to equivalent git commands 2009-10-04 14:30:34 +0100 Jan Schmidt * gst/gstpluginloader.c: pluginloader: Add a magic number and maximum size limit. Guard against a hostile child process that sends bogus data due to memory corruption by adding a magic number to each packet, and limit the maximum size of any message to 32MB 2009-02-09 13:33:07 +0000 Jan Schmidt * gst/gstpluginloader.c: registry: Also check the binary registry chunk version of the child. When trying to find a function plugin-scanner, include a check on the version of the binary registry chunks it sends, to make sure it's what we understand. 2009-02-06 09:49:34 +0000 Jan Schmidt * configure.ac: * docs/faq/gst-uninstalled: * gst/gstpluginloader.c: * libs/gst/helpers/Makefile.am: registry: Support installed/uninstalled plugin-scanner helper Add a simple version check when starting the plugin-scanner so we can verify we're talking to one that talks the same language. First try a plugin-scanner in the installed path, then try one via the GST_PLUGIN_SCANNER env var if that doesn't work. Update the uninstalled script. Install the plugin-scanner to the libexec dir 2009-01-30 14:18:13 +0000 Jan Schmidt * configure.ac: * gst/gstregistry.c: Remove checking for and mentions of fork where possible. We no longer use fork() directly, instead using glib's spawn functionality, so don't check for it, and don't use it in the documentation notes. 2009-01-30 13:06:13 +0000 Jan Schmidt * tests/check/gst/gstregistry.c: Re-enable and fix disabled bit of the registry test 2009-01-30 13:04:52 +0000 Jan Schmidt * gst/gstregistry.c: Only load the registry cache once per process. When updating the registry, we don't need to re-read the registry cache and waste time replacing all our existing, hopefully identical, plugins and features that we're about to re-scan anyway. 2009-01-29 13:22:14 +0000 Jan Schmidt * gst/gstplugin.c: * gst/gstregistry.c: Add some more debug the registry. Add the full set of debug about why it's decided that a given plugin is stale or not, and include the plugin name when finalizing it. 2009-01-23 21:15:43 +0000 Jan Schmidt * gst/gstplugin.h: * gst/gstpluginloader.c: * gst/gstregistrychunks.c: * tools/gst-inspect.c: Add restarting of the plugin loader and blacklisting of broken files 2009-01-23 15:47:08 +0000 Jan Schmidt * gst/gstpluginloader.c: * gst/gstpluginloader.h: * gst/gstregistry.c: Plugin loader phase 2 phase 2 - make the plugin loader receive the list of plugins to load and send back the results asynchronously, so we don't context switch back and forth so much. 2009-03-14 23:07:40 +0000 Jan Schmidt * configure.ac: * docs/gst/gstreamer-sections.txt: * gst/Makefile.am: * gst/gst_private.h: * gst/gstpluginloader.c: * gst/gstpluginloader.h: * gst/gstregistry.c: * gst/gstregistry.h: * gst/gstregistrybinary.c: * gst/gstregistrybinary.h: * gst/gstregistrychunks.c: * gst/gstregistrychunks.h: * libs/gst/Makefile.am: * libs/gst/helpers/.gitignore: * libs/gst/helpers/Makefile.am: * libs/gst/helpers/plugin-scanner.c: * tests/check/gst/gstregistry.c: * win32/common/libgstreamer.def: registry: Add registry helper phase 1 Phase 1 of adding the registry scan helper 2009-09-14 23:31:10 +0100 Jan Schmidt * gst/gst.c: * gst/gstregistry.c: registry: Rearrange some things. Prepare to land the external plugin helper process 2009-10-06 19:41:38 +0100 Jan Schmidt * configure.ac: Back to development -> 0.10.25.1 === release 0.10.25 === 2009-10-05 12:57:03 +0100 Jan Schmidt * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/gstreamer-plugins.args: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * gstreamer.doap: Release 0.10.25 2009-10-05 12:41:42 +0100 Jan Schmidt * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files 2009-10-01 16:24:52 +0100 Jan Schmidt * ChangeLog: * configure.ac: * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: 0.10.24.4 pre-release 2009-09-30 15:52:33 +0100 Jan Schmidt * libs/gst/check/Makefile.am: libgstcheck: Don't use character classes in sed expressions Apparently the sed that ships on Solaris 10 doesn't support character classes like [:alnum:], so don't use them. We don't need them for the symbol names that are being extracted anyway. Also, use $(SED) instead of 'sed' Fixes: #596877 2009-09-17 01:20:03 +0100 Jan Schmidt * configure.ac: * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: 0.10.24.3 pre-release 2009-09-15 09:41:28 +0200 Sebastian Dröge * tests/check/gst/gstutils.c: utils: Fix GMP scaling unit test GMP only uses "unsigned long int", which is 32 bit on 32 bit architectures and can't hold a guint64. This resulted in false unit test failures on 32 bit architectures. Fixes bug #595133. 2009-09-14 12:47:26 -0700 David Schleef * configure.ac: * libs/gst/check/Makefile.am: Fix out-of-tree build 2009-09-14 14:07:55 +0300 Stefan Kost * gst/gstmessage.h: docs: GST_MESSAGE_STREAM_STATUS is implemented nowadays. Docs were still mention it as "not yet implemented". 2009-09-12 13:52:00 +0200 Sebastian Dröge * Makefile.am: * libs/gst/base/Makefile.am: * libs/gst/check/Makefile.am: * libs/gst/controller/Makefile.am: * libs/gst/dataprotocol/Makefile.am: * libs/gst/net/Makefile.am: introspection: Build pkgconfig before all libraries and set PKG_CONFIG_PATH This way g-ir-scanner can find the gstreamer-0.10 pkg-config file. 2009-09-12 13:51:29 +0200 Sebastian Dröge * gst/Makefile.am: * gst/gsttaglist.h: introspection: Don't typedef GstTagList to GstStructure for gobject-introspection 2009-09-11 23:21:30 +0100 Jan Schmidt * ChangeLog: * configure.ac: * po/LINGUAS: * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: 0.10.24.2 pre-release 2009-09-11 22:42:51 +0100 Jan Schmidt * gst/gstmessage.c: Don't use C++ style comments 2009-09-11 22:22:34 +0100 Jan Schmidt * gst/gstmessage.c: message: Disable restriction that structure changes are sink pads The structure_change message was originally emitted on source pads and then recently changed to be sink pads. This causes a failure in the gst-python testsuite. Disable the restriction so that the published behaviour is still allowed. 2009-09-11 18:24:18 +0100 Jan Schmidt * tests/check/gst/gstplugin.c: check: Fix version check tests Accomodate the slightly changed semantics in the plugin version check where a CVS version just before a release is acceptable. 2009-09-11 21:20:57 +0300 Stefan Kost * gst/gstregistrybinary.c: binaryregistry: don't crash in cleaning up on error. Don't dereference NULL pointers. 2009-07-20 12:54:00 -0700 David Schleef * gst/gstinfo.h: debug: use dummy code to avoid spurious semicolons Fixes bug #589173. 2009-09-10 11:53:09 +0200 Wim Taymans * gst/gstelementfactory.c: * gst/gstelementfactory.h: * gst/gstpluginfeature.h: whitespace fixes 2009-09-10 11:41:56 +0200 Wim Taymans * gst/gstpluginfeature.c: pluginfeature: improve version check Also parse the nano of the version and assume that X.Y.Z-1.1 >= X.Y.Z With this change we can also check development versions against the version of the upcomming release. 2009-09-10 10:05:38 +0200 Sebastian Dröge * gst/gsttaglist.h: taglist: Add FIXME for 0.11 to not typedef GstTagList to be a GstStructure See bug #518934. 2009-09-09 16:29:10 -0700 David Schleef * gst/gstelement.h: Fix typo in inline documentation 2009-09-09 17:57:54 +0100 Tim-Philipp Müller * common: Update common 2009-09-09 18:38:29 +0200 Sebastian Dröge * gst/gstutils.c: utils: Add a comment to the scaling functions to explain why the rounding is correct 2009-09-09 16:45:17 +0200 Wim Taymans * gst/gstghostpad.c: ghostpad: don't unref NULL caps Caps can be NULL so don't call unref on it unconditionally, instead use an existing exit pad for the function. 2009-09-09 14:53:16 +0200 Sebastian Dröge * configure.ac: * gst/gstutils.c: utils: Use gcc's __uint128_t for 64bit unsigned integer scaling This is available in newer gcc releases and it should only exist on platforms that provide some native 128bit integer arithmetic instructions. The x86-64 assembly for this is still kept for non-gcc compilers that don't provide __uint128_t magic. 2009-09-09 09:38:54 +0300 Stefan Kost * docs/random/ensonic/draft-bufferpools.txt: design: add ideas for buffer management Right now we're operating suboptimal when talking to kernel interfaces. Write doesn some ideas. 2009-09-07 18:27:08 +0200 Wim Taymans * libs/gst/base/gstpushsrc.h: * plugins/elements/gstfakesrc.c: fix whitespace 2009-09-03 19:06:28 +0200 Wim Taymans * libs/gst/base/gstadapter.h: adapter: fix whitespace 2009-09-07 16:14:57 +0200 Benjamin Otte * gst/gstvalue.c: docs: Fix typo in gst_value_union() 2009-09-06 19:43:47 +0100 Tim-Philipp Müller * libs/gst/base/gstbitreader.c: * libs/gst/base/gstbitreader.h: * libs/gst/base/gstbytereader.c: bitreader, bytereader: add some FIXME 0.11 comments and fix indenting 2009-09-04 17:15:35 +0100 Tim-Philipp Müller * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstbytereader-docs.h: * libs/gst/base/gstbytereader.c: * libs/gst/base/gstbytereader.h: bytereader: add unchecked and inline versions of the float getters/peekers API: gst_byte_reader_get_float*_unchecked() 2009-09-04 16:52:06 +0100 Tim-Philipp Müller * libs/gst/base/gstbytereader.c: * libs/gst/base/gstbytereader.h: bytereader: add inline versions of the most common getters and setters 2009-09-02 11:20:04 +0100 Tim-Philipp Müller * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/Makefile.am: * libs/gst/base/gstbytereader-docs.h: * libs/gst/base/gstbytereader.c: * libs/gst/base/gstbytereader.h: * tests/check/libs/bytereader.c: bytereader: add inlined _unchecked() variants for some functions API: gst_byte_reader_skip_unchecked() API: gst_byte_reader_peek_*_unchecked() API: gst_byte_reader_get_*_unchecked() API: gst_byte_reader_{peek,get,dup}_data_unchecked() 2009-09-05 12:30:07 +0200 Sebastian Dröge * libs/gst/base/Makefile.am: * libs/gst/check/Makefile.am: * libs/gst/controller/Makefile.am: * libs/gst/dataprotocol/Makefile.am: * libs/gst/net/Makefile.am: introspection: Strip Gst prefix from all types/functions 2009-09-05 12:22:37 +0200 Sebastian Dröge * gst/Makefile.am: introspection: Fix for out-of-tree builds 2009-09-05 12:04:59 +0200 Sebastian Dröge * libs/gst/base/Makefile.am: * libs/gst/check/Makefile.am: * libs/gst/controller/Makefile.am: * libs/gst/dataprotocol/Makefile.am: * libs/gst/net/Makefile.am: introspection: Fix out-of-tree build 2009-09-05 11:51:55 +0200 Sebastian Dröge * libs/gst/base/Makefile.am: * libs/gst/check/Makefile.am: * libs/gst/controller/Makefile.am: * libs/gst/dataprotocol/Makefile.am: * libs/gst/net/Makefile.am: introspection: Fix build if gir-repository is not installed 2009-09-05 09:36:21 +0200 Sebastian Dröge * libs/gst/net/Makefile.am: net: Add gobject-introspection support 2009-09-05 09:34:30 +0200 Sebastian Dröge * libs/gst/dataprotocol/Makefile.am: dataprotocol: Add gobject-introspection support Because of a bug in gobject-introspection this is disabled for now. 2009-09-05 09:28:48 +0200 Sebastian Dröge * libs/gst/controller/Makefile.am: controller: Add gobject-introspection support 2009-09-05 09:27:04 +0200 Sebastian Dröge * libs/gst/check/Makefile.am: check: Add gobject-introspection support 2009-09-05 09:23:19 +0200 Sebastian Dröge * .gitignore: * gst/.gitignore: * libs/gst/base/Makefile.am: gstbase: Add gobject-introspection support 2009-09-04 20:56:43 +0200 Sebastian Dröge * configure.ac: * gst/.gitignore: * gst/Makefile.am: * gst/gst.c: gst: Add gobject-introspection support Partially fixes bug #550616. 2009-09-05 10:19:23 +0200 Sebastian Dröge * common: Automatic update of common submodule From 94f95e3 to 19fa4f3 2009-09-04 19:37:15 +0100 Tim-Philipp Müller * libs/gst/base/gstbytereader.c: docs: fix docs for gst_byte_reader_{get|peek}_float*() 2009-09-04 11:35:59 +0200 Wim Taymans * gst/gstevent.h: event: whitespace fixes 2009-09-04 09:51:26 +0200 Aurelien Grimaud * gst/gstbin.c: bin: Only unref EOS message after it is not used anymore Fixes bug #594107. 2009-09-02 18:54:06 +0200 Wim Taymans * gst/gstbin.c: * gst/gstmessage.c: * gst/gstpad.c: states: post structure change on sinkpads Post the structure change messages on the sinkpads of the elements. This allows us to catch unlinked pads earlier without ending up with inconsistent element degrees. 2009-09-02 18:13:22 +0200 Wim Taymans * gst/gstbin.c: bin: avoid false 'loop detected' warnings When we detect a pad unlink in progress, we will not be updating the degree of the parent element. This can cause false loop detected warnings because the degree counter is invalid. Handle this case by marking the iterator as 'dirty' when we detect a pad unlink and avoid emiting the warning in this case. We have to continue our state change as good as we can, we will eventually resync when the pad unlink completed. 2009-09-01 16:49:56 +0200 Wim Taymans * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasesrc.h: basesrc: whitespace fixes 2009-09-01 16:49:22 +0200 Wim Taymans * gst/gstbuffer.h: buffer: whitespace fixes 2009-09-01 12:07:31 +0100 Jan Schmidt * tests/examples/Makefile.am: dist: Don't list the streams subdir twice in examples Makefile Listing the 'streams' subdir twice in DIST_SUBDIRS breaks distcheck. 2009-09-01 12:05:51 +0100 Jan Schmidt * gst/gstbin.c: gstbin: Don't propagate a NULL cached index to added elements When an element is added to the bin, only set the index if we have a cached index, rather than setting a NULL index on elements that might have a default index object of their own. 2009-07-19 21:23:18 +0100 Jan Schmidt * docs/random/release: docs: Add a note about regenerating the changelog in the release script 2009-09-01 10:03:35 +0100 Tim-Philipp Müller * gst/gstelement.c: element: don't take object lock for g_critical() and flesh out warning message some more 2009-09-01 10:21:31 +0200 Sebastian Dröge * tests/check/gst/gstiterator.c: iterator: Add unit test for the single iterator 2009-09-01 10:20:59 +0200 Sebastian Dröge * gst/gstiterator.c: iterator: Only visit the element a single time in the single iterator 2009-09-01 07:27:25 +0200 Sebastian Dröge * gst/gstiterator.c: iterator: Fix single iterator for NULL objects and non-GTypeInstance objects Fixes bug #593719. 2009-09-01 00:00:57 +0300 Stefan Kost * gst/gstelement.c: debug: more detail in wrong-state-on-dispose error. Also tell in which state the element actualy is and if it is eventualy state-locked. 2009-08-31 20:38:07 +0200 Wim Taymans * gst/gstiterator.c: iterator: fix docs for _new_single(). 2009-08-31 16:56:22 +0100 Tim-Philipp Müller * gst/gstghostpad.c: * gst/gstiterator.c: * gst/gstiterator.h: docs: it's its The panda says no! 2009-08-29 20:44:36 +0200 Mark Nauwelaerts * gst/gstelementfactory.c: registry: fill in elementfactory when registering element elementfactory field is filled in by gst_element_base_class_init, but it needs some info set on the element's type, so have it available prior to class structure creation spinning up. This affects elements that have a well-known/public type (e.g. pipeline) and can be created by other means than gst_element_factory_make (which will also fill in the element's factory). 2009-08-31 11:45:17 +0200 Wim Taymans * gst/gstutils.c: utils: use 128bits division on x86_64 2009-08-29 04:44:51 +0400 Руслан Ижбулатов * gst/gstsystemclock.c: systemclock: fix compilation of win32 code Fixes #593460. 2009-08-28 18:37:44 +0200 Wim Taymans * gst/gstbin.c: bin: cache index Cache the last index that was set with _set_index() and return this in the _get_index() call. Set the cached index on newly added elements. Fixes #566881 2009-08-28 18:35:54 +0200 Wim Taymans * gst/gstelement.c: element: better type checks Add GST_CLOCK typecheck for _set_clock(). Allow setting NULL indexes on element (clear the current index) Some whitespace fixes. 2009-08-28 18:14:23 +0200 Wim Taymans * gst/gstelement.h: element; whitespace fixes 2009-08-28 18:06:45 +0200 Wim Taymans * win32/common/libgstreamer.def: defs: add gst_iterator_new_single to defs 2009-08-28 18:03:44 +0200 Wim Taymans * libs/gst/base/gstadapter.c: adapter: whitespace fixes 2009-08-28 17:59:15 +0200 Thijs Vermeir * libs/gst/base/gstbasetransform.c: Check suggested caps for proxy alloc Because we are trying to resolve a suggestion here we don't need to check on caps for proxy_alloc but we need to check on the suggested caps instead. 2009-08-28 17:49:11 +0200 Wim Taymans * plugins/elements/gstqueue.c: * plugins/elements/gstqueue.h: queue: whitespace fixes 2009-08-28 17:02:30 +0200 Wim Taymans * gst/gstsystemclock.c: systemclock: use preformance counters on windows Based on clock implementation by Håvard Graff Try to get the time on windows using the performance counters. These have a much higher resolution and accuracy than the regular getcurrenttime(). Be careful to fall back to regular getcurrenttime() or posix clocks when performance counters are not available. 2009-08-28 16:07:16 +0200 Wim Taymans * gst/gstsystemclock.h: systemclock: fix indentation 2009-08-28 15:32:26 +0200 Wim Taymans * gst/gstutils.c: utils: use shift instead of division We can use a shift for scaling the denominator instead of a divide since the denom is always positive. This avoids having the compiler generate code for the different rounding rules when scaling negative values. 2009-08-28 13:45:38 +0200 Wim Taymans * gst/gstutils.c: utils: make inlining explicit 2009-08-28 12:43:43 +0200 Wim Taymans * gst/gstutils.c: utils: optimize for x86_64 with some inline asm 64bit x86 has native 64x64->128 bit multiply that we can use with some inline assembler to speed up large multiplications. Use bsr to find the number of leading zeros more efficiently. 2009-08-28 12:33:37 +0200 Wim Taymans * gst/gstutils.c: utils: factor out the leading zero count code 2009-08-28 12:30:41 +0200 Wim Taymans * gst/gstutils.c: utils: pass correction factor around Pass the correction factor around to get rid of the enum, some code and some branches. 2009-08-28 12:21:28 +0200 Wim Taymans * gst/gstutils.c: utils: whitespace fixes 2009-08-28 12:19:34 +0200 Wim Taymans * gst/gstutils.c: utils: move common correction code in a macro 2009-08-24 18:01:07 +0200 Wim Taymans * libs/gst/base/gstbasesink.h: basesink: whitespace fixes 2009-08-26 16:51:32 +0200 Sebastian Dröge * gst/gstiterator.c: iterator: Allow to use NULL as object for the single iterator 2009-08-26 16:39:19 +0200 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gstiterator.c: * gst/gstiterator.h: iterator: API: Add gst_iterator_new_single() This allows "iteration" over a single object of some type, which happens often for the GstPadIterIntLinksFunction for example. 2009-08-24 17:57:16 +0200 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: return result of _set_caps() 2009-08-24 17:56:32 +0200 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: whitespace fixes 2009-08-22 14:22:31 -0700 David Schleef * gst/gstobject.h: * gst/gsttrace.h: * gst/gstxml.h: It's __GNUC__, not _GNUC_ This appears to be an 8 year old bug. 2009-08-21 09:59:58 +0100 Tim-Philipp Müller * docs/pwg/building-boiler.xml: docs: add link to cgit tarball download of gst-template in PWG So people who can't use git for some reason still can get hold of the code. See #591069. 2009-08-20 11:54:40 +0100 Tim-Philipp Müller * gst/gstpluginfeature.c: pluginfeature: add guard to gst_plugin_feature_type_name_filter So we don't just crash if there's a refcounting bug somewhere else. 2009-08-19 16:24:39 +0200 Sebastian Dröge * docs/manual/appendix-integration.xml: docs: Don't talk about the deprecated libgnome and GNOME-VFS Instead talk about GIO and change the option parsing example to not initialize libgnome but only GTK. Fixes bug #592233. 2009-08-19 15:25:41 +0200 Sebastian Dröge * tests/examples/Makefile.am: * tests/examples/streams/Makefile.am: examples: Link rtpool-test to libpthread for using the POSIX threads Also the other streams example can run without pthreads therefore enable it even if pthreads are not available. Fixes bug #592314. 2009-08-18 14:45:23 +0200 Sebastian Dröge * tools/gst-inspect.c: * tools/gst-xmlinspect.c: tools: Use iterate_internal_links instead of deprecated get_internal_links 2009-08-18 14:45:02 +0200 Sebastian Dröge * plugins/elements/gstmultiqueue.c: * plugins/elements/gstmultiqueue.h: multiqueue: Use iterate_internal_links instead of deprecated get_internal_links 2009-08-18 14:05:40 +0200 Sebastian Dröge * gst/gstpad.c: * gst/gstpad.h: gstpad: Add some DISABLE_DEPRECATED markers in the header too The internal links function is deprecated since some time and there already were GST_REMOVE_DEPRECATED markers in the source file, now add them to the header too. Fixes bug #592209. 2009-08-18 11:38:38 +0200 Sebastian Dröge * docs/design/part-states.txt: docs: Update the design docs for bin state changes according to last commit 2009-08-18 11:36:36 +0200 Antoine Tremblay * gst/gstbin.c: gstbin: Don't try to change children's state if they're already in the state we want Fixes bug #368536. 2009-08-18 11:33:17 +0200 Sebastian Dröge * gst/gstghostpad.c: ghostpad: Always get the proxypad's ghostpad via the ghostpad in the src caps change notify handler Before the signal handler would get the ghostpad passed as second argument but it could've already been unreffed and destroyed. This would then lead to crashes and all that. Now we get the ghostpad from the proxy pad, which we get from the target pad as it's peer. Fixes bug #591318. 2009-08-18 08:45:08 +0200 Laurent Glayal * plugins/elements/gstfilesink.c: * plugins/elements/gstfilesink.h: filesink: Add property to allow to append to an already existing file Fixes bug #591441. 2009-08-14 11:53:14 +0200 Sebastian Dröge * configure.ac: configure: Remove duplicated check for clock_gettime 2009-08-14 11:12:50 +0200 Sebastian Dröge * configure.ac: * tests/check/Makefile.am: * tests/check/gst/gstutils.c: gstutils: Add special random unit test for 64 scaling functions This tests 100000 random multiplications/divisions of all scaling function variants and compares the result with the result that is generated by GMP on the same input. For this check for GSL and GMP during configure but only use it for this single unit test. Testing functions were provided by Kipp Cannon 2009-08-13 16:31:01 +0200 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * win32/common/libgstreamer.def: gstutils: Add new scaling functions to the docs 2009-08-13 16:20:46 +0200 Sebastian Dröge * tests/check/gst/gstutils.c: gstutils: Add (very) minimal unit test for the new rounding scaling functions 2009-08-13 16:10:31 +0200 Kipp Cannon * gst/gstutils.c: * gst/gstutils.h: gstutils: API: Add rounding to nearest and next integer versions of the 64 bit integer scaling functions The new functions are gst_util_uint64_scale_int_round() gst_util_uint64_scale_int_ceil() gst_util_uint64_scale_round() gst_util_uint64_scale_ceil() Fixes bug #590919. 2009-08-12 11:10:05 +0200 Kipp Cannon * gst/gstutils.c: gstutils: Revert parts of last change to optimize the scaling functions again Partially fixes bug #590919. 2009-08-11 09:16:38 +0200 Sebastian Dröge * gst/gstutils.c: gstutils: Fix violations of strict-aliasing rules in gst_util_uint64_scale() 2009-08-11 09:10:47 +0200 Kipp Cannon * gst/gstutils.c: gstutils: Refactor gst_util_uint64_scale() This will later make it possible to provide rounding versions of it without much code duplication. Partially fixes bug #590919. 2009-08-11 15:20:18 +0200 Jonas Holmberg * gst/gstbufferlist.c: bufferlist: update doc string 2009-08-11 13:21:35 +0200 Sebastian Dröge * gst/gstsegment.c: * tests/check/gst/gstsegment.c: gstsegment: Actually start==stop==segment_start is inside the segment Still the old code was wrong as it claimed that start==stop * tests/check/gst/gstsegment.c: gstsegment: Fix unit test and add an additional test The previous test assumed that start=stop=segment_start will be inside the segment but this is wrong. 2009-08-11 12:59:13 +0200 Sebastian Dröge * gst/gstsegment.c: gstsegment: Clipping should detect start=stop * tests/check/gst/gstbus.c: gstbus: Unref pipeline after usage in test_custom_main_context unit test This makes the core unit tests valgrind clean again. 2009-08-11 02:54:55 +0100 Edward Hervey * docs/random/moving-plugins: docs: add Edward's git plugin moving howto to moving-plugins document 2009-08-10 14:30:34 +0100 Tim-Philipp Müller * tests/check/gst/gstobject.c: checks: don't forget to include config.h in the GstObject unit test 2009-08-10 13:05:57 +0100 Tim-Philipp Müller * configure.ac: * tests/check/gst/gstobject.c: checks: try to fix GstObject unit test on OSX Seems like we get SIGBUS instead of SIGSEGV here when GLib crashes where it shouldn't crash (and we even have a unit test for that!). 2009-08-10 12:01:48 +0100 Tim-Philipp Müller * tests/check/pipelines/parse-launch.c: checks: set pipelines to NULL state in parse-launch unit test Fixes timeouts in gst_task_cleanup_all(). 2009-08-10 11:42:25 +0100 Tim-Philipp Müller * tests/check/gst/gstbus.c: checks: set pipeline back to NULL state in GstBus unit test Fixes timeout in gst_task_cleanup_all(). 2009-08-10 11:43:52 +0100 Tim-Philipp Müller * libs/gst/check/gstcheck.h: check: add some logging before calling gst_task_cleanup_all() 2009-08-08 22:27:06 +0200 Sebastian Dröge * libs/gst/check/gstcheck.h: check: Call gst_task_cleanup_all() in GST_END_TEST This fixes many unit tests under valgrind that shows leaking GstTasks that are not really leaked but just not unreffed by the task thread before the unit test stopped. Fixes bug #591045. 2009-08-08 14:47:57 +0200 Edward Hervey * libs/gst/base/gstbasesink.c: basesink: Remove dead assignments 2009-08-08 14:47:40 +0200 Edward Hervey * gst/gstdebugutils.c: * gst/gstpad.c: * gst/gsttask.c: gst: Remove dead assignments 2009-08-07 02:36:29 +0100 Tim-Philipp Müller * tests/check/pipelines/.gitignore: gitignore: ignore new queue-error test 2009-08-06 20:40:07 +0100 Tim-Philipp Müller * libs/gst/check/Makefile.am: check: add internal-check.h to BUILT_SOURCES in attempt to fix the build For some people the build of libgstcheck was broken because the make target that creates the internal-check.h file wasn't executed for some reason. This should hopefully fix this. 2009-08-06 18:38:16 +0100 Tim-Philipp Müller * autogen.sh: autogen.sh: older aclocals don't like -I. so use -I . instead 2009-08-06 18:47:32 +0200 Wim Taymans * gst/gstbuffer.c: gstbuffer: add additional checking for writability Check for metadata writability when setting caps on buffer or when copying metadata flags. Only enable these extra assertions in git versions. This should help us find bad elements. 2009-08-04 10:22:25 +0100 Tim-Philipp Müller * configure.ac: check: disable unit test support on win32 for now Until we make the internal libcheck work on windows. 2009-07-19 17:04:58 +0100 Tim-Philipp Müller * .gitignore: * libs/gst/check/Makefile.am: check: fix symbol exporting 2009-07-17 00:46:32 +0100 Tim-Philipp Müller * Makefile.am: * check-checks.m4: * libs/gst/check/libcheck/check_pack.c: check: fix issues with 'make distcheck' Seems to work now, at least on *nix. One of the configure checks caused these weird issues - but which one? 2009-08-06 17:27:12 +0100 Tim-Philipp Müller * Makefile.am: * autogen.sh: * check-checks.m4: * configure.ac: * docs/libs/gstreamer-libs-sections.txt: * libs/gst/check/.gitignore: * libs/gst/check/Makefile.am: * libs/gst/check/gstcheck.h: * libs/gst/check/libcheck/Makefile.am: * pkgconfig/gstreamer-check-uninstalled.pc.in: * pkgconfig/gstreamer-check.pc.in: check: use private copy of check for libgstcheck See #577275. Seems to work fine, but doesn't distcheck yet. 2009-07-16 18:39:16 +0100 Tim-Philipp Müller * libs/gst/check/libcheck/Makefile.am: * libs/gst/check/libcheck/check.c: * libs/gst/check/libcheck/check.h.in: * libs/gst/check/libcheck/check_error.c: * libs/gst/check/libcheck/check_error.h: * libs/gst/check/libcheck/check_impl.h: * libs/gst/check/libcheck/check_list.c: * libs/gst/check/libcheck/check_list.h: * libs/gst/check/libcheck/check_log.c: * libs/gst/check/libcheck/check_log.h: * libs/gst/check/libcheck/check_msg.c: * libs/gst/check/libcheck/check_msg.h: * libs/gst/check/libcheck/check_pack.c: * libs/gst/check/libcheck/check_pack.h: * libs/gst/check/libcheck/check_print.c: * libs/gst/check/libcheck/check_print.h: * libs/gst/check/libcheck/check_run.c: * libs/gst/check/libcheck/check_str.c: * libs/gst/check/libcheck/check_str.h: check: add internal copy of check-0.9.6 Not hooked up yet. See #577275. 2009-08-06 14:11:46 +0100 Tim-Philipp Müller * gst/gstcaps.c: docs: fix Since: tag for new gst_caps_can_intersect() function 2009-07-22 11:24:59 +0300 Stefan Kost * gst/gstutils.c: utils: use new _caps_can_intersect() 2009-07-22 11:24:08 +0300 Stefan Kost * gst/gstpad.c: pad: use new _caps_can_intersect() 2009-07-22 09:54:55 +0300 Stefan Kost * libs/gst/base/gstbasetransform.c: basetransform: use new _caps_can_intersect() 2009-07-22 09:38:10 +0300 Stefan Kost * docs/gst/gstreamer-sections.txt: * gst/gstcaps.c: * gst/gstcaps.h: * win32/common/libgstreamer.def: caps: add gst_caps_can_intersect() Often we don't need the result of the intersection. Add a variant that only tries to intersect. It can break out earlier and does less GValue copying. API: gst_caps_can_intersect() 2009-07-22 09:24:55 +0300 Stefan Kost * libs/gst/base/gstbasetransform.c: basetransform: only check caps_is_fixed() if they changed The previous code could call gst_caps_is_fixed() for the same caps many times. 2009-07-21 13:31:13 +0300 Stefan Kost * gst/gstcaps.c: caps: split callback for structure intersect into two functions We call this separately. there is no much benefit in reusing the callback. Splitting is let us remove a branch also. 2009-07-21 13:27:09 +0300 Stefan Kost * gst/gstcaps.c: logging: log if we copy caps to be able to track it 2009-07-21 11:32:01 +0300 Stefan Kost * gst/gstcaps.c: caps: add comments about g_ptr_array size behaviour Just explain the behaviour to avoid that someone else is wasting time trying to improve this too. 2009-07-21 11:14:20 +0300 Stefan Kost * tests/examples/controller/audio-example.c: example: unref the clock id 2009-07-21 10:56:53 +0300 Stefan Kost * gst/gstpad.c: pad: use correct variable in test 2009-07-28 16:13:37 +0300 Stefan Kost * gst/gstregistrybinary.c: registry: add filename to debug message, like elsewhere 2009-07-21 10:38:15 +0300 Stefan Kost * gst/gstbin.c: bin: fix compiler warning about unused var when disabling debug logging 2009-08-06 13:29:29 +0200 Mark Nauwelaerts * plugins/elements/gstqueue.c: queue: post error message when pausing task If downstream returns error and upstream has already delivered everything (including EOS) and will no longer be around to find out that we paused (and why), post error message. Fixes #589991. 2009-07-28 12:03:36 +0200 Mark Nauwelaerts * tests/check/Makefile.am: * tests/check/pipelines/queue-error.c: queue: add unit test Make a downstream element return an error after upstream has already put all data into queue (including EOS). As such, upstream will not be around to pick up the error, so it is up to queue to act appropriately. See #589991. Note there may be downstream fatal errors (e.g. negotiation) that do not warrant an error message already having been posted. 2009-08-05 18:02:31 +0200 Wim Taymans * libs/gst/base/gstbasetransform.c: basetransform: clarify _caps_is_equal() 2009-08-05 17:58:20 +0200 Wim Taymans * libs/gst/base/gstbasetransform.c: basetransform: refactor metadata modifications Check when we need to touch the metadata of the output buffer after selecting the output buffer so that we have everything in one place. Also take flags and timestamp modifications into account. 2009-08-05 17:55:14 +0200 Wim Taymans * plugins/elements/gstcapsfilter.c: capsfilter: only set caps when different When we have an input buffer with caps and when those caps are different from the caps we want, only then make a writable copy of the input buffer as the output buffer and set the caps on that output buffer. This avoids some cases where we took a subbuffer for setting caps that were the same. 2009-08-05 15:28:59 +0200 Wim Taymans * libs/gst/base/gstbasetransform.c: basetransform: enable optimisation When we have the same input as output caps, reuse the input caps object. After the caps refcounting has been sorted out now, we can finally enable this optimisation. 2009-08-05 13:48:40 +0200 Wim Taymans * tests/check/gst/gstpad.c: tests: don't set caps on unwritable buffers Take the ref after setting the caps on a buffer because else the buffer is techinically not writable. 2009-08-05 13:47:33 +0200 Wim Taymans * plugins/elements/gstqueue.c: queue: get caps after making writable Get the caps of the buffer after we made the buffer writable. This did not cause any problems but it's nicer this way. 2009-08-05 13:46:42 +0200 Wim Taymans * plugins/elements/gstcapsfilter.c: capsfilter: fix refcounting problem Make sure the metadata is writable before setting the caps on a buffer. 2009-08-05 13:44:51 +0200 Wim Taymans * libs/gst/base/gstbasetransform.c: basetransform: fix refcounting problem Add some more debug info. Make sure that the output buffer has writable metadata before we attempt to set caps on it. fixes #583999 2009-08-05 13:44:13 +0200 Wim Taymans * gst/gstcaps.c: caps: add some more debugging in _replace 2009-08-05 13:43:10 +0200 Wim Taymans * gst/gstpad.c: pad: Add some more debugging 2009-08-05 13:41:33 +0200 Wim Taymans * gst/gstghostpad.c: ghostpad: small improvements Unref the target pad after we used it for debugging. Add some more debug. Only replace caps when they changed. 2009-07-29 13:46:35 +0200 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: cleanups in position queries Use existing boolean flag to pass position queries upstream. Also add upstream queries for the last position queries. 2009-08-05 13:25:33 +0100 Tim-Philipp Müller * configure.ac: configure.ac: fix libxml2 check, which is only needed for xml load/save now Since the registry doesn't use libxml2 any longer, it's no longer necessary to disable both xml load/save *and* the registry to get rid of the libxml2 dependency, disabling just xml loading/saving is enough. Fixes #590841. 2009-08-02 14:33:59 +0100 Tim-Philipp Müller * docs/faq/gst-uninstalled: gst-uninstalled: rename uninstalled registry file to registry.dat We're not using the xml registry any longer after all. 2009-08-02 14:28:38 +0100 Tim-Philipp Müller * docs/faq/gst-uninstalled: gst-uninstalled: refine search paths for uninstalled plugin modules Use more refined search paths for our plugin modules. Not only does this make things much faster in an uninstalled setup, it also makes sure we're not accidentally using out-of-date plugins built ages ago as part of a (failed) 'make distcheck' when we forget to clean up the distcheck build directory. 2009-07-29 23:42:39 +0100 Tim-Philipp Müller * docs/design/Makefile.am: docs: dist GStreamer-1.0 buffer design draft 2009-08-06 06:50:41 +0200 Sebastian Dröge * docs/gst/gstreamer-sections.txt: taglist: Add new ALBUM_ARTIST tag to the docs 2009-08-04 14:13:34 +0200 John Millikin * gst/gsttaglist.c: * gst/gsttaglist.h: taglist: Add support for ALBUM_ARTIST tag The "album artist" tag is used when the artist of an entire album differs from the artist of an individual track; for example, when a "guest artist" appears on an album, or on compilations. Fixes bug #590430. 2009-07-29 13:33:11 +0200 Stian Selnes * libs/gst/base/gstbasesink.c: basesink: Query upstream for the position if conversion in PAUSED failed Fixes bug #590045. 2009-07-28 20:42:20 +0200 Kipp Cannon * libs/gst/base/gstbasetransform.c: basetransform: Improve debug output in gst_base_transform_acceptcaps() Fixes bug #589524. 2009-07-22 09:01:56 +0200 Sebastian Dröge * libs/gst/base/gstbasetransform.c: basetransform: Don't unset GAP flag if working in passthrough mode Fixes bug #589314. 2009-08-06 01:43:57 +0100 Jan Schmidt * configure.ac: back to development -> 0.10.24.1 === release 0.10.24 === 2009-08-05 00:51:16 +0100 Jan Schmidt * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/gstreamer-plugins.hierarchy: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * gstreamer.doap: Release 0.10.24 2009-08-04 23:05:27 +0100 Jan Schmidt * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files 2009-08-03 15:31:22 +0200 Mark Nauwelaerts * libs/gst/base/gstbytereader.c: bytereader: avoid wrap-around in buffer size checks. Fixes #590622. 2009-07-30 14:41:30 +0100 Jan Schmidt * ChangeLog: * configure.ac: * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: 0.10.24.5 pre-release 2009-07-28 21:15:52 +0200 Edward Hervey * libs/gst/base/gstcollectpads.c: collectpads: Get the flushing state with the object lock taken. Fixes #590056 2009-07-28 21:14:11 +0200 Edward Hervey * libs/gst/base/gstcollectpads.c: collectpads: Make sure the CollectData list is up-to-date when reading/setting it Without this, we risked: * Checking the flushing state on an unexisting list * Not setting the flushing state on pads that had just been added Partially fixes #590056 2009-07-28 21:12:25 +0200 Edward Hervey * libs/gst/base/gstcollectpads.c: collectpads: Split out _check_pads into a version without lock taking. This is so we can use _check_pads in places where we've already taken the lock in question. Partially fixes #590056 2009-07-28 15:23:15 +0100 Tim-Philipp Müller * docs/libs/gstreamer-libs-sections.txt: * libs/gst/check/gstconsistencychecker.c: * libs/gst/check/gstconsistencychecker.h: check: make new GstStreamConsistency structure private There's no need to have GstStreamConsistency in a public header for the time being, so make it private. While we're at it, add a gtk-doc blurb for it though. Re-fixes #588744. 2009-07-24 13:50:19 +0100 Jan Schmidt * ChangeLog: * configure.ac: * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: 0.10.23.4 pre-release 2009-07-24 09:50:19 +0100 Robin Stocker * libs/gst/base/gstbasesrc.c: basesrc: don't handle SEEKING queries for formats that don't match the one the source operates in Return FALSE in basesrc's default query handler when we get a SEEKING query for a format that's not the one the source operates in. Previously (ie. before, in the git version) we would return TRUE in that case and seekable=FALSE, which is more correct, but causes backwards compatibility problems. (Before that we would change the format of the query when answering, which was completely broken since callers don't expect that or check for it). Since the SEEKING query is a fairly recent addition, not all demuxers, parsers and decoders implement it yet, in which case any SEEKING query by an application will just be passed upstream where it will then be handled by basesrc. Now, if e.g. totem does a SEEKING query for TIME format and we have a demuxer that doesn't implement the query, basesrc would answer it with seekable=FALSE in most cases, and totem can only take that as authoritative answer, not knowing that the demuxer doesn't implement the SEEKING query. To avoid this, we make basesrc return FALSE to SEEKING queries in unhandled formats. That way applications like totem can fall back on assuming seekability depending on whether a duration is available, or somesuch. Downstream elements doing such queries are likely to equate an unhandled query with a non-seekable response as well, so this should be an acceptable fix for the time being. See #584838, #588944, #589423 and #589424. 2009-07-24 00:41:55 +0300 Stefan Kost * common: Automatic update of common submodule From fedaaee to 94f95e3 2009-07-20 16:11:02 +0300 Stefan Kost * gst/gstregistrybinary.c: gstregistrybinary: add +1 after error checking The current code made the error checking pointless by changing -1 to 0 in error cases. Also don't leak a pad template on error. 2009-07-20 15:51:20 +0100 Jan Schmidt * configure.ac: * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: * win32/common/config.h: * win32/common/gstenumtypes.c: * win32/common/gstenumtypes.h: * win32/common/gstversion.h: 0.10.23.3 pre-release 2009-07-20 18:03:21 +0200 Wim Taymans * tests/check/gst/gsttask.c: tests: make sure the tasks are joined Call _clean_all() on the task to make sure everything is joined and stopped. See #589127 2009-07-20 15:44:36 +0200 Wim Taymans * gst/gsttask.c: task: fix taskpool leak GstTaks does not always unref the taskpool it was created from because it depends on when the pool provided an ID for joining the task. Rework some code so that we always unref the pool and optionally join when the pool provided an id. Fixes #589127 2009-07-20 13:26:51 +0200 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: make tag queuing threadsafe See #588745 2009-07-13 09:22:06 +0200 Edward Hervey * docs/libs/gstreamer-libs-sections.txt: * libs/gst/check/Makefile.am: * libs/gst/check/gstconsistencychecker.c: * libs/gst/check/gstconsistencychecker.h: gstcheck: Add a stream consistency checking helper routine. Fixes #588744 2009-07-20 11:04:05 +0300 Stefan Kost * gst/gstregistrybinary.c: binaryregistry: don't unref NULL if we have an early read error 2009-07-12 10:04:01 +0200 Edward Hervey * libs/gst/base/gstbasesrc.c: basesrc: Serialize tags into the dataflow. Fixes #588745 2009-07-16 14:17:03 +0100 Tim-Philipp Müller * libs/gst/base/gstadapter.c: * libs/gst/base/gstbytereader.c: docs: fix API docs for gst_{adapter|byte_reader}_masked_scan_uint32 Clarify byte reader docs a bit: offset is relative to the current position of the reader, not to the start of the data. Also, the examples in both the adapter docs and the byte reader docs have the mask and pattern arguments swapped (see #587561). Spotted by Carl-Anton Ingmarsson. 2009-07-16 13:59:07 +0100 Tim-Philipp Müller * gst/gststructure.c: * tests/check/gst/gsttag.c: tags: only emit a g_warning() for empty tag strings for git versions For now, don't show a g_warning() for empty tag strings and NULL tags with non-git versions; we should wait for the fixes in our plugin modules to make it into a release before we enable this unconditionally. 2009-07-14 18:59:13 +0100 Jan Schmidt * ChangeLog: * configure.ac: * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: 0.10.23.2 pre-release 2009-07-14 12:15:05 +0300 Stefan Kost * gst/gstvalue.c: value: add explanation for shortcut 2009-07-10 20:04:48 +0100 Stefan Kost * libs/gst/base/gstbasetransform.c: basetransform: take size once 2009-07-10 19:17:04 +0100 Stefan Kost * gst/gstvalue.c: value: fix can_intersect to behave like intersect Add a quick return if two types are the same. Change the check for the intersection function to be the same as the one used in intersect(). The later tries both directions. 2009-07-14 00:04:22 +0100 Tim-Philipp Müller * gst/gstinfo.c: gstinfo: maintain ABI compatibility even if debugging is disabled 2009-07-02 12:40:05 +0100 Jan Schmidt * gst/gststructure.c: * gst/gstvalue.c: * tests/check/gst/gststructure.c: * tests/check/gst/gstvalue.c: structure: Change NULL and empty string handling Don't forbid the empty string "" in generic structures, only in taglists. Properly allow the NULL string by adding special cases for serialising and deserialising it. prop1=(string)NULL is the NULL string, prop1=(string)"NULL" is the actual string with the value "NULL" 2009-07-13 12:23:02 -0400 Olivier Crête * common: Automatic update of common submodule From 5845b63 to fedaaee 2009-07-13 12:00:47 +0200 Andoni Morales * plugins/elements/gstfilesink.c: filesink: Fix segfault with MSVC Don't use deprecated fileno on MSVC but replace with _fileno Fixes #587052 2009-07-13 09:32:57 +0200 Edward Hervey * docs/design/Makefile.am: docs/design: Update Makefile.am for changed framestep document name. 2009-07-10 19:27:21 +0100 Tim-Philipp Müller * tools/gst-inspect.c: tools: the plugin features listed by gst-inspect are typefinders, not types 2009-07-10 18:46:39 +0100 Wim Taymans * docs/design/draft-buffer2.txt: docs: add draft for arbitrary buffer metadata idea 2009-07-10 18:35:21 +0100 Wim Taymans * docs/design/part-framestep.txt: docs: more framestep docs out of draft 2009-07-10 18:33:58 +0100 Wim Taymans * docs/design/draft-framestep.txt: docs: update framestep document Remove experimental status from the framestep draft. 2009-07-08 15:15:04 +0200 Philip Jägenstedt * tools/gst-inspect.c: * tools/gst-launch.c: tools: Fix compilation if option parsing is disabled Fixes bug #587976. 2009-07-08 15:10:26 +0200 Sebastian Dröge * gst/gstregistry.c: registry: Use g_build_filename() instead of g_strjoin() with / This makes sure that the generated filenames use the platform specific directory separator instead of /. Fixes bug #587973. 2009-07-07 20:13:48 +0100 Tim-Philipp Müller * gst/gstinfo.h: docs: add 'Since' tag for new GST_DEBUG_CATEGORY_GET macro 2009-07-07 00:23:41 +0100 Stefan Kost * libs/gst/base/gstcollectpads.c: collectpads: make it the best of wims and edwards patch. Check the right flushing flag, but still add it to the pad-list. 2009-06-30 11:26:34 +0300 Stefan Kost * docs/gst/gstreamer-sections.txt: * gst/gstinfo.c: * gst/gstinfo.h: * win32/common/libgstreamer.def: info: allow getting other log categories. Fixes #587417 Add a new macro GST_DEBUG_CATEGORY_GET to get a log category by name. This allows plugins to use e.g. core categories like PERFORMANCE or CLOCK. API: GST_DEBUG_CATEGORY_GET 2009-07-06 19:51:57 +0100 Stefan Kost * libs/gst/base/gstbasetransform.c: basetransform: make comment a FIXME comment 2009-07-06 19:50:52 +0100 Stefan Kost * gst/gstminiobject.c: logging: log object type in message 2009-07-06 19:48:58 +0100 Stefan Kost * libs/gst/base/gstbasesink.c: logging: use perf category for dropped buffers 2009-06-29 11:26:57 +0200 Edward Hervey * libs/gst/base/gstcollectpads.c: collectpads: Don't forward FLUSH_STOP if some input streams are still flushing. This guarantees that only one FLUSH_STOP event (the last one) will be sent downstream when a flushing seek is being done through collectpads. 2009-06-24 11:11:35 +0200 Edward Hervey * libs/gst/base/gstcollectpads.c: collectpads: Update the cookie when setting ourselves as flushing. This forces the pad status to be re-evaluated on the next _check_pads(). 2009-06-09 14:54:27 +0100 Tim-Philipp Müller * gst/gstbufferlist.c: * gst/gstbus.h: * gst/gstchildproxy.h: * gst/gstelementfactory.h: * gst/gstghostpad.h: * gst/gstmessage.h: * gst/gstquery.h: * libs/gst/base/gstdataqueue.h: docs: fix gtk-doc /*< private >*/ marker 2009-06-09 14:48:56 +0100 Tim-Philipp Müller * plugins/elements/gsttypefindelement.c: typefindelement: log probability in debug message 2009-06-30 18:22:25 +0200 Wim Taymans * gst/gstmessage.c: message: fix parsing of the step done message Parse the duration field too. 2009-06-29 11:24:25 +0200 Edward Hervey * gst/gstregistrybinary.c: binaryregistry: Use local values in while/for loops, use branch prediction macros 2009-06-29 11:23:31 +0200 Edward Hervey * gst/gstcaps.c: * gst/gstpad.c: * gst/gstregistry.c: * gst/gstregistrybinary.c: * gst/gststructure.c: Spread branch prediction macros. These are based on profiling several playback scenarios using playbin2. 2009-06-29 11:20:12 +0200 Edward Hervey * gst/gstpad.c: * gst/gstregistrybinary.c: * gst/gstvalue.c: Use local variables in for/while loops. This makes the generated code faster since: * It won't have to read an undirect value (which will most likely be outside of the L1/L2 cache) * We know that value never changes (the compiler has no clue that it doesn't). 2009-06-09 19:08:26 +0200 Edward Hervey * libs/gst/controller/gstinterpolationcontrolsource.c: libs/controller: Set default gst debugging category. 2009-06-29 11:57:13 +0200 Wim Taymans * tests/benchmarks/mass-elements.scm: tests: fix example 2009-06-29 11:56:10 +0200 Wim Taymans * gst/gstpad.c: * libs/gst/base/gstbasesink.c: bufferlist: use faster gst_buffer_list_get() Use the faster gst_buffer_list_get() to get the first buffer of a list. 2009-06-29 11:55:14 +0200 Wim Taymans * gst/gstbufferlist.c: bufferlist: fix example The _do function now takes user_data in all cases. 2009-06-29 11:46:00 +0200 Ognyan Tonchev * libs/gst/base/gstbasesink.c: basesink: take timestamp later Make sure we don't accidentally cast a bufferlist of a buffer and try to take the timestamp of it. Refixes #585960 2009-06-29 11:07:00 +0200 Jonas Holmberg * gst/gstbufferlist.c: docs: fix some typos 2009-06-29 11:24:04 +0300 Stefan Kost * gst/gst_private.h: * gst/gstinfo.c: * gst/gstminiobject.c: * libs/gst/base/gstadapter.c: * win32/common/libgstreamer.def: logging: add a performace log category This category can be used to log slow code path and help auditing the performance. Add FIXME-0.11 to some questionable categories. 2009-06-27 16:34:36 +0300 Stefan Kost * gst/gststructure.c: structure: fix int->gint to be in sync with the *.h and usage 2009-06-26 13:33:50 +0100 Jan Schmidt * autogen.sh: autogen.sh: Use printf instead of 'echo -n'. Check for automake-1.1[01] Check for more automake command variants. Use printf instead of 'echo -n' for portability 2009-06-26 13:41:11 +0100 Jan Schmidt * common: Automatic update of common submodule From f810030 to 5845b63 2009-06-26 12:50:53 +0300 Stefan Kost * gst/gstelement.c: request-pad: tell about ref counts in release_request_pad docs. It is not too obvious that getting and releasing request pads is not entierly symetrical regarding to the pad refcount. Add a note about that to the docs. This might deserve a FIXME-0.11 too. 2009-06-25 11:25:46 +0100 Tim-Philipp Müller * libs/gst/base/gstbasesink.c: basesink: don't do things with side effects within a g_assert() Make the bufferlist stuff work properly when things are compiled with -DG_DISABLE_ASSERT. 2009-06-24 18:31:08 +0200 Wim Taymans * gst/gstcaps.c: caps: avoid doing logic in g_assert Make sure we still do the right thing when glib is compiled without assertions. 2009-06-22 05:00:54 +0100 Jan Schmidt * plugins/elements/gstmultiqueue.c: multiqueue: Fire the overrun signal on EOS Fixes startup of some short MPEG files with decodebin2/playbin2 where all the data fits in the multiqueue and EOS arrives before the group is exposed. 2009-06-24 15:13:37 +0100 Jan Schmidt * common: Automatic update of common submodule From f3bb51b to f810030 2009-03-28 13:59:08 +0100 Edward Hervey * gst/gststructure.c: GstStructure: Use direct values for repetitive conditionals (for/while). 2009-06-24 10:45:52 +0200 Edward Hervey * gst/gstbuffer.c: * gst/gstevent.c: * gst/gstmessage.c: * gst/gstminiobject.c: * gst/gstquery.c: miniobjects: Don't chain up to empty finalize method. If ever we do anything in mini_object_finalize, we should make sure the 4 core miniobject finalize methods chain back up again. 2009-03-27 20:17:15 +0100 Edward Hervey * gst/gstcaps.c: gstcaps: Use direct values for repetitive conditionals (for/while). 2009-06-24 09:28:01 +0100 Tim-Philipp Müller * Makefile.am: * gst/gst.c: make check: add check for enum type class unrefs in gst_deinit() too Just because we can really. 2009-06-23 13:44:50 +0200 Wim Taymans * gst/gsttrace.c: * gst/gsttrace.h: * win32/common/libgstreamer.def: trace: use proper locking in GstTrace Protect the allocated list of objects with a lock so that trace actually works reliably. Shortcut the alloc trace sooner when disabled. 2009-06-23 13:34:35 +0200 Wim Taymans * gst/gstobject.c: object: also add pointers to debug Add the object pointers in the debug info for _replace. 2009-06-23 12:56:59 +0200 Chad Hanna * plugins/elements/gstcapsfilter.c: capsfilter: Add GAP flag support capsfilter doesn't actually touch the data so we don't want the GAP flag to be unset by basetransform. Fixes bug #586566. 2009-06-23 10:05:03 +0200 Wim Taymans * win32/common/libgstbase.def: defs: add new byte reader methods 2009-05-22 14:47:33 +0100 Tim-Philipp Müller * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstbytereader.c: * libs/gst/base/gstbytereader.h: * tests/check/libs/bytereader.c: bytereader: add a bunch of utility functions for strings and a data dup function API: gst_byte_reader_dup_data API: gst_byte_reader_dup_string API: gst_byte_reader_dup_string_utf8 API: gst_byte_reader_dup_string_utf16 API: gst_byte_reader_dup_string_utf32 API: gst_byte_reader_skip_string API: gst_byte_reader_skip_string_utf8 API: gst_byte_reader_skip_string_utf16 API: gst_byte_reader_skip_string_utf32 API: gst_byte_reader_peek_string API: gst_byte_reader_peek_string_utf8 API: gst_byte_reader_get_string API: gst_byte_reader_get_string_utf8 And some basic unit tests. Fixes #586568. 2009-06-22 18:17:28 +0300 Stefan Kost * gst/gsttaglist.c: taglist: fix typo in tag description 2009-06-21 00:26:33 +0100 Tim-Philipp Müller * tests/check/gst/gstbufferlist.c: tests: fix crash and leak in bufferlists unit test Don't access already-freed iterator, makes check-valgrind work and fixes crash on PPC; unref buffer we're going to steal to make valgrind happy. 2009-06-21 00:09:53 +0100 Jan Schmidt * gst/gst.c: init: Fix indent, and ref the gst_buffer_list_item_get_type() class Fix the check tests by reffing the GstBufferList class. Run gst-indent to make git happy about some existing stuff 2009-06-19 21:03:46 +0100 Tim-Philipp Müller * tools/gst-inspect.c: gst-inspect: fix broken flags to flag string serialisation e.g. cdparnoiasrc would show fragment|full for a flags value of 2. 2009-06-19 19:35:04 +0200 Wim Taymans * plugins/elements/gsttee.c: tee: add buffer-list support 2009-06-19 19:24:56 +0200 Wim Taymans * gst/gstbufferlist.h: bufferlist: remove old enum from docs 2009-06-19 14:45:42 +0100 Tim-Philipp Müller * gst/gstinfo.h: gstinfo: define __gst_debug_min to LOG_LEVEL_NONE if debugging is disabled Just in case someone who clearly can't be deterred by any number of leading underscores uses this very private but still somewhat documented symbol directly in their code (*cough* qtdemux *cough*). 2009-06-19 15:29:14 +0200 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gstbufferlist.c: * gst/gstbufferlist.h: * tests/check/gst/gstbufferlist.c: * win32/common/libgstreamer.def: bufferlist: Various cleanups Add new method to iterate a bufferlist without having to allocate an iterator. Add convenience method for getting an item from the list based on the group and index. Remove redundant _do_data callback and method. Update unit-tests and add some more for the new methods. 2009-06-19 14:10:30 +0100 Tim-Philipp Müller * gst/gstmessage.c: * gst/gststructure.c: docs: make gtk-doc happy 2009-06-19 13:51:59 +0100 Tim-Philipp Müller * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: po: update .po files after string changes 2009-06-19 13:48:48 +0100 Tim-Philipp Müller * plugins/elements/gstfdsink.c: fdsink: clean up some more error and debug messages 2009-06-19 13:42:45 +0100 Tim-Philipp Müller * gst/gsttaskpool.c: taskpool: fix unused variable warning in case debugging is disabled 2009-06-19 13:40:13 +0100 Tim-Philipp Müller * gst/gstinfo.c: gstinfo: fix export of GST_CAT_BUFFER_LIST when --gst-disable-debug is used Move all the categories to export to one single place, so we don't accidentally update or add vars in one place but not the other. 2009-06-18 16:50:42 +0200 Wim Taymans * libs/gst/base/gstcollectpads.c: collectpads: use the right flushing flag. We need to use the pad private flag because the other pad flag is protected with the pad lock instead. 2009-06-18 16:41:46 +0200 Edward Hervey * libs/gst/base/gstcollectpads.c: collectpads: Properly handle flushing pads. If a pad is flushing, it should not be considered as either eos or containing data. 2009-06-18 11:27:21 +0100 Tim-Philipp Müller * plugins/elements/gstfdsink.c: fdsink: fix error message Users should never see the term 'file descriptor', much less a file descriptor number, in an error message. Put that into the debug string instead and use the default error message. 2009-06-18 11:49:33 +0200 Wim Taymans * plugins/elements/gstfdsink.h: fdsink: add the new field in the header 2009-06-18 10:55:39 +0200 Benjamin Gaignard * plugins/elements/gstfdsink.c: fdsink: make fdsink seekable Implement the same logic as filesink to implement seeking. Fixes #578908 2009-06-17 16:45:17 +0200 Josep Torra * gst/gstelement.c: gstelement: moved the clock unref to the right place 2009-06-17 16:17:27 +0200 Josep Torra * gst/gstelement.c: gstelement: unref the clock when the element changes to null state 2009-06-17 00:29:40 +0400 Руслан Ижбулатов * gst/gst.c: Replaced deprecated win32-compatibility function with undeprecated one. Fixes #560442. 2009-06-16 18:32:12 +0200 Josep Torra * gst/gstbin.c: gstbin: swap the lines of my previous commit Fixes a bug introduced in my previous commit that released the clock provider and after used it to create the clock lost message. 2009-06-16 17:51:12 +0200 Josep Torra * gst/gstbin.c: gstbin: remove clock references when clock lost happens Remove reference to clock and clock provider stored in the bin when the clockprovider element is removed from the bin. 2009-06-16 13:34:38 +0200 Wim Taymans * libs/gst/base/gstbasesink.h: basesink: add Since tag for new method 2009-06-16 13:32:37 +0200 Branko Subasic * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesink.h: basesink: add support for buffer list Fixes #585960 2009-06-16 11:34:54 +0200 Branko Subasic * gst/gstghostpad.c: ghostpad: Add support for GstBufferLists Fixes #585834 2009-06-16 11:21:42 +0200 Christopher Halse Rogers * gst/gstiterator.c: iterator: Explicitly mention refcounting in docs Fixes #585938 2009-06-16 08:43:53 +0100 Tim-Philipp Müller * gst/gstelement.c: * gst/gstutils.c: gstxml: fix (de)serialisation of properties of type GstStructure souphttpsrc has a property of type GstStructure, which causes an assertion when serialising it to xml. Fixes #585137. 2009-06-15 20:11:05 +0100 Tim-Philipp Müller * plugins/elements/gstqueue.c: queue: fix compiler warning The compiler suggests to add some () to indicate if the && or the || takes priority, so reflow code a bit so we don't have to add yet another layer of (). Hopefully this was the intended meaning of the code. 2009-06-11 15:00:52 +0200 Arnout Vandecappelle * plugins/elements/gstqueue.c: don't lock when min-threshold and max-size conflict. When min-threshold is set on a queue, it is possible that one of the minima remains unsatisfied while one of the maxima is already reached. Therefore, always consider the queue non-empty if it is full. Fixes #585433. 2009-06-15 18:44:45 +0200 Wim Taymans * gst/gstbin.c: bin: make sure we set the next state correctly When the continue function is scheduled, make sure we set the next state instead of the pending state. Add some more debug info. fixes #585569 2009-06-15 18:44:14 +0200 Wim Taymans * libs/gst/base/gstcollectpads.h: collectpads: fix .h indentation 2009-06-15 18:43:52 +0200 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: add some more debug 2009-06-15 18:42:59 +0200 Wim Taymans * gst/gstelement.c: * gst/gstpad.c: debug: add some more debug to element and pads 2009-06-14 16:56:32 +0400 Руслан Ижбулатов * gst/gstsegment.c: segment: fix include order to get config.h before _mingw.h config.h must always be included before any other includes, either directly or indirectly via gst_private.h. Fixes #585733. 2009-06-14 16:17:50 +0100 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gsttaglist.c: * gst/gsttaglist.h: * tests/check/gst/gsttag.c: * win32/common/libgstreamer.def: taglist: add functions to create a new taglist with tags in one go Add functions to create a new tag list and set tags in one go, which is nice for use in combination with functions that take ownership of the taglist, such as gst_event_new_tag() or gst_element_found_tags(). API: add gst_tag_list_new_full() API: add gst_tag_list_new_full_valist() 2009-06-13 14:55:43 +0200 Thomas Vander Stichele * scripts/git-version.sh: git-version.sh: make executable 2009-06-13 14:53:24 +0200 Thomas Vander Stichele * scripts/git-update.sh: * scripts/git-version.sh: Update scripts/cvs-update.sh to git-update.sh; add git-version.sh add script to get git versions first update all, then build add gnonlin too specify where to pull from also update submodule rename and change cvs-update script to git-update 2009-06-12 18:36:15 +0100 Tim-Philipp Müller * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstbytereader.c: * libs/gst/base/gstbytereader.h: * tests/check/libs/bytereader.c: * win32/common/libgstbase.def: bytereader: add gst_byte_reader_masked_scan_uint32() Add a pattern scan function similar to the one recently added to GstAdapter, and a unit test (based on the adapter one). Fixes #585592. API: add gst_byte_reader_masked_scan_uint32() 2009-04-17 17:59:38 +0300 René Stadler * gst/gst_private.h: * gst/gstinfo.c: Fix remaining --disable-gst-debug ABI breakage. Fixes #579177. 2009-06-12 17:51:22 +0300 Stefan Kost * plugins/elements/gstfilesink.c: * plugins/elements/gstfilesrc.c: filesrc/sink: turn the bus messages into g_warning Its a programming error. 2009-06-12 15:48:35 +0200 Wim Taymans * gst/gstmessage.c: message: fix docs 2009-06-12 13:18:21 +0200 Wim Taymans * docs/design/draft-framestep.txt: * gst/gstmessage.c: * gst/gstmessage.h: * gst/gstquark.c: * gst/gstquark.h: * libs/gst/base/gstbasesink.c: * tests/examples/stepping/framestep1.c: stepping: more stepping improvements Update design doc with step-start docs. Add eos field to step done message when stepping in reverse, update the segment time field. Flush out the current step when we are flushing. 2009-06-10 15:51:40 +0200 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: post step-start when we clip, also stop the stepping. Don't do QoS when stepping Post step-start when queueing and activating the step. 2009-06-10 15:48:35 +0200 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gstmessage.c: * gst/gstmessage.h: * gst/gstquark.c: * gst/gstquark.h: * win32/common/libgstreamer.def: message: add step-start message 2009-06-11 14:18:03 +0100 Tim-Philipp Müller * gst/gstvalue.c: gstvalue: more efficient value table lookup for fundamental types Small micro-optimisation: look up value table for fundamental types via an array dedicated to fundamental types instead of going through a hash table lookup. Since there can be only 255 fundamental types, the table size/efficiency trade-off should be acceptable, esp. since the most commonly-used types are all fundamental types. The size of the table could probably be minimised further if needed by allocating the table dynamically and only expanding it on demand. 2009-06-11 13:16:15 +0100 Tim-Philipp Müller * gst/gstvalue.c: gstvalue: don't put GTypes into int variables GTypes are not ints and as such are not guaranteed to fit into an int (with the exception of fundamental types), so we really shouldn't put them into int variables. Even if a rather unlikely obscure corner case, this has actually been a problem at some point in the past, see commit 99f16655f4cfbc8e06b5972417ba11279083a64e. 2009-06-11 17:03:04 +0300 Stefan Kost * plugins/elements/gstfilesink.c: * plugins/elements/gstfilesrc.c: filesrc/sink: improve warning message a bit (wrong state) Unify and turn those into element warnings. 2009-06-11 14:00:09 +0100 Jan Schmidt * gst/gstelementfactory.c: elementfactory: Fix a compiler warning Use (gpointer) instead of (gpointer *) to fix a strict-aliasing build warning. 2009-06-11 13:16:29 +0100 Jan Schmidt * common: * docs/faq/Makefile.am: * docs/gst/Makefile.am: * docs/libs/Makefile.am: * docs/manual/Makefile.am: * docs/plugins/Makefile.am: * docs/pwg/Makefile.am: docs: Bump common, fix the upload logic inclusion Update the common submodule, and fix the docs upload rules to include the right makefile snippet from common. 2009-06-09 11:13:04 +0100 Jan Schmidt * plugins/elements/gstmultiqueue.c: multiqueue: Use the slice allocator for MultiQueueItems 2009-06-10 20:29:41 +0100 Tim-Philipp Müller * gst/gst_private.h: * gst/gstregistrybinary.h: Make sure config.h is only included once Fixes build problem on win32 (#585075). 2009-06-10 18:05:47 +0300 Stefan Kost * gst/gstplugin.c: plugin: add since: tags for the api docs. The previous related commit added new API. API: add gst_plugin_get_cache_data, gst_plugin_set_cache_data 2009-06-10 12:02:23 +0300 Stefan Kost * gst/gstplugin.c: plugin: fix leaks introduced by fix for #584389 2009-06-08 23:43:16 +0100 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gststructure.c: * gst/gststructure.h: * tests/check/gst/gststructure.c: * win32/common/libgstreamer.def: structure: add gst_structure_*_get*() vararg functions Add a bunch of vararg getter convenience functions to complement the vararg setter functions, and a basic unit test. Fixes #534208. API: gst_structure_get() API: gst_structure_id_get() API: gst_structure_get_valist() API: gst_structure_id_get_valist() 2009-06-09 00:16:05 +0100 Tim-Philipp Müller * gst/gstregistry.c: * gst/gststructure.c: * gst/gsttaglist.c: docs: a few small API doc fixes and additions 2009-06-08 19:33:55 +0100 Tim-Philipp Müller * gst/gstinfo.c: logging: when logging taglists, shorten long buffer dumps Don't dump hundreds of kB of hexdata into debug logs when converting taglists containing huge images into a string. Instead, shorten the buffer data so that the string is still readable and debug logs stay managable. Can be turned off with GST_DEBUG_OPTIONS=full-tags. See #584988. 2009-06-09 13:07:34 +0200 Wim Taymans * plugins/elements/gstmultiqueue.c: multiqueue: check byte range even when we have timestamps As found by thaytan on IRC. Also check the byte limit, even if we have timestamps because there might just not be a time limit. 2009-06-09 12:06:35 +0200 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: update segment start/stop for clipping When we start stepping, store the start/stop values of the segment before we install new start/stop values for clipping in non-flushing steps. for non-flushing steps, update the element start time. For flushing steps, it does not change because running_time does not advance Make sure we always perform the stop_stepping operations even when we drop frames. 2009-06-09 10:25:34 +0200 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: do proper clipping in stepping Update the stop position of the segment so that we clip correctly. After clipping in non-flushing mode, rerender the remainder of the buffer. 2009-06-09 10:23:23 +0200 Wim Taymans * gst/gstsegment.c: segment: make conversion more precise Make sure the conversion from and the conversion to give the same results. 2009-06-08 15:39:59 +0100 Tim-Philipp Müller * gst/gstutils.c: utils: gst_util_uint64_scale*() micro-optimisations Sprinkle G_LIKELY/G_UNLIKELY; add inlined _scale_int_unchecked() so we don't do some checks twice when calling it from _scale(). 2009-06-07 22:49:01 +0100 Tim-Philipp Müller * gst/gsturi.c: * gst/gstvalue.c: * tests/check/gst/gstsystemclock.c: * tests/check/libs/transform1.c: Remove double semicolons at end of line 2009-06-08 17:39:47 +0200 Wim Taymans * docs/design/draft-framestep.txt: * libs/gst/base/gstbasesink.c: stepping: do flushing steps correctly Note in the docs that a flushing step in PLAYING brings the pipeline to the lost state and skips the data before prerolling again. Implement the flushing step correctly by invalidating the current step operation, which would activate the new step operation. 2009-06-08 16:16:27 +0100 Jan Schmidt * libs/gst/base/gstbasesink.c: basesink: Change awkward wording in a translateable message. 2009-06-08 16:27:36 +0200 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: add non-flushing steps Add support for non-flushing steps and with different rates. Clear step info when flushing 2009-06-07 23:46:54 +0300 Stefan Kost * docs/gst/gstreamer-sections.txt: * gst/gst_private.h: * gst/gstplugin.c: * gst/gstplugin.h: * gst/gstregistrybinary.c: * gst/gstregistrybinary.h: * win32/common/libgstreamer.def: registry: allow plugins to cache extra data in registry. Fixes #570233 Add a GstStructure to GstPlugin. Plugins can retieve it in plugin_init and access the cached info or build the cache and store it there. 2009-06-07 22:09:14 +0300 Stefan Kost * gst/gstelement.c: * gst/gstelementfactory.c: * gst/gstplugin.c: * win32/common/libgstreamer.def: registry: don't recreate features on first use. Fixes #584389 The first time one calls gst_element_factory_make(), gst recreates the plugin feature and the element factory. As a side effect we ref the class to fill in detail we already have filled from the registry cache. This patch changes the behaviour to just update the existing entries. The factory is now attached to the type and set in gst_element_base_class_init(). 2009-06-07 22:20:54 +0200 Wim Taymans * configure.ac: * tests/examples/Makefile.am: tests: conditionally compile the streams example Detect pthreads.h in configure.ac Only compile the streams example when pthreads.h is present. Fixes #585039 2009-06-07 17:32:35 +0200 Wim Taymans * gst/gstvalue.c: gstvalue: remove type checks and redundant code 2009-06-07 15:43:57 +0200 Wim Taymans * gst/gstvalue.c: value: fix fraction range lcopy function This function seems to be broken for 3.5 years. Luckily nobody ever tried to make a fraction range object property... 2009-06-07 15:35:12 +0200 Wim Taymans * gst/gstvalue.c: gstvalue: performance improvements Add a GType->GstValueTable hashtable mapping. Avoid _get_type() multiple times when we can. Use GSlice for fraction range dynamic memory Add G_LIKELY when we can Improve lookup of the value table using the hashtable 2009-06-07 14:30:28 +0200 Wim Taymans * gst/gststructure.c: structure: no need to clear on init We don't need to clear the field on init because we will do that again before we are going to use the field later. 2009-06-05 20:57:05 +0100 Jan Schmidt * gst/gststructure.c: * gst/gstvalue.c: gststructure: Fix some memory leaks. Sprinkle G_LIKELY/UNLIKELY Fix some memory leaks shown by the new serialisation/deserialisation unit test. Split the gst_string_wrap function in gstvalue.c into components and use them to make gst_string_take_and_wrap, which takes ownership of the string, avoiding a strdup. Add some G_LIKELY/UNLIKELY, and clean up some leaks in error paths. 2009-06-05 11:37:24 +0200 Mark Nauwelaerts * libs/gst/base/gstbasesrc.c: basesrc: reply to QUERY_SEEKING with original format. Fixes #584838. 2009-06-04 19:44:38 +0100 Tim-Philipp Müller * configure.ac: * win32/common/config.h: * win32/common/gstenumtypes.c: * win32/common/gstenumtypes.h: * win32/common/gstversion.h: configure: remove AC_C_INLINE and update win32 files to git Remove AC_C_INLINE check, so we don't end up with an #undef inline in config.h, which causes problems with some versions of MSCV apparently. GLib defines inline for us in a suitable way already anyway. Fixes #584835. While we're at it, also update the other win32 files to git (bump version, add new defines and enums). 2009-06-04 18:26:04 +0200 Wim Taymans * gst/gstghostpad.c: ghostpad: avoid excessive notify for caps Avoid an object property notify if the caps on the other pad were already set (and thus notified). 2009-06-04 17:27:03 +0200 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: fix clipped start/stop after step Use the segment helpers to get a more accurate clipped start/stop position after a stepping operation ended. 2009-06-04 12:34:47 +0200 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: use more correct segment methods Use the more correct new segment methods for updating the segment before and after a step. 2009-06-04 12:48:51 +0200 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gstsegment.c: * gst/gstsegment.h: * tests/check/gst/gstsegment.c: * win32/common/libgstreamer.def: segment: add gst_segment_set_running_time Added new method for closing the segment to a specific running time. API: GstSegment::gst_segment_set_running_time() 2009-06-04 00:37:28 +0100 Tim-Philipp Müller * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: po: update .po files for string changes This makes sure that people who get themselves a fresh checkout don't immediately have changed *po files after running make, which would cause a bit of hassle next time the files are updated. Better to keep them up-to-date when strings change. 2009-06-04 00:54:24 +0100 Tim-Philipp Müller * gst/gsterror.c: errors: reword state change failed error message and remove bugzilla link Reword this message a bit to make it clearer what it means, namely that the state change may have failed for good reasons, but that the element just failed to post a proper error on the bus. This is not an internal GStreamer bug, and we really don't need people to flood bugzilla with bug reports if one such plugin bug ever makes it into the wild. 2009-06-04 00:29:31 +0100 Tim-Philipp Müller * tools/gst-launch.c: gst-launch: refer to element, pad, or object in some message strings Revisit these strings now that the change regarding the message source object in gst_element_found_tags_for_pad() got reverted. Try to refer explicitly to what kind of element it is (element, pad, etc.) in some cases, which is nicer than having to deduce this info (and we can re-use the already existing translated strings for the most common case). It also makes for better example code, since it's clear now that the message source object doesn't have to be an element. 2009-06-03 21:10:39 +0100 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gstmessage.h: API: add GST_MESSAGE_SRC_NAME macro Add GST_MESSAGE_SRC_NAME macro that always returns a non-NULL string. Useful for debugging and logging purposes. 2009-06-03 19:06:30 +0200 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gstsegment.c: * gst/gstsegment.h: * tests/check/gst/gstsegment.c: * win32/common/libgstreamer.def: segment: add method for converting to position Add gst_segment_to_position() that converts a running_time to a position in the segment. A faulty variant of this function is currently used in inputselector but we'll need it for frame stepping too. API: GstSegment::gst_segment_to_position() 2009-06-03 15:39:13 +0200 Wim Taymans * libs/gst/base/gstbasesink.c: basesink; handle EOS correctly. Handle EOS and buffers without a timestamp gracefully. Remove a warning that is not so much a warning now anymore. 2009-06-03 09:45:25 +0100 Tim-Philipp Müller * autogen.sh: * common: * configure.ac: Revert "go back to allowing gettext 0.11.5, but don't mix with libtool 2.2" This reverts commit 31c09d738ce7f47bff9d292996e9489c275e55a1. Reverting this, since it breaks autogen.sh for me on debian sid. Failure is: "libtool 2.2 requires autopoint 0.17 or higher" even though 0.17 was found. 2009-06-03 09:41:21 +0100 Tim-Philipp Müller * autogen.sh: Revert "only update submodule when it is not on a specific branch" This reverts commit 93b83333aad519c5555156576f0baa3be7b263f3. Reverting since this fails on a fresh checkout. Also, we shouldn't depend on possibly translated strings. 2009-06-03 01:56:10 +0100 Tim-Philipp Müller * docs/manual/highlevel-components.xml: docs: fix up reference to gst-launch-0.8 Also mention decodebin2, uridecodebin, and playbin2 2009-06-03 10:39:53 +0200 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: forget previous times when stepping When we start a flushing step operation, forget about the previous stream time so that the position reporting works correctly. 2009-06-03 01:25:26 +0200 Thomas Vander Stichele * autogen.sh: * common: * configure.ac: go back to allowing gettext 0.11.5, but don't mix with libtool 2.2 2009-06-03 01:01:57 +0200 Thomas Vander Stichele * autogen.sh: only update submodule when it is not on a specific branch 2009-06-02 13:45:52 -0700 David Schleef * tools/gst-launch.c: tools: Set pipeline to PAUSED before waiting for main loop idle When it is shutting down a pipeline after ctrl-c, set pipeline to paused before waiting for the main loop to complete all pending transactions. Fixes #584657. If some part of the pipeline is generating signals or idle functions at a fast rate, waiting for a main loop iteration may never return. 2009-06-02 18:36:10 +0300 Stefan Kost * gst/gst_private.h: * gst/gststructure.c: * gst/gstvalue.c: * tests/check/gst/gststructure.c: structure: fix serialisation of nested structures. Use string_warp/unwrap to escape delimiters, otherwise deserialisation fails. Also move GST_ASCII_IS_STRING to private header to avoid keeping it in sync. Also use '\0' when terminating a string for better readability. 2009-06-02 15:37:22 +0200 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: fix regression in unit tests Store the timestamp of the buffer after prerolling. While we are prerolled we want to report the position of the segment start value. 2009-06-01 20:26:53 +0100 Tim-Philipp Müller * gst/gstinfo.c: info: widen log level strings to take into account the new MEMDUMP 2009-06-01 19:37:14 +0200 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: post a warning on excessive framedrops When we go into emergency rendering, post a warning informing the user about this fact. 2009-05-31 19:10:02 +0200 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: more stepping in reverse Fix stepping and position reporting in reverse playback. 2009-05-29 16:06:52 +0200 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: use start_time as the step start Use the start_time of the element as the point from where the step operation starts. This fixes stepping in all paused states. 2009-05-19 19:45:06 +0200 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: catch step cases in _wait_preroll() When a subclass is blocking in _wait_preroll() in the _render method, make sure we can unlock the subclass and detect this return value from the render method. 2009-05-19 10:50:57 +0200 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: more stepping in reverse fixes 2009-05-18 18:41:45 +0200 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: small cleanups 2009-05-18 15:48:20 +0200 Wim Taymans * docs/design/draft-framestep.txt: * gst/gstmessage.c: * gst/gstmessage.h: * libs/gst/base/gstbasesink.c: * tests/examples/stepping/framestep1.c: framestep: implement backwards framestep Update framestep document, we want to pass the flush flag in the step-done message. Add flush flag to the gstmessage. Update examples to use the new step-done message api. Implement framestep with playback rates < 0.0 too. 2009-05-15 15:25:06 +0200 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: add framestepping in time 2009-05-15 15:24:30 +0200 Wim Taymans * tests/examples/stepping/framestep1.c: examples: step in time as well 2009-05-15 12:02:02 +0200 Wim Taymans * tests/examples/stepping/framestep1.c: example: print step_done message and sync Dump the step_done message contents. Sync against the clock when going to PLAYING. 2009-05-15 12:05:44 +0200 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: keep track of stepped time Pass running_time around so that the stepping code can calculate the elapsed time correctly. 2009-05-14 19:29:08 +0200 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: move stuff around, more stepping Make start and stop_stepping methods and move their invocation in the right places. Perform the atual stepping operation where we have full context about the timestamps. 2009-05-11 18:56:03 +0200 Wim Taymans * configure.ac: * tests/examples/Makefile.am: * tests/examples/stepping/.gitignore: * tests/examples/stepping/Makefile.am: * tests/examples/stepping/framestep1.c: Add frame stepping in PAUSED example 2009-05-11 18:56:56 +0200 Wim Taymans * libs/gst/base/gstbasesink.c: basesink: first stab at frame stepping in PAUSED Unlock the prerolled frame and recheck if we need to step. Keep a simple counter for the frames we're about to skip while stepping and preroll/post step_done when stepping finished. 2009-06-01 12:19:52 +0200 Wim Taymans * docs/design/draft-framestep.txt: * docs/gst/gstreamer-sections.txt: * gst/gstevent.c: * gst/gstevent.h: * gst/gstmessage.c: * gst/gstmessage.h: * gst/gstquark.c: * gst/gstquark.h: * win32/common/libgstreamer.def: add new API for framestepping Add new STEP event and methods for creating/parsing the event Update design docs. Add new STEP_DONE message and method to create/parse. API: GstEvent::gst_event_new_step() API: GstEvent::gst_event_parse_step() API: GstMessage::gst_message_new_step_done() API: GstMessage::gst_message_parse_step_done() 2009-06-01 10:05:32 +0100 Tim-Philipp Müller * gst/gststructure.c: structures: don't leak invalid or empty strings when we warn Fixes minor memory leak in unit tests caused by the recent changes. Since we're expected to take ownership of the GValue in the structure field struct here, we need to unset it if we don't use it. 2009-06-01 11:08:31 +0300 Stefan Kost * tests/check/libs/controller.c: controller: add test for cubic int. and too few control points Added another tests to check some worries in Bug #582564. 2009-05-28 12:31:08 +0300 Stefan Kost * plugins/elements/gstfakesrc.c: fakesrc: add a FIXME comment for blocksize vs. size-max property issue 2009-05-31 21:27:40 +0100 Tim-Philipp Müller * plugins/elements/gstidentity.c: * plugins/elements/gstidentity.h: identity: hack around g_object_notify() bug by protecting it with a lock Out-of-band events might lead to us calling g_object_notify() from a non-streaming thread, which can cause crashes if g_object_notify() is being called from the streaming thread at the same time. See #554460. 2009-05-31 22:37:59 +0300 Stefan Kost * tests/benchmarks/controller.c: controller: use real world number in benchmark 2009-05-31 22:37:03 +0300 Stefan Kost * gst/gstregistry.c: registry: fix comment formatting 2009-05-30 20:36:25 +0100 Tim-Philipp Müller * plugins/elements/gstfakesink.c: * plugins/elements/gstfakesink.h: * tests/check/Makefile.am: * tests/check/elements/fakesink.c: fakesink: hack around crasher bug in g_object_notify() for out-of-band events GObject may crash if two threads do concurrent g_object_notify() on the same object. This may happen if fakesink receives an out-of-band event such as FLUSH_START while processing a buffer or serialised event in the streaming thread. Since this may happen with the default settings during a common operation like a seek, and there seems to be little chance of a timely fix in GObject (see #166020), we should hack around this issue by protecting all of fakesink's direct g_object_notify() calls with a lock. Also add unit test for the above. Fixes #554460. 2009-05-31 16:17:45 +0100 Tim-Philipp Müller * gst/gsttaglist.c: taglists: make _get_{string|pointer} return FALSE for NULL values Make gst_tag_list_get_string() return FALSE for NULL strings and empty strings, and gst_tag_list_get_pointer() return FALSE for NULL pointers, like we do with dates and buffers. Fixes #560345. 2009-05-30 20:50:40 +0100 Tim-Philipp Müller * gst/gststructure.c: * tests/check/gst/gststructure.c: * tests/check/gst/gsttag.c: taglists: warn if someone tries to add empty or NULL string tags to a taglist Also warn if an element or application tries to add a field with an empty string to a structure (NULL strings are still needed and allowed though) and do all those checks in the right function. Fixes #559643. 2009-05-29 18:22:42 +0100 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gstevent.c: * gst/gstmessage.c: * gst/gstquery.c: * gst/gststructure.c: * gst/gststructure.h: * win32/common/libgstreamer.def: structure: add gst_structure_id_new() convenience function Add convenience wrapper for gst_structure_id_empty_new() plus gst_structure_id_set() and use it in a few places. API: gst_structure_id_new() 2009-05-29 18:00:06 +0100 Tim-Philipp Müller * gst/gstevent.c: * gst/gstmessage.c: * gst/gstquark.c: * gst/gstquark.h: * gst/gstquery.c: * gst/gsttaglist.c: micro-optimisation: use GST_QUARK in more places Use gst_structure_id_empty_new() in combination with GST_QUARK rather than gst_structure_id_new() when creating message, event, query and taglist structures. Mostly just because we can. 2009-05-29 16:04:28 +0200 Wim Taymans * gst/gstelement.c: element: reset start_time in lost state 2009-05-29 13:03:15 +0200 Wim Taymans * gst/gstelement.c: * gst/gstpipeline.c: docs: update element an pipeline docs 2009-05-29 12:48:28 +0200 Wim Taymans * docs/design/part-TODO.txt: docs: remove a TODO item that is fixed now 2009-05-29 12:21:36 +0200 Wim Taymans * gst/gstpipeline.c: * gst/gstpipeline.h: * tests/check/gst/gstpipeline.c: pipeline: deprecate old methods, fix test Deprecate the old _set_stream_time and _get_last_stream_time methods because they are now equivalent to the better named _set/_get_start_time. 2009-05-28 16:30:52 +0200 Wim Taymans * gst/gstpipeline.c: * gst/gstpipeline.h: pipeline: use START_TIME to keep track of time Use the element START_TIME to keep track of the running time when the pipeline paused so that it can be used to restore the base_time. Take the start_time before setting the children to PAUSED so that we can distribute the start_time to the children. 2009-05-28 15:40:01 +0200 Wim Taymans * gst/gstbin.c: bin: set the base_time and start_time better Simply set the start_time and base_time on the element instead of calling the setters. 2009-05-27 11:35:58 +0200 Wim Taymans * gst/gstbin.c: bin: make the bin set the start_time on elements Set the start_time of the bin on the elements when they are added to the pipeline and when a state change happens. 2009-05-26 11:53:05 +0200 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gstelement.c: * gst/gstelement.h: * win32/common/libgstreamer.def: element: add start_time field an methods Add a start_time field and some methods. The start_time will contain the running_time of when the element last went to paused. This time can be user to report the position in PAUSED but also to do more correct clipping and stepping later. 2009-05-28 22:02:21 +0200 Arnout Vandecappelle * libs/gst/base/gstadapter.c: * tests/check/libs/adapter.c: adapter: fix _masked_scan_uint32() at boundaries gst_adapter_masked_scan_uint32 could return values smaller than offset if the first byte(s) of the mask are 0 and the pattern matches the beginning of the adapter. Added examples to documentation of gst_adapter_masked_scan_uint32(). Also added some more masked boundary tests. Fixes #584118 2009-05-28 16:36:32 +0200 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gstpad.c: * gst/gstpad.h: pad: add pad private structure Add pad private structure and move the new chainlistfunc into the private struct. This avoids ABI breakage and allows us to expand in the future. 2009-05-27 16:34:19 +0200 Sebastian Dröge * win32/common/libgstbase.def: Add missing symbol to the win32 exports This was accidentially removed by my last commit. 2009-05-27 16:17:31 +0200 Wim Taymans * gst/gstbuffer.c: buffer: avoid memory leaks Avoid leaking the caps of the dest buffer and avoid doing needless caps refs. When the source and target buffers are the same, return immediatly. 2009-05-27 14:32:51 +0200 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gstmessage.c: * gst/gstmessage.h: * gst/gstutils.c: * win32/common/libgstbase.def: * win32/common/libgstreamer.def: API: Add gst_message_{new,parse}_tag_full() to get/set the source pad Fixes bug #582588. 2009-05-27 14:06:13 +0200 Sebastian Dröge * gst/gstutils.c: Revert "element: Set the originating pad as message source in gst_element_found_tags_for_pad ()" This reverts commit bebfde75027e975b7e7c74c6358c5be83ea4ac9f. This change shouldn't be done in a stable release series as applications are actually expecting the sender to be an GstElement. One example is totem. 2009-05-26 11:35:49 +0100 Jan Schmidt * common: Update common 2009-05-26 10:41:28 +0100 Tim-Philipp Müller * Makefile.am: Fix 'make distcheck' The check-enum-gettypes rule didn't work for 'make distcheck' since it makes assumptions about the location of the source files from the current working directory which isn't true during distchecking. 2009-05-26 10:38:56 +0100 Tim-Philipp Müller * docs/manuals.mak: manuals.mak: attempt to make 'make distcheck' work with -jN Attempt to fix the 'cannot create regular file build/image.entitites: file exists' error I got. 2009-05-25 23:58:37 +0100 Tim-Philipp Müller * tools/gst-launch.1.in: docs: fix cdparanoia example pipeline in gst-launch man page 2009-05-25 18:44:14 +0200 Wim Taymans * gst/gstelement.c: element: fix typo in comments 2009-05-25 17:43:32 +0100 Jan Schmidt * tests/examples/streams/Makefile.am: dist: Fix the name of the header to dist: testrtpool.h, not rtpool-test.h 2009-05-25 17:03:05 +0100 Jan Schmidt * common: Update common 2009-05-25 16:54:25 +0200 Wim Taymans * gst/gstclock.c: clock: remove assertion Remove an assertion, this is not really an error in all cases. Fixes #582010 2009-05-25 16:21:55 +0200 Wim Taymans * gst/gstsystemclock.c: clock: enable monotonic clock when we can Enable the monotonic clock by default when we can. Fixes #583554 2009-05-25 14:52:13 +0200 Wim Taymans * docs/design/draft-klass.txt: docs: add Image to draft klass documentation 2009-05-25 13:03:42 +0200 Wim Taymans * gst/gstpad.c: pad: keep task ref before releasing the lock Keep a ref to the task on the pad so that a concurrent stop can stop and join the task. 2009-05-25 11:56:47 +0200 Wim Taymans * gst/gsttask.c: gsttask: avoid join to return early Unset the running flag after we released the lock for posting the stream-status message. If we set the running flag to FALSE too early, the join method will just continue without waiting for the message to be posted, leading to potential crashes. 2009-05-24 23:14:26 +0300 Stefan Kost * gst/gstpreset.c: preset: fix update rule Only update the preset from system, if we had a preset before and system version is newer. 2009-05-22 23:47:30 +0300 Stefan Kost * tests/benchmarks/.gitignore: * tests/benchmarks/Makefile.am: * tests/benchmarks/controller.c: controller: add a benchmark to verify the switch to gsequence 2009-05-22 23:50:58 +0300 Stefan Kost * tests/examples/controller/audio-example.c: controller: add more error handling to example 2009-05-22 23:14:41 +0300 Stefan Kost * gst/gstregistrybinary.c: registry: don't free node-date and deref again. Fixes #580579 When writing a cache chunk fails, we were freeing the node and jump to a final cleanup which dereferenced a null pointer. Leve freeing the node to the cleanup code in fail_free_list. (sorry for committing wrong fix before). 2009-05-22 23:10:00 +0300 Stefan Kost * gst/gstregistrybinary.c: registry: don't free node-date and deref again. Fixes #580579 When writing a cache chunk fails, we were freeing the node and jump to a final cleanup which dereferenced a null pointer. Leve freeing the node to the cleanup code in fail_free_list. 2009-05-22 14:17:56 +0300 Stefan Kost * libs/gst/controller/gstinterpolation.c: * libs/gst/controller/gstinterpolationcontrolsource.c: controller: add G_LIKELY and join two if for same condition A G_LIKELY for the sequence!=NULL checks. Join two ifs to an if-else. Add indent guides to keep indent form breaking the function declaration 2009-05-22 12:57:10 +0200 Edward Hervey * libs/gst/base/gsttypefindhelper.c: gsttypefindhelper: Fix indentation 2009-05-22 12:24:22 +0300 Stefan Kost * gst/gstclock.c: * gst/gstmessage.c: * gst/gstpad.c: * gst/gstquery.c: * gst/gsttask.c: docs: fix gtk-doc warnings Move MT safety to main description (it does not belong to Return: or Since: statement). Add a few missing return docs. Downgrade a normal comment froma doc comment. Fix a doc header to only contain symbol name. 2009-05-22 10:19:36 +0100 Jan Schmidt * common: Automatic update of common submodule From d3a8fab to 888e0a2 2009-05-22 09:51:44 +0100 Jan Schmidt * tests/examples/streams/Makefile.am: dist: Add rtpool-test.h to the sources list so it gets disted. Fixes the distcheck 2009-05-22 09:44:25 +0100 Jan Schmidt * tests/benchmarks/.gitignore: gitignores: Ignore the clockstress benchmark binary 2009-05-22 09:41:36 +0100 Jan Schmidt * libs/gst/controller/gstinterpolation.c: controller: Silence a warning from the GSequence being NULL. Fix a warning that occurs when the self->priv->values is NULL and the code tries to retrieve an iterator from it. The warning was showing up in the checks for the volume element. 2009-05-22 09:33:02 +0100 Jan Schmidt * gst/gstelement.c: * gst/gstmessage.c: * gst/gstpad.c: * gst/gsttask.c: * gst/gstutils.h: docs: Fix up some documentation warnings. Since: tags should always be the last thing in a doc block, apparently. Add some Returns: descriptions to some recent functions. 2009-05-21 17:32:00 +0200 Wim Taymans * gst/gstclock.c: * gst/gstelement.c: * gst/gstelement.h: * gst/gstevent.c: * gst/gstpipeline.c: docs: update docs for stream_time->running_time Change some instances where we wrongly refer to stream time where it should have been running time. 2009-05-21 10:57:47 +0100 Tim-Philipp Müller * tools/gst-launch.c: gst-launch: don't use G_GUINT32_FORMAT in translatable string xgettext doesn't handle this very well. Fixes #583419. 2009-05-20 17:07:37 +0100 Tim-Philipp Müller * autogen.sh: autogen.sh: can remove the -Wno-portability from here now since we added it to configure.ac. 2009-05-20 22:18:16 +0200 Wim Taymans * libs/gst/base/gstadapter.c: adapter: improve the flush function Remove a compare and branch from flush. 2009-05-20 17:24:19 +0300 Stefan Kost * libs/gst/controller/gstinterpolationcontrolsource.c: controller: fix assertion when freeing the control source 2009-05-20 12:48:41 +0200 Wim Taymans * libs/gst/base/gstadapter.c: adapter: potentially save a memcpy in _take Directly use the assembled_data in _take() functions when we can instead of copying it out. 2009-05-20 11:36:11 +0200 Wim Taymans * libs/gst/base/gstadapter.c: adapter: micro optimisations 2009-05-20 11:12:43 +0200 Wim Taymans * libs/gst/base/gstadapter.c: adapter: avoid comparisions in fast path Small tweaks to reduce the number of useless compares in loops. 2009-05-20 10:28:08 +0200 Wim Taymans * tests/check/libs/adapter.c: tests: one more adapter test 2009-05-20 10:27:43 +0200 Wim Taymans * libs/gst/base/gstadapter.c: adapter: avoid branch in copy code 2009-05-20 10:56:11 +0300 Hannes Bistry * gst/gstbin.c: * gst/gstelement.c: * gst/gstpad.c: loadsave: fix requestpad handling and serialisation order. Support request pads when loading. Reverse pad serialisation order to preserve it when recreating the pipeline. 2009-05-20 00:45:27 +0200 Wim Taymans * win32/common/libgstbase.def: defs: add new symbol 2009-05-20 00:44:11 +0200 Wim Taymans * docs/libs/gstreamer-libs-sections.txt: docs: add new symbol to docs 2009-05-20 00:37:53 +0200 Wim Taymans * libs/gst/base/gstadapter.c: * libs/gst/base/gstadapter.h: * tests/check/libs/adapter.c: adapter: add _masked_scan_uint32 Add a reasonably optimized new gst_adapter_masked_scan_uint32() function to scan the adapter for a pattern after applying a mask. Add some unit tests. API: GstAdapter::gst_adapter_masked_scan_uint32() Fixes #583187 2009-05-19 22:13:04 +0200 Wim Taymans * libs/gst/base/gstadapter.c: adapter: more optimisations Remove duplicate copy code (_peek_into and _copy) and make a unified optimized copy function. 2009-05-19 17:12:41 +0100 Tim-Philipp Müller * configure.ac: configure: pass -Wno-portability to automake to suppress warnings GNU make is required, no point pretending otherwise. 2009-05-18 01:00:36 +0100 Tim-Philipp Müller * gst/gstformat.h: docs: mention that GST_FORMAT_{PERCENT|BUFFERS} are not implemented 2009-05-17 10:46:39 +0200 Sebastian Dröge * gst/gstclock.c: * gst/gstclock.h: gstclock: Fix ABI breakage on 32 bit architectures The padding of GstClock is a GstClockTime and not a gpointer, so adding a pointer requires the padding size to be changed depending on the pointer size. Use an union instead. Fixes bug #582878. 2009-05-15 15:24:40 -0300 Thiago Santos * gst/gstvalue.h: [gstvalue] adds safety parenthesis to macros missing them. 2009-05-15 14:42:48 -0300 Thiago Santos * gst/gstutils.h: [gstutils] Adds more safety to GST_WRITE_* and GST_READ_ macros. Adds safety ( ) to parameters in _GST_PUT and _GST_GET macros. Fixes #582708. 2009-03-19 11:37:12 +0100 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gstclock.c: * gst/gstclock.h: clock: use seqlocks to parallellize readers 2009-04-16 15:53:29 +0200 Wim Taymans * tests/benchmarks/Makefile.am: * tests/benchmarks/gstclockstress.c: stress: add a clock stresstest Add a stresstest for gst_clock_get_time(). 2009-05-15 11:00:53 +0200 Edward Hervey * docs/design/Makefile.am: * gst/Makefile.am: Makefile.am: update for added/moved/removed files that weren't dist-ed. 2009-05-12 11:29:21 +0100 Jan Schmidt * docs/random/release: docs: Release script modifications 2009-05-14 22:11:57 +0200 Sebastian Dröge * libs/gst/controller/gstinterpolation.c: * libs/gst/controller/gstinterpolationcontrolsource.c: * libs/gst/controller/gstinterpolationcontrolsourceprivate.h: controller: Use ordered GSequence instead of GList This makes lookups and insertions O(log n) instead of always O(n) for insertions and O(n) in worst case for lookups. Fixes bug #582564. 2009-05-14 12:30:23 +0200 Wim Taymans * docs/design/draft-ghostpads.txt: * docs/design/part-latency.txt: * docs/design/part-missing-plugins.txt: * docs/design/part-stream-status.txt: docs: rename and delete some design docs 2009-05-14 12:30:04 +0200 Sebastian Dröge * tools/gst-launch.c: gst-launch: Print the path string for message sources This reduces confusion if the message source is a pad and only "src" is printed as source. 2009-05-14 12:25:20 +0200 Sebastian Dröge * gst/gstutils.c: element: Set the originating pad as message source in gst_element_found_tags_for_pad () Fixes bug #582588. 2009-05-14 11:36:28 +0200 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gstelement.c: * gst/gstelement.h: * win32/common/libgstreamer.def: element: add gst_element_lost_state_full() Add a gst_element_lost_state_full() with an extra argument to control distribution of a new base_time. We will need this for flushing step operations. API: GstElement::gst_element_lost_state_full() 2009-05-13 23:52:02 +0200 Wim Taymans * libs/gst/base/gstadapter.c: adapter: don't use realloc, it does a memcpy Don't use realloc to grow the scratch area because we don't want the memcpy the old useless data into the new area before we write our new stuff in it. 2009-05-13 23:38:08 +0200 Wim Taymans * docs/design/part-trickmodes.txt: docs: update trickmode document 2009-05-13 22:51:18 +0200 Wim Taymans * libs/gst/base/gstadapter.c: adapter: use g_realloc for resizing the buffer Use g_realloc for resizing the internal buffer instead of a less fancy _free/_malloc pair. 2009-05-13 21:35:23 +0200 Wim Taymans * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstadapter.c: * libs/gst/base/gstadapter.h: adapter: move new member to private struct Move the new members to a private struct because we don't have enough padding anymore on 32-bits platforms. 2009-05-13 18:50:23 +0200 Wim Taymans * libs/gst/base/gstadapter.c: adapter: update some docs 2009-05-13 17:09:32 +0200 Wim Taymans * tests/check/libs/adapter.c: tests: add another test for adapter timestamps 2009-05-13 16:48:38 +0200 Wim Taymans * tests/check/libs/adapter.c: tests: add new timestamp unit test 2009-05-13 16:26:00 +0200 Wim Taymans * win32/common/libgstbase.def: defs: add new symbol 2009-05-13 16:09:20 +0200 Wim Taymans * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstadapter.c: * libs/gst/base/gstadapter.h: adapter: add method to keep track of timestamps Keep track of the timestamp and offset associated with the current head of the adapter. API: GstAdapter::gst_adapter_prev_timestamp() 2009-05-13 16:20:26 +0200 Wim Taymans * libs/gst/base/gstadapter.c: * libs/gst/base/gstadapter.h: adapter: small cleanups 2009-05-13 11:03:27 +0300 Stefan Kost * gst/gstdebugutils.c: debugutils: show more pad-details Show pad activation mode and pad-flags inside the pad. Write down some ideas about how we could improve the caps layout. 2009-05-13 00:29:57 +0300 Stefan Kost * gst/gstdebugutils.c: debugutils: layout improvement dot does not take the head/tail labels into account. For unfixed caps they get quite large. Double the padding to make it sort of readable in more cases. Also make normal font bigger and caps-label font smaller to increase our luck. 2009-05-12 21:00:15 +0100 Tim-Philipp Müller * Makefile.am: checks: check for enum types not class_ref'ed in gst_init() in 'make check' 2009-05-12 20:58:32 +0100 Tim-Philipp Müller * gst/gst.c: Initialise some more types in gst_init(), esp. the new enum types Possibly fixes GObject class creation/unref race conditions when creating the last-message string in fakesink for events with structures that have fields with these enum types. 2009-05-12 20:56:06 +0100 Tim-Philipp Müller * gst/gstsystemclock.c: systemclock: remove duplicate _get_type() function for GstClockType Remove the static gst_clock_type_get_type() function in the systemclock code in favour of the public one in gstenumtypes.c. 2009-04-22 10:53:37 +0300 Stefan Kost * gst/gstghostpad.c: ghostpad: remove deprecated API _internal_link_function() is deprecated and _iterate_internal_links_function() is already provided. 2009-04-21 11:33:43 +0300 Stefan Kost * gst/parse/grammar.y: parse-launch: allow specifying GstElement properties via gst_parse_bin_from_description If deserializing a property fails, check if the value type is a string and if so attempt to create a bin from the string value. This allows to e.g. specify audio-sink/video-sink for playbin on gst-launch commandline. 2009-05-12 17:29:15 +0200 Wim Taymans * docs/design/part-bufferlist.txt: docs: add some docs about buffer lists 2009-05-12 16:18:48 +0200 Wim Taymans * gst/gstbufferlist.c: * gst/gstbufferlist.h: bufferlist: make objects opaque 2009-05-12 15:33:25 +0200 Wim Taymans * gst/gstbufferlist.c: bufferlist: fix a comment 2009-05-12 13:10:55 +0200 Jonas Holmberg * docs/gst/gstreamer-sections.txt: * gst/gstpad.c: * gst/gstpad.h: * tests/check/gst/gstpad.c: * win32/common/libgstreamer.def: bufferlist: hook up the pad functions Reuse buffer code for bufferlists. Not sure if this measurably impacts performance for the simple buffer case, if it does after doing some benchmarks, we can decouple it later. Fixes #572285 2009-05-12 12:08:56 +0200 Jonas Holmberg * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * gst/Makefile.am: * gst/gst.c: * gst/gst.h: * gst/gst_private.h: * gst/gstinfo.c: * tests/check/Makefile.am: * tests/check/gst/.gitignore: * tests/check/gst/gstbufferlist.c: * win32/common/libgstreamer.def: bufferlist: add docs/build/debug/unittest See #572285 2009-05-12 11:51:37 +0200 Jonas Holmberg * gst/gstbufferlist.c: * gst/gstbufferlist.h: bufferlist: add bufferlist code Buffer lists are a means to manage disjoint buffers as one buffer. It's also possible to put many of those buffers into a list. The idea is that when support is added to various elements, we will be able to more efficiently slice and dice buffers, reduce the amount of memcpy and also reduce data passing overhead. The implementation is kept simple on purpose, reusing all of the memory management features we have for miniobjects and buffers. Access to the bufferlist object is done with an iterator, which allows for efficient iteration and modification of the list. See #572285 2009-05-11 07:49:34 +0200 Edward Hervey * gst/gstbuffer.c: gstbuffer: copy new buffer flags when copying metadata. 2009-04-27 10:13:01 +0200 Wim Taymans * libs/gst/base/gstadapter.c: * tests/check/libs/adapter.c: adapter: optimize taking the headbuffer When a are requested to take a buffer from the adapter that is exactly the headbuffer, don't make a subbuffer of it but return that head buffer. Add a unit-test for this new optimisation. 2009-05-05 17:41:24 +0200 Arnout Vandecappelle * plugins/elements/gsttypefindelement.c: typefind: don't leak the force-caps property Fixes #581321 2009-04-28 19:20:31 +0200 Wim Taymans * gst/gstelement.c: element: fix posting of async-start messages When an element lost its state but was busy doing a state change, still post the async-start message with the base_time reset flag or else we might end up with an old base_time. this can happen when a sink is goin async to paused and then a flushing seek is performed. This would cause the base_time to remain unmodified because the async-start message was not sent. 2009-05-10 17:28:36 +0200 Sebastian Dröge * win32/common/libgstreamer.def: Add new functions to the win32 exports 2009-05-10 11:17:27 +0200 Marc-Andre Lureau * autogen.sh: Run libtoolize before aclocal This unbreaks the build in some cases. Fixes bug #582021 2009-05-07 16:37:37 +0200 José Alburquerque * docs/gst/gstreamer-sections.txt: * gst/gstplugin.c: * gst/gstplugin.h: API: Add gst_plugin_register_static_full() This is mainly useful for bindings that need to provide some additional user data to the registration function. Fixes bug #545787. 2009-05-07 16:01:57 +0200 Sebastian Dröge * plugins/elements/gstfilesrc.c: filesrc: Improve debugging a bit on invalid URIs 2009-05-07 10:36:50 +0200 Sebastian Dröge * docs/gst/gstreamer-sections.txt: docs: Add new functions to the docs 2009-05-07 09:31:01 +0200 Sebastian Dröge * gst/gsttaglist.c: * gst/gsttaglist.h: * gst/gsttagsetter.c: * gst/gsttagsetter.h: tags: API: Add functions to add single tags to GstTagList or GstTagSetter The new functions are gst_tag_setter_add_tag_value() and gst_tag_list_add_value()). This fixes bug #581198. 2009-05-07 09:28:15 +0200 Sebastian Dröge * gst/gsturi.c: GstURIHandler: Use get_type_full() vmethod if specified instead of get_type() This fixes bug #581281 and makes it easier for bindings to implement GstURIHandlers. get_protocols_full() was already used like this. 2009-05-12 01:48:36 +0100 Tim-Philipp Müller * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: po: update .po files for new strings from container-format tag 2009-05-12 01:30:13 +0100 Tim-Philipp Müller * docs/random/release: docs: small update to release docs 2009-05-12 01:13:02 +0100 Tim-Philipp Müller * common: * configure.ac: configure: rename CVS -> git in a couple of places 2009-05-12 00:47:46 +0100 Tim-Philipp Müller * configure.ac: configure: bump the GLib requirement to GLib >= 2.16 as per the New Regime (see wiki). 2009-05-12 00:09:58 +0100 Tim-Philipp Müller * configure.ac: * gst/Makefile.am: * gst/gst.c: * gst/gst_private.h: * gst/gstregistryxml.c: xmlregistry: remove the old xml registry No point in keeping it around really. Fixes #577926. 2009-05-07 16:08:43 +0100 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gsttaglist.c: * gst/gsttaglist.h: tags: add a tag for the container format API: add GST_TAG_CONTAINER_FORMAT 2009-05-08 16:28:03 +0100 Tim-Philipp Müller * gst/gstbin.c: bin: fix debug message Make the debug message show what's actually happening (the message replaced here is not necessarily of the same type as the one that replaces it). 2009-05-12 00:34:44 +0200 Wim Taymans * gst/gsttask.c: GstTask: fix compilation 2009-04-24 19:32:33 +0200 Wim Taymans * tests/examples/streams/rtpool-test.c: tests: set the latency-time to something low 2009-04-24 13:55:13 +0200 Wim Taymans * tests/examples/streams/rtpool-test.c: * tests/examples/streams/testrtpool.c: tests: improve the example 2009-04-24 12:35:08 +0200 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gsttask.c: * gst/gsttaskpool.c: * gst/gsttaskpool.h: * tests/examples/streams/.gitignore: * tests/examples/streams/testrtpool.c: * win32/common/libgstreamer.def: TaskPool: remove _set_func() Remove the static function set on the TaskPool before _prepare() is called and allow for assigning a function to a Task when we _push(). Update the examples 2009-04-23 19:42:47 +0200 Wim Taymans * tests/examples/streams/Makefile.am: * tests/examples/streams/rtpool-test.c: * tests/examples/streams/testrtpool.c: * tests/examples/streams/testrtpool.h: tests: add example of custom taskpools Add an example to demonstrate the use of a custom taskpool and how to configure it on the task. Currently the taskpool does not do much yet but it'll create some custom threads later on. 2009-04-23 19:41:36 +0200 Wim Taymans * gst/gsttaskpool.h: taskpool: fix a comment 2009-04-23 19:41:01 +0200 Wim Taymans * tests/examples/streams/stream-status.c: tests: cleanup some code 2009-04-23 17:48:08 +0200 Wim Taymans * gst/gstpad.c: * tests/check/gst/gstbin.c: Pad: post STREAM_STATUS_TYPE_CREATE Post a stream-status message indicating that a new task was created so that the application has a chance to change the properties of the task. Fix unit test to take into account the new ref of the message. 2009-04-23 17:24:58 +0200 Wim Taymans * win32/common/libgstreamer.def: defs: add new task methods 2009-04-23 17:19:11 +0200 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gsttask.c: * gst/gsttask.h: GstTask: add methods for configuring the pool Add getter and setter for configuring the GstTaskPool to use for a GstTask. 2009-04-23 17:05:21 +0200 Wim Taymans * gst/gsttask.c: Task: remember pool Remember the pool we currently have our task running so that we can use it to join the task later on. Fix a leak of the taskpool. 2009-04-23 16:53:34 +0200 Wim Taymans * win32/common/libgstreamer.def: defs: update .defs file with taskpool methods 2009-04-23 16:53:14 +0200 Wim Taymans * gst/gsttask.c: task: fix deadlock due to typo 2009-05-12 00:25:11 +0200 Wim Taymans * gst/gsttask.c: * gst/gsttask.h: GstTask: use GstTaskPool for managing threads Use the new GstTaskPool to handle streaming threads. 2009-04-23 16:00:56 +0200 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gsttaskpool.c: * gst/gsttaskpool.h: taskpool: fix docs, make push/join generic Fix some more docs. Make _push() return a generic id (this can be something else than a GThread in some cases) and make _join() use that generic id. 2009-04-23 15:44:13 +0200 Wim Taymans * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * gst/Makefile.am: * gst/gst.h: * gst/gsttaskpool.c: * gst/gsttaskpool.h: taskpool: add new object to manage threads Add a new object GstTaskPool to manage the streaming threads. This will allow us to create and use custom configured threads. 2009-04-22 12:04:36 +0200 Wim Taymans * tests/examples/streams/stream-status.c: examples: set bus handler before state change We need to set the bus handler before starting the pipeline or we might just miss the message we are looking for. 2009-04-22 10:16:26 +0200 Wim Taymans * configure.ac: * tests/examples/Makefile.am: * tests/examples/streams/.gitignore: * tests/examples/streams/Makefile.am: * tests/examples/streams/stream-status.c: tests: add example app for stream-status Add an example application that adjusts the thread priority of a task using the stream-status messages. 2009-04-21 19:15:48 +0200 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gsttask.c: * gst/gsttask.h: * win32/common/libgstreamer.def: Task: add method to set the priority Add a method to configure a priority for the threads used by GstTask. 2009-04-21 16:30:34 +0200 Wim Taymans * tests/check/gst/gstmessage.c: tests: add a unit-test for the stream-status Add a unit test for the STREAM_STATUS messages. 2009-05-12 00:05:12 +0200 Wim Taymans * gst/gstpad.c: * gst/gsttask.c: * gst/gsttask.h: GstTask: improve documentation Improve the documentation for the callbacks. 2009-04-21 15:25:12 +0200 Wim Taymans * tests/check/gst/gstbin.c: * tests/check/pipelines/cleanup.c: * tests/check/pipelines/simple-launch-lines.c: tests: fix unit-tests for new stream-status Fix the unit-tests so that they don't fail on the new stream-status messages that are emited now. 2009-04-21 14:46:29 +0200 Wim Taymans * gst/gstpad.c: GstPad: install thread callbacks of the task Install thread status callbacks on the task object of a pad and post STREAM_STATUS messages. 2009-04-22 10:14:46 +0200 Wim Taymans * gst/gstmessage.c: message: clarify some docs 2009-04-21 14:42:05 +0200 Wim Taymans * gst/gsttask.c: Task: call leave_thread before signaling Call the leave_thread callback before we signal the thread performing the _join so that we can be sure that the listener still has valid info in the callback. 2009-04-21 13:42:01 +0200 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gstmessage.c: * gst/gstmessage.h: * win32/common/libgstreamer.def: GstMessage: Add STREAM_STATUS message methods Add methods to handle the stream_status message types. 2009-04-21 13:05:17 +0200 Wim Taymans * gst/gstquark.c: * gst/gstquark.h: quark: add "object" quark Add the object quark that will be used for the STREAM_STATUS messages. 2009-05-11 23:44:42 +0200 Wim Taymans * gst/gsttask.h: Task: remove create/join methods Prepare for using the GstTaskPool object. We don't need the create and join callbacks anymore, they will be handled by the pool. 2009-04-20 17:07:50 +0200 Wim Taymans * gst/gsttask.c: GstTask: add private data, fix parent_class Use the parent class that the glib macro gave us Actually add the private data to the task. 2009-04-20 17:19:21 +0200 Wim Taymans * gst/gsttask.c: GstTask: hook up enter/leave/notify callbacks Hoop up the notify/enter/leave callbacks. 2009-05-11 23:23:20 +0200 Wim Taymans * win32/common/libgstreamer.def: defs: add new symbol to defs file 2009-05-11 23:19:53 +0200 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gsttask.c: * gst/gsttask.h: GstTask: allow setting callbacks Allow setting thread callbacks that will allow us to control the threads used by the task. 2009-04-23 19:40:11 +0200 Wim Taymans * libs/gst/base/gstbasesrc.c: basesrc: don't ignore pad_start return value 2009-04-21 13:34:18 +0200 Wim Taymans * docs/design/draft-stream-status.txt: design: more STREAM_STATUS updates Pass the thread object in a GValue, which would allow the application to figure out the type of the object instead of us having to explicitly code it in a message field. 2009-04-21 09:45:08 +0200 Wim Taymans * docs/design/draft-stream-status.txt: design: update stream-status document some more 2009-04-20 15:55:09 +0200 Wim Taymans * docs/design/draft-stream-status.txt: design: add first version of stream-status Add the first version of the STREAM_STATUS message design docs. This message will be used to give applications more control over the streaming threads. 2009-04-21 17:53:07 +0200 Wim Taymans * gst/gsttask.c: GstTask: add some more docs 2009-04-21 17:14:34 +0200 Wim Taymans * gst/gstpad.c: GstPad: use new task function Use the new task_set_state function and actually return its result to the caller. 2009-05-11 22:59:35 +0200 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gsttask.c: * gst/gsttask.h: * win32/common/libgstreamer.def: GstTask: unify task state functions Add new gst_task_set_state() to change the state of the task instead of duplicating the code in each function. API: GstTask::gst_task_set_state() 2009-04-21 13:37:22 +0200 Wim Taymans * gst/gstmessage.h: Message: small indentation change. 2009-05-02 14:43:11 +0200 Wim Taymans * gst/gstelementfactory.c: * gst/gstobject.c: * gst/gstpluginfeature.c: * gst/gstregistry.c: * gst/gstregistrybinary.c: Avoid unneeded type checks 2009-05-02 14:39:48 +0200 Wim Taymans * gst/gstregistry.c: registry: avoid calling _get_name() too much Avoid calling gst_plugin_get_name() too many times but instead cache the value. 2009-05-02 14:36:50 +0200 Wim Taymans * gst/gstpadtemplate.c: * gst/gstregistry.c: * gst/gstsystemclock.c: Use new _ref_sink when we can 2009-05-02 14:33:01 +0200 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gstobject.c: * gst/gstobject.h: * win32/common/libgstreamer.def: gstobject: add gst_object_ref_sink Add the gst_object_ref_sink() method to match the glib one. API: GstObject::gst_object_ref_sink() 2009-05-02 13:06:10 +0200 Wim Taymans * gst/gstobject.c: gstobject: avoid type checks 2009-05-02 13:02:10 +0200 Wim Taymans * gst/gstbuffer.c: gstbuffer: avoid typechecks in finalize Avoid useless typechecking in the finalize of buffers and subbuffers. 2009-05-02 12:59:54 +0200 Wim Taymans * plugins/elements/gstfakesink.c: fakesink: avoid typecheck 2009-04-20 14:01:01 +0200 Wim Taymans * tools/gst-launch.c: -launch: connect to deep-notify with right name Connect to the right signal name with - instead of _. 2009-04-24 22:06:19 +0100 Jan Schmidt * configure.ac: * gst/gstinfo.c: info: Support new printf extensions in glibc 2.10 The printf extension mechanism changed in glibc 2.10, and the older register_printf_function is deprecated. Detect and use the new mechanism where available. 2009-04-20 12:25:57 +0100 Jan Schmidt * docs/random/release: docs: Fix a typo in the release script 2009-05-11 21:11:49 +0100 Jan Schmidt * configure.ac: Back to development -> 0.10.23.1 === release 0.10.23 === 2009-05-10 22:41:04 +0100 Jan Schmidt * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/gstreamer-plugins.args: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * gstreamer.doap: * win32/common/config.h: * win32/common/gstversion.h: Release 0.10.23 2009-05-10 22:38:45 +0100 Jan Schmidt * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files 2009-05-06 16:10:11 +0100 Jan Schmidt * configure.ac: * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: * win32/common/config.h: * win32/common/gstversion.h: 0.10.22.4 pre-release 2009-04-24 19:36:22 +0200 Wim Taymans * gst/gstbin.c: GstBin: set PENDING_STATE correctly Set the pending state correctly when we are going to perform an async state_continue on the bin. Fixes #580121 2009-04-21 20:50:55 +0100 Jan Schmidt * configure.ac: * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: * win32/common/config.h: * win32/common/gstversion.h: 0.10.22.3 pre-release 2009-04-21 22:12:04 +0100 Jan Schmidt * common: Automatic update of common submodule From b3941ea to 6ab11d1 2009-04-17 15:46:52 +0100 Tim-Philipp Müller * configure.ac: win32: define __MSVCRT_VERSION__ when compiling with MingW, for __stat64 Need to define this when using MingW, so that the includes provide __stat64 and friends. We need at least Windows XP SP2 for this. Fixes #568632. 2009-04-16 22:26:00 +0300 Stefan Kost * gst/gstinfo.c: * gst/gstinfo.h: gstdebug: compete stubs. Fixes #579177. Avoid defines when including gstinfo.h ourself and complete stubs. Sync stub returns with the defines. 2009-04-17 11:44:11 +0100 Yaakov Selkowitz * configure.ac: configure.ac: fork() during registry scanning is unsafe on Cygwin Fixes #555978. 2009-04-17 11:39:59 +0100 Yaakov Selkowitz * gst/gst.c: gst_init: relocatability is unnecessary on Cygwin See #555978. 2009-04-17 10:11:21 +0100 Brian Cameron * gst/gstinfo.h: gstinfo: don't assume G_HAVE_ISO_VARARGS implies ISO C99 Makes headers C++ clean, esp. with the Sun compilers. Fixes #567692. 2009-04-17 09:17:40 +0100 Tim-Philipp Müller * gst/gstplugin.c: GstPlugin: fix compilation if both HAVE_WIN32 and HAVE_SIGACTION are defined Move _gst_plugin_fault_handler_is_setup into the ifdef block where it's used. Fixes #578201. 2009-04-16 12:01:50 +0200 Wim Taymans * tools/gst-launch.c: -launch: disable CLOCK_LOST message handling Disable the handling of the CLOCK_LOST messages until we fixed and released the elements (rtspsrc) that break when we quickly PAUSE/PLAY the pipeline. Fixes #579127 2009-04-15 22:24:45 +0100 Jan Schmidt * configure.ac: release: Bump version to 0.10.22.2 for pre-release 2009-04-16 00:08:20 +0100 Jan Schmidt * win32/common/config.h: * win32/common/gstenumtypes.c: * win32/common/gstversion.h: win32: Update win32 build files 2009-04-15 23:27:31 +0100 Jan Schmidt * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: po: Update translations from TP 2009-04-15 22:17:10 +0100 Jan Schmidt * ChangeLog: ChangeLog: regenerate changelog with the gen-changelog script 2009-04-15 23:26:13 +0100 Jan Schmidt * gst/gstutils.c: docs: remove errant gtk-doc comment marker triggering a warning 2009-04-16 00:02:07 +0100 Jan Schmidt * docs/gst/gstreamer-sections.txt: * gst/gstparamspecs.c: * gst/gstparamspecs.h: * plugins/elements/gstfilesrc.c: paramspecs: revert gst_param_spec_is_mutable() for release Revert the gst_param_spec_is_mutable API for this release so we can discuss it a bit further first. 2009-04-15 23:33:20 +0300 Stefan Kost * libs/gst/base/gstbasetransform.c: logging: fix unused variable warning when disabling debug logs. The var was NULL anyway, bacause of the ifdefs there, the message makes no sense including it. 2009-04-15 23:12:11 +0300 Stefan Kost * configure.ac: * gst/gstinfo.c: * gst/gstinfo.h: gstdebug: show enabled/disabled in configure and fix build for disabled When its disabled, we poison some symbols to force a build error if they are used. Dunno how useful this acually is, but we need to disable the poisoning when we include this ourself. Also don't define some of the dummies, as they are getting replaced with defines and that creates code that does not compile. 2009-04-15 19:58:34 +0200 Sebastian Dröge * gst/Makefile.am: Use g_once_init_*() instead of GOnce for the enum types 2009-04-15 13:05:16 +0200 Sebastian Dröge * gst/gstpadtemplate.c: staticpadtemplate: Update docs of gst_static_pad_template_get_caps () gst_static_pad_template_get_caps () actually returns a reference to the caps and it's cleaner to unref them after usage. The core will, however, always hold a reference to the caps so this didn't result in a memory leak. 2009-04-14 22:32:21 +0300 Stefan Kost * gst/gstclock.h: * gst/gstparamspecs.c: docs: use real tags as they look nice in new gtk-doc 2009-04-14 12:20:37 -0700 David Schleef * gst/gstparamspecs.c: Fix locking in gst_param_spec_is_mutable 2009-04-14 22:07:38 +0300 Stefan Kost * libs/gst/controller/gstcontroller.c: * tests/check/libs/controller.c: controller: factor out duplicated code and add a description for it. Also fix typo in the tests while reviewing them. 2009-04-14 19:12:52 +0200 Wim Taymans * gst/gstsystemclock.h: docs: add simple doc blurb 2009-04-14 19:11:44 +0200 Wim Taymans * gst/gstparamspecs.c: paramspecs: add note about racyness Add a note about potential racyness in _is_mutable(). 2009-04-14 10:32:07 +0200 LRN * gst/gstinfo.c: info: use mutex to do console colors on windows Use a static mutex to keep the console colors and context together when debugging with colors on Windows. Fixes #517231. 2009-04-13 14:27:49 +0100 Tim-Philipp Müller * gst/gstparamspecs.c: * gst/gstparamspecs.h: docs: add Since: tags to gtk-doc chunks for new param spec API And, for our release manager, the in-commit-message keywords for the previous commit: API: GST_PARAM_MUTABLE_READY API: GST_PARAM_MUTABLE_PAUSED API: GST_PARAM_MUTABLE_PLAYING API: gst_param_spec_is_mutable 2009-02-20 11:09:19 -0800 David Schleef * docs/gst/gstreamer-sections.txt: * gst/gstparamspecs.c: * gst/gstparamspecs.h: * plugins/elements/gstfilesrc.c: Add param spec flags for when a property can be changed Adds GST_PARAM_MUTABLE* flags to indicate in which states a property can be changed and take effect. Fixes #571559 2009-04-10 14:15:36 +0200 Wim Taymans * tools/gst-launch.c: -launch: handle clock-lost messages When we receive a clock-lost message, we need to select a new clock in the pipeline by setting the pipeline to PAUSED and back to PLAYING. 2009-04-09 18:27:21 +0200 Olivier Crete * plugins/elements/gsttee.c: tee: add property to control the alloc pad Add a property to control the pad used for proxying the buffer_alloc function on the sinkpad. Fixes #577891. 2009-04-09 11:51:43 +0200 Wim Taymans * gst/gstbin.c: bin: always mark pending_async_done When we get an ASYNC_DONE message when a state change was busy, set the pending_async_done flag so that after the state change completes, the bin can check if all async elements are finished. Don't only do this for the bin itself but for all elements. This fixes some bins in bins that simulate async state changes by posting ASYNC messages (such as sdpparse in uridecodebin/playbin2). 2009-04-09 11:42:48 +0200 Wim Taymans * gst/gstinfo.c: info: fix compilation, %08x needs an unsigned int %08x needs an unsigned int, so give it that. 2009-04-06 01:27:26 +0100 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gstinfo.c: * gst/gstinfo.h: * tests/check/gst/gstinfo.c: * win32/common/libgstreamer.def: API: add FIXME and DUMPMEM log levels and convenience macros Two new log levels to dump FIXMEs into the log and to log data in form of a hex dump (#578114). API: GST_CAT_FIXME_OBJECT API: GST_CAT_MEMDUMP_OBJECT API: GST_CAT_FIXME API: GST_CAT_MEMDUMP API: GST_FIXME_OBJECT API: GST_MEMDUMP_OBJECT API: GST_FIXME API: GST_MEMDUMP 2009-04-08 18:13:42 +0300 Stefan Kost * gst/gstbin.c: * gst/gstclock.c: docs: xref more 2009-04-08 17:49:18 +0300 Stefan Kost * gst/gstutils.c: * tests/check/gst/gstghostpad.c: * tests/check/gst/gstpad.c: tests: remove the hacks to workaround the pad-leak 2009-04-08 15:24:58 +0300 Stefan Kost * gst/gstpadtemplate.c: padtemplate: enable code to fix the leak, now that the deps have been released Good and ffmpeg are actually multiple releases beyond, so that this is now safe to do. 2009-04-04 21:18:23 +0300 Felipe Contreras * common: Automatic update of common submodule From d0ea89e to b3941ea 2009-04-04 14:53:21 +0200 Edward Hervey * common: Automatic update of common submodule From f8b3d91 to d0ea89e 2009-04-04 14:42:04 +0200 Edward Hervey * tools/gst-inspect.c: gst-inspect: remove dead assignment first_flag will be either: * rewritten without being read if we loop again (line 284) * not read again if we don't loop 2009-04-04 14:39:51 +0200 Edward Hervey basesink: Remove dead assignments. sstart/sstop/rstart/rstop are all either: * assigned values later on before being used in 'do_times:' (EOS and buffers) * not used (non-EOS events) 2009-04-04 14:38:52 +0200 Edward Hervey * libs/gst/base/gstbasesrc.c: basesrc: remove dead assignment. The variable will not be read before it's assigned a value line 942/945 2009-04-04 14:37:13 +0200 Edward Hervey * gst/gsttaglist.c: gsttaglist: Remove unused variable. We don't need to allocate a variable if it's the return of a function call and we only check it once. 2009-04-04 14:35:34 +0200 Edward Hervey * gst/gststructure.c: gststructure: Only use methods used in g_* checks if glib checks are disabled 2009-04-04 10:59:39 +0200 Sebastian Dröge * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstdataqueue.c: * libs/gst/controller/gstcontroller.c: gst: Use g_once_init* or G_DEFINE_TYPE 2009-04-04 10:20:36 +0200 Sebastian Dröge * gst/gstbin.c: * gst/gstbuffer.c: * gst/gstchildproxy.c: * gst/gstelement.c: * gst/gstelementfactory.c: * gst/gstevent.c: * gst/gstindex.c: * gst/gstindexfactory.c: * gst/gstinterface.c: * gst/gstmessage.c: * gst/gstobject.c: * gst/gstpad.c: * gst/gstpadtemplate.c: * gst/gstpipeline.c: * gst/gstpreset.c: * gst/gstquery.c: * gst/gstsystemclock.c: * gst/gsttagsetter.c: * gst/gsttask.c: * gst/gsttypefindfactory.c: * gst/gsturi.c: * gst/gstxml.c: gst: Use G_DEFINE_TYPE and friends or at least g_once_init_* in the _get_type() functions 2009-04-04 10:18:42 +0200 Sebastian Dröge * gst/gstbus.c: * gst/gstclock.c: gst: Use G_DEFINE_TYPE and don't call g_thread_init() from class_init class_init is too late for calling g_thread_init() as g_thread_init() needs to be called before any GObject function. 2009-04-03 13:46:18 +0200 Mark Nauwelaerts * gst/gstsegment.c: Use g_slice_copy instead of g_slice_dup. A (buggy) glib g_slice_dup macro may cause compiler warnings on e.g. x86_64. 2009-04-03 12:21:55 +0200 Edward Hervey * libs/gst/controller/gstcontroller.c: controller: remove dead assignment. The value of prop is being overwritten just after without being read. 2009-04-03 12:20:36 +0200 Edward Hervey * gst/gststructure.c: gststructure: Remove dead assignment. 'type' is never used until line 1847 where it's overwritten. 2009-04-03 12:19:40 +0200 Edward Hervey * libs/gst/base/gstadapter.c: adapter: remove dead assignment. The value set to to_copy at that line is never used, and is overwritten further down before being read. 2009-04-03 12:17:33 +0200 Edward Hervey * gst/gstbin.c: gstbin: Remove unused variable. The return value of gst_element_change_state isn't used after that call. 2009-04-03 12:15:38 +0200 Edward Hervey * gst/gstpipeline.c: pipeline: remove redundant assignment. If that block is entered, then start_time becomes GST_CLOCK_TIME_NONE. Since start_time is invalid, the code will enter the block at line 434 and new_base_time will be set there. 2009-04-03 12:13:38 +0200 Edward Hervey * gst/gstregistrybinary.c: gstregistrybinary: remove variable only used for a check. that variable isn't used anywhere else within that block. 2009-04-03 12:13:00 +0200 Edward Hervey * libs/gst/base/gstbasesink.c: basesink : Remove unused variable. sync is never used anywhere in that code. 2009-04-03 12:12:08 +0200 Edward Hervey * libs/gst/base/gstbasetransform.c: basetransform: move unused variable in the #if 0 block. That variable is only used by the code which has been if 0'd 2009-04-03 11:56:48 +0200 Edward Hervey * gst/gsturi.c: * gst/gstvalue.c: Remove unused increments as detect by LLVM's CLang static analyzer. 2009-04-03 11:52:49 +0200 Edward Hervey * gst/gstbus.c: * gst/gstelement.c: * gst/gstelementfactory.c: * gst/gstindexfactory.c: * gst/gstinterface.c: * gst/gstobject.c: * gst/gstsystemclock.c: * gst/gsttask.c: * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstcollectpads.c: * plugins/elements/gstidentity.c: Remove unused variables detected by LLVM's Clang static analyzer. 2009-04-03 11:19:42 +0100 Tim-Philipp Müller * gst/gstcaps.c: docs: improve API reference for gst_caps_get_structure() 2009-04-02 13:32:58 +0200 Thomas Vander Stichele * gst/gstbin.h: docs: explain ref ownership for handle_message implementations 2009-04-02 10:43:16 +0200 Sebastian Dröge * libs/gst/check/gstcheck.h: gstcheck: Call gst_check_init() before creating the suite This allows using the GStreamer or GObject API in the suite creation function. 2009-03-31 18:14:08 -0300 Thiago Santos * tools/gst-launch.c: gst-launch: Fixes error when DISABLE_FAULT_HANDLER is defined When defined, this macro prevented the declaration of 'waiting_eos', causing an error. 2009-03-26 17:25:08 +0100 Edward Hervey * plugins/elements/gstcapsfilter.c: capsfilter. Always calls _suggest, even with NULL caps. Fixes #574805 2009-03-30 15:45:02 +0200 Sebastian Dröge * tests/check/elements/queue.c: tests: Don't define global buffers variable, it's already defined by libgstcheck 2009-03-30 10:33:51 +0200 Peter Kjellerstedt * docs/gst/building.xml: docs: Some grammar and typo corrections. 2009-03-29 13:41:22 +0200 Thomas Vander Stichele * docs/gst/building.xml: Fix typo. 2009-03-27 17:30:23 +0200 Stefan Kost * gst/gstregistrybinary.c: binaryregistry: init variable, that is referenced in error case below the fail: label 2009-03-27 16:15:55 +0100 Wim Taymans * gst/gstsystemclock.c: clock: wakeup the async thread a bit more Also wake up the async thread when it is doing an async wait for an entry. 2009-03-27 16:15:10 +0100 Wim Taymans * gst/gstelement.c: element: Fix a little debug message 2009-03-26 13:07:56 +0200 Stefan Kost * gst/gstregistrybinary.c: binaryregistry: check for not reading beyond the data area. Fixes #576842 Check all reads against the end of the data region. Roll back registration of partial reads. 2009-03-25 11:03:22 +0200 Stefan Kost * docs/gst/Makefile.am: * docs/gst/building.xml: * docs/gst/gstreamer-docs.sgml: docs: add a page about building gstreamer and apps 2009-03-26 13:08:01 -0300 Thiago Santos * tools/gst-launch.c: Adds flag for eos on shutdown in gst-launch. Fixes #575814. 2009-03-26 22:05:31 +0100 Wim Taymans * gst/gstclock.c: * gst/gstsystemclock.c: clock: make UNSCHEDULED checks threadsafe Move the checks for using an unscheduled entry from the unsafe GstClock to the SystemClock object so that we can perform the correct locking. fix a leak and potential deadlock then the async thread fails to start. Sprinkle some G_LIKELY around because we can. 2009-03-26 21:40:20 +0100 Wim Taymans * gst/gstsystemclock.c: clock: remove pending async wakeup sooner Remove a pending async wakeup before we check if the next entry is UNSCHEDULED because we might leave the control socket busy. 2009-03-26 19:33:41 +0100 Peter Kjellerstedt * gst/gstpoll.c: gstpoll: Corrected a documentation typo. 2009-03-26 19:13:55 +0100 Wim Taymans * gst/gstsystemclock.c: clock: add some more comments. 2009-03-26 18:46:35 +0100 Wim Taymans * gst/gstsystemclock.c: clock: rework the wakeup of entries. Keep a counter for the amount of outstanding wakeups that we produce and only perform a write/read to the control socket when 1 or 0 respectively. don't poll when waiting for the entries to be unblocked and clear their wakeup counts, just act on the signal when the wakeup count is 0. unscheduled entries will clear their wakeup count themselves. Keep track of when we wakeup the async thread because the list of entries has changed. don't try to see if the list changed because we can't really know when one entry is added multiple times. Only wake up the async thread when we add an async entry to the head of the list and the old entry was BUSY. 2009-03-25 17:31:16 +0000 Jan Schmidt * gst/gstpoll.c: gstpoll: Fix up documentation strings. Note the changed behaviour of gst_poll_wait for timer GstPoll's, and fix a couple of spelling errors. 2009-03-26 15:55:02 +0100 Wim Taymans * gst/gstsystemclock.c: * tests/check/gst/gstsystemclock.c: clock: fix 2 wakeup races. when an entry being waited on in the async thread is unscheduled, clear the wakeup queue so we can continue waiting on other entries. When an entry being waited on in the async thread is unlocked because an earlier entry was added to the list, set the entry to OK again. This makes sure that only the entries being waited on have the BUSY flag set and wake up the timer poll when they are unscheduled. 2009-03-26 14:44:04 +0000 Tim-Philipp Müller * gst/gstregistry.c: registry: ignore .git directory when recursively scanning plugin paths for plugins Saves some cycles/pandas for those of us who run uninstalled setups. 2009-03-26 14:16:55 +0000 Tim-Philipp Müller * gst/gstregistrybinary.c: * gst/gstregistryxml.c: registry: do fsync() before close() and rename() This helps prevent filesystem/data inconsistencies in certain circumstances on certain filesystems (like ext4, xfs, ubifs). Also see bug #562976. 2009-03-26 01:09:03 +0000 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gsttaglist.c: * gst/gsttaglist.h: * tests/check/gst/gsttag.c: * win32/common/libgstreamer.def: API: add gst_tag_list_get_buffer{_index} Convenience API, mostly for image tags, so people don't have to figure out the whole GValue/GstValue thing just for this. 2009-03-25 23:03:38 +0000 Jan Schmidt * tests/check/gst/gstsystemclock.c: systemclock: Clean up the tests a bit. Add some cleanups to the system clock tests, to free all the memory and unschedule/unref all clock IDs we allocate. Use a mutex in one test to avoid potential threading problems on multicore machines. 2009-03-25 21:37:38 +0000 Jan Schmidt * tests/check/gst/gstsystemclock.c: systemclock: Add a test for sync/async clockid interactions This test randomly hangs if there are problems with the reliability of unscheduling sync and async clockID's on the system clock. 2009-03-26 11:17:01 +0100 Sebastian Dröge * gst/gstsegment.c: segment: Use g_slice_dup() now 2009-03-26 11:08:27 +0100 Sebastian Dröge * gst/glib-compat.h: * gst/gstutils.h: Remove some compatibility stuff for GLib < 2.14 2009-03-25 00:50:07 +0000 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gsttaglist.c: * gst/gsttaglist.h: API: add GST_TAG_SUBTITLE_CODEC Yes, 'codec' isn't exactly the best word, but let's be consistent with AUDIO_CODEC and VIDEO_CODEC (which may be 'raw' formats as well after all). Prerequisite for bug #576552. 2009-03-24 21:39:21 +0000 Tim-Philipp Müller * tools/gst-launch.1.in: docs: gst-launch man page fix The command line option is --gst-debug-disable, not --gst-disable-debug. Fixes #576556. Spotted by Bogdan Harjoc. 2009-03-24 19:33:56 +0100 Wim Taymans * gst/gstutils.c: gstutils: improve property set and convert code Use string deserialisation instead of custom parsing code to allow for all supported ways of specifying property values. fixes #576582. 2009-03-23 15:18:21 +0200 Stefan Kost * gst/gstdebugutils.c: * gst/gstinfo.c: build: define stubs when disabling gst-debug subsystem. Fixes #575922 Running configure with e.g. --disable-dst-debug was compiling out the debug system (ABI break). Now stubs are added and only if one does e.g. make CFLAGS="-DGST_REMOVE_DISABLED" the symbols are ommitted. 2009-03-23 12:34:34 +0000 Tim-Philipp Müller * libs/gst/base/gstbasesink.c: basesink: fix once-per-second 'emergency rendering' for case where all buffers but the very first are late Due to a typo basesink didn't do any emergency rendering of late buffers if the only buffer ever rendered was the first one with timestamp 0. This means that in cases where the decoder is very very slow, we'd never see any buffers but the very first one rendered. Fixes #576381. 2009-03-21 02:34:04 +0000 Jan Schmidt * docs/random/release: docs: tweak the release procedure script 2009-03-20 14:12:55 +0100 LRN * plugins/elements/gstfdsink.c: * plugins/elements/gstfdsrc.c: * plugins/elements/gstfilesink.c: win32: fix seeking in files >4GB Use 64-bit functions on windows to implement seeking in files bigger than 4GB. Fixes #575988 2009-03-20 11:26:30 +0200 Stefan Kost * libs/gst/controller/gstinterpolation.c: controller: Fix generation of control-change arrays. When generating arrays of control changes timestamp variable was used instead the local ts variable that we increment when stepping through the array. Pointed out by Martin Pokorny. 2009-03-20 00:42:51 +0000 Tim-Philipp Müller * gst/gstinfo.c: debugging: make GST_PTR_FORMAT work for queries as well 2009-03-20 00:39:41 +0000 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: * gst/gstquery.h: API: add GST_QUERY_CAST because we can, and for consistency. 2009-03-19 21:27:48 +0000 Tim-Philipp Müller * libs/gst/check/gstcheck.h: gstcheck: fix for check versions > 0.9.6 A new argument allowed_exit_value was added in SVN recently (#574213). 2009-03-19 17:19:49 +0100 Wim Taymans * gst/gstpad.c: gstpad: fix gst_pad_can_link We were converting the GstPadLinkReturn to a gboolean, which is not what we want to do. 2009-03-19 10:44:13 +0000 Tim-Philipp Müller * docs/faq/gst-uninstalled: gst-uninstalled: add gst-rtsp-server bits and break up overly long lines Add some of the bits needed for an uninstalled gst-rtsp-server (so gdb works on the examples etc.). Python bits are still missing, and we might need an -uninstalled.pc file as well in the future. Break up very long lines to make them easier to read and maintain. Also remove gst-plugins paths from the old days. 2009-03-19 11:46:11 +0100 Wim Taymans * docs/random/wtay/rwlocks: docs: interesting idea for fast rw locks -- 2009-03-19 11:11:43 +0100 Wim Taymans * win32/common/libgstreamer.def: defs: add new symbol to windows .def file Add the new windows cmd.exe coloring method to the .def file. 2009-03-18 16:38:51 +0200 Stefan Kost * gst/gstelement.c: docs: more info about when state changes can be async and when not. 2009-03-18 19:07:00 +0100 Damien Lespiau * gst/gstinfo.h: info: more indentation fixes Fixes #517231. 2009-03-18 19:06:23 +0100 Wim Taymans * gst/gstinfo.h: info: indentation fix 2009-03-18 18:57:16 +0100 Wim Taymans * gst/gstinfo.c: info: simply some more 2009-03-18 18:45:41 +0100 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gstinfo.c: info: refactor debug colors for win32 and other Refactor the debug line code to use as much code as possible for the win32 and other color codings. Update docs with new symbol. 2009-03-18 17:30:12 +0100 Wim Taymans * gst/gst.c: * gst/gstinfo.c: * gst/gstinfo.h: windows: initial commit for terminal colors 2009-03-18 17:01:16 +0100 Zeeshan Ali (Khattak) * gst/gstpad.c: * gst/gstpad.h: * gst/gstutils.c: * gst/gstutils.h: gstpad: fix gst_pad_can_link() Move the gst_pad_can_link() implementation from gstutils to gstpad and use gst_pad_link_prepare() to make it work correctly and also check the caps. Make the broken implementation in gstutils static. Small cleanups in the _get_fixed_caps() function. Fixes #575682. 2009-03-17 20:41:44 +0000 David Adam * gst/gst.c: config.h needs to be included first, either directly or via gst_private.h Fixes build with -Werror caused by '_FILE_OFFSET_BITS redefined' warning on OpenSolaris where _FILE_OFFSET_BITS may be defined both in our config.h and via stdio.h (#575695). 2009-03-17 19:02:26 +0000 Tim-Philipp Müller * docs/faq/developing.xml: faq: remove outdated bits from indenting section 2009-03-17 12:05:33 +0200 Stefan Kost * gst/gstbin.c: bin: forward segment-start like segment-done if parent is also a bin, fixes #575598. Bin collects segment-start messages and segent-done messages. it posts a segment-done message to its parent, once it has received a segment-done for each segment-start. Imho it should also send a segment-start if it receives the first segment start and if parent is !=NULL. This is needed for bins in bins, so that also higher order bins can group segment-starts and segment-dones. Right now higher order bins will post a segment-done for each segment-done received. 2009-03-16 20:12:45 +0100 Edward Hervey * docs/faq/git.xml: faq: fix typo in git command 2009-03-15 23:40:36 +0200 Stefan Kost * gst/gstsystemclock.c: systemclock: these warnings are serious, give more detail in the message 2009-03-15 23:37:29 +0200 Stefan Kost * libs/gst/base/gstcollectpads.c: collectpads: add debug logging to make it easier to trace it 2009-03-13 10:56:54 +0100 Wim Taymans * gst/gstutils.h: Fix indentation of .h files -- 2009-03-12 12:20:25 +0200 Stefan Kost * gst/gsttaglist.c: taglists: apply fix for replace all also to gst_tag_list_add_valist_values. Fixes #574241 2009-03-12 10:48:21 +0100 Wim Taymans * gst/gstbuffer.h: * gst/gstevent.h: * gst/gstmessage.h: * gst/gstpad.h: * gst/gstquery.h: docs: Improve some docs Rename some function variables and add some Return: to make the docs more happy. 2009-03-12 00:41:24 +0200 Stefan Kost * gst/gstiterator.c: docs: fix linking to constant and functions 2009-03-11 15:20:36 +0200 Stefan Kost * gst/gstdebugutils.c: dump2dot: ellipsize caps fields, better placement of unnegotiated caps Long caps fields like enums are ellipsised. If caps are not negotiated, use head- and taillabel to place them closer to the pads. Use smarter way to indent. 2009-03-11 10:27:16 +0200 Laszlo Pandy * gst/gstdebugutils.c: dump2dot: make caps in DOT debug graphs more readable. Fixes 574484 Use a monospace font for edge labels and indent. 2009-03-11 14:11:30 +0100 Sebastian Dröge * gst/gstpadtemplate.c: padtemplate: Allow %u as conversion modifier additional to %d and %s 2009-03-11 11:23:05 +0100 Edward Hervey * libs/gst/base/gstbasesrc.c: gstbasesrc: unsigned long is "%lu", not "%ul". Fixes build on macosx 2009-03-10 21:08:34 +0200 Stefan Kost * gst/gstghostpad.c: * libs/gst/base/gstbasesrc.c: * plugins/elements/gstcapsfilter.c: logging: some additional logging for tracing caps negotiation. Demote one log that can come quite often. Remove one fixme that is done. Apply gst-indent changes. 2009-03-10 21:03:44 +0200 Stefan Kost * gst/gstobject.c: comment: add a fixme-0.11 2009-03-10 21:01:21 +0200 Stefan Kost * docs/design/part-block.txt: formatting: tabs to spaces 2009-03-09 23:11:24 +0000 Jan Schmidt * common: Automatic update of common submodule From 7032163 to f8b3d91 2009-03-09 20:07:12 +0000 Tim-Philipp Müller * gstreamer.spec.in: gstreamer.spec: fix stray @GLIB2_REQ@ that didn't get expanded properly 2009-03-09 16:09:38 +0100 Wim Taymans * docs/manual/basics-bus.xml: docs: reword stuff about custom mainloops Fixes #574229. 2009-03-09 16:01:20 +0200 Stefan Kost * gst/gstdebugutils.c: dump2dot: don't use GST_TIME_FORMAT when building filenames. fixes #574623 2009-03-09 11:39:34 +0100 Wim Taymans * gst/gstpad.c: * gst/gstpad.h: * tests/check/gst/gstpad.c: pad: call new callbacks set in the block callback Keep track of when a new callback is installed in the callback and call the new callback in that case. Add unit test for checking pad blocking. Fixes #573823. 2009-03-08 17:22:43 +0000 Tim-Philipp Müller * win32/common/config.h: * win32/common/gstenumtypes.c: * win32/common/gstenumtypes.h: * win32/common/gstversion.h: win32: update enumtypes and config.h 2009-03-08 17:15:33 +0000 Tim-Philipp Müller * gst/gsttaglist.c: docs: improve docs for gst_tag_list_get_date*() Mention that the date value needs to be freed and how to free it. 2009-03-08 12:02:15 +0100 Sebastian Dröge * common: Automatic update of common submodule From ffa738d to 7032163 2009-03-08 11:17:50 +0100 Sebastian Dröge * common: Automatic update of common submodule From 3f13e4e to ffa738d 2009-03-08 00:27:26 +0200 Stefan Kost * gst/gstdebugutils.c: dump2dot: improve caps logging Factor out code to describe caps. Improve formating (no \n in caps fields). Check peer caps too and show both if they differ. 2009-03-07 11:43:31 +0100 Sebastian Dröge * common: Automatic update of common submodule From 3c7456b to 3f13e4e 2009-03-07 10:43:32 +0100 Sebastian Dröge * common: Automatic update of common submodule From 57c83f2 to 3c7456b 2009-03-06 22:10:10 +0200 Stefan Kost * libs/gst/base/gstcollectpads.c: collectpads: revert accidential commit from the queue (me should start using branches) 2009-03-06 21:59:20 +0200 Stefan Kost * gst/gstcaps.c: * gst/gststructure.c: apidocs: markup example as highlightable example and copy same for structure structures can be printed like we can do for caps. Mark the example so that gtk-doc can pretty print and xref it. 2009-03-04 21:21:56 +0200 Stefan Kost * libs/gst/base/gstcollectpads.c: collectpads: reliably go to eos. Fixes #574160 Update collectpads status when removing pads. 2009-03-06 12:08:42 +0100 Alessandro Decina * plugins/elements/gstidentity.c: identity: ignore the return value of gst_pad_event_default when sending out the newsegment event in single-segment mode. This makes identity single-segment=true ! oggmux work again after a change in oggmux (commit b0e3d449 in -base). 2009-03-05 17:42:22 +0100 Andy Wingo basesink: propagate UPSTREAM events in pull mode too * libs/gst/base/gstbasesink.c (gst_base_sink_send_event): Propagate upstream events in pull mode too. 2009-03-05 11:29:48 +0100 Antoine Tremblay * gst/gstpad.c: GstPad: relax failure to deactivate unlinked pads When de/activating a pad in pull mode the pad needs to de/activate the peer pad it is connected to, failure to be able to do this in activation mode is an error. However if there is no peerpad, we can still deactivate the pad correctly and assume the application will deactivate the unlinked peer pad eventually. Fixes #574163. 2009-03-05 11:02:59 +0100 LRN * gst/gstpoll.c: GstPoll: set the return value on windows Make sure that the return value of the functions _read/_write_control() return the actual result instead of always FALSE on windows. Fixes #574211. 2009-03-04 10:46:15 +0000 Tim-Philipp Müller * docs/pwg/advanced-negotiation.xml: * docs/pwg/building-boiler.xml: pwg: update for CVS-to-git migration Fixes #573946. 2009-03-04 09:20:43 +0100 Edward Hervey * libs/gst/base/gstadapter.c: GstAdapter: Discard empty buffers in _push(). Fixes #574024 2009-03-03 20:01:43 +0000 Tim-Philipp Müller * .gitignore: Update .gitignore 2009-03-03 19:58:53 +0000 Tim-Philipp Müller * docs/faq/gst-uninstalled: gst-uninstalled: add bits for uninstalled checkouts of gst-openmax and totem 2009-03-02 16:17:45 +0100 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gst.c: * gst/gstutils.c: * gst/gstutils.h: * tests/check/gst/gstutils.c: * win32/common/libgstreamer.def: API: Add gst_util_array_binary_search() for binary searchs on a sorted array This will be mostly useful in all elements that have some kind of internal seek/index table. Currently almost all of them (or even all of them) are using a linear search although the used array is already sorted, wasting some CPU time without good reason. Fixes bug #573623. 2009-02-28 11:15:29 -0800 David Schleef * configure.ac: * gst/gstutils.h: Bump glib requirement to 2.14 Also remove code conditional on < 2.14. 2009-02-28 13:34:08 -0500 Olivier Crête * win32/MANIFEST: Remove win32/common/config.h.in from MANIFEST, it no longer exists 2009-02-27 13:35:35 +0100 Edward Hervey * plugins/elements/gstcapsfilter.c: capsfilter: Properly reset the capsfilter when setting caps ANY. 2009-02-27 12:34:29 +0100 Wim Taymans * docs/design/draft-framestep.txt: design: update the framestep draft Update the docs a little. Add property to allow incremental stepping so that we can reduce excessive queueing. 2009-02-26 15:40:26 +0200 Stefan Kost * libs/gst/base/gstbasesink.c: basesink: move left over handling of the error case to the activate_failed label. If was left as dead code. 2009-02-25 19:59:57 +0000 Jan Schmidt * common: * configure.ac: build: Update shave init statement for changes in common. Bump common. 2009-02-25 10:51:57 +0200 Stefan Kost * gst/gstregistrybinary.c: binary registry: Don't attempt to parse empty caps 2009-02-25 14:19:08 +0100 Sebastian Dröge * gst/gstregistrybinary.c: registry: Set typefind factory caps to NULL instead of empty caps if they originally were NULL 2009-02-25 11:31:38 +0000 Jan Schmidt * common: Automatic update of common submodule From 9cf8c9b to a6ce5c6 2009-02-24 15:10:15 +0100 Sebastian Dröge * gst/gstregistrybinary.c: registrybinary: Check if typefind factory caps are NULL before copying them 2009-02-24 11:40:14 +0100 Wim Taymans * docs/gst/gstreamer-sections.txt: Remove undeclared symbols from docs Remove some undeclared symbols from the docs. 2009-02-23 13:01:11 -0800 David Schleef * Makefile.am: * configure.ac: * win32/common/config.h.in: Change how win32/common/config.h is updated Generate win32/common/config.h-new directly from config.h.in, using shell variables in configure and some hard-coded information. Change top-level makefile so that 'make win32-update' copies the generated file to win32/common/config.h, which we keep in source control. It's kept in source control so that the git tree is buildable from VS. 2009-02-23 10:52:14 -0800 David Flynn * pkgconfig/gstreamer-base-uninstalled.pc.in: * pkgconfig/gstreamer-check-uninstalled.pc.in: * pkgconfig/gstreamer-controller-uninstalled.pc.in: * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in: * pkgconfig/gstreamer-net-uninstalled.pc.in: * pkgconfig/gstreamer-uninstalled.pc.in: Add srcdir to includes for out-of-source builds When you use gstreamer uninstalled and build outside the source tree, the includes need to be specified for both the source tree and the build tree. Signed-off-by: David Schleef 2009-02-23 17:36:23 +0100 Wim Taymans * libs/gst/base/gstbasesrc.c: Error out more specifically on empty caps When we get empty caps from the getcaps function in the default negotiate function, post a more descriptive error. 2009-02-23 15:24:00 +0100 Andy Wingo fix uri handler iteration in gst-inspect * tools/gst-inspect.c (print_all_uri_handlers): Whoops, fix iteration. I'm stupid. 2009-02-23 12:33:13 +0100 LRN * libs/gst/net/gstnettimepacket.c: * libs/gst/net/gstnettimeprovider.c: Fix signed when compiling with MSys/MinGW fix signed issues when compiling with MSys/MinGW. Fixes #572591. 2009-02-23 10:53:17 +0100 Wim Taymans * libs/gst/base/gstbasesink.c: Don't forward LATENCY event when not ready When we are not ready to handle a latency query (we are not yet prerolled) we also don't try to forward the latency event because that might cause unexpected errors when upstream is not yet linked. 2009-02-22 22:09:39 +0100 Edward Hervey * tests/check/core: Remove core file from previous commit 2009-02-22 20:01:05 +0100 Alessandro Decina * docs/gst/gstreamer-sections.txt: * gst/gstpad.c: * gst/gstpad.h: * tests/check/core: * tests/check/gst/gstpad.c: * win32/common/libgstreamer.def: GstPad: Add gst_pad_set_blocked_async_full This allows connecting a GDestroyNotify for when the callback is removed/replaced. Partially fixes #514717 2009-02-22 19:05:20 +0100 Sebastian Dröge * gst/gstutils.h: Include floating point write/read functions in the docs by working around a gtk-doc bug 2009-02-22 18:53:10 +0100 Ali Sabil * plugins/elements/gstqueue.c: Use the correct unref function 2009-02-22 18:51:08 +0100 Ali Sabil * gst/gstbuffer.h: * gst/gstevent.h: * gst/gstmessage.h: * gst/gstquery.h: Convert unref/copy functions of GstMiniObject subclasses to static inline functions unref and copy functions are sometimes used as function pointers for example in the case of g_hash_table_new_full as a GDestroyNotify function. Currently GstBuffer, GstEvent, GstMessage and GstQuery define their respective unref and copy functions as macros, making use of gst_mini_object_unref/copy. This approach works very well for most cases, except for some automatically generated bindings (currently Vala), where the memory management semantics are defined declaratively. The possible solutions would be to either convert all the macros into static inline function, or change the signature of gst_mini_object_unref to take a void* instead of a GstMiniObject*. Fixes bug #572480. 2009-02-22 15:22:16 +0000 Jan Schmidt * configure.ac: * docs/gst/Makefile.am: * docs/libs/Makefile.am: * docs/plugins/Makefile.am: Use shave (http://git.lespiau.name/cgit/shave/) to simplify build output 2009-02-22 15:44:35 +0000 Jan Schmidt * common: Automatic update of common submodule From 5d7c9cc to 9cf8c9b 2009-02-21 11:13:30 -0800 David Schleef * common: Automatic update of common submodule From 80c627d to 5d7c9cc 2009-02-19 18:05:07 +0100 Edward Hervey * gst/gstbuffer.h: GstBufferFlags: Add "Since: 0.10.23" for the newly added flags 2009-02-19 16:04:43 +0100 Edward Hervey * gst/gstbuffer.h: GstBufferFlags: Add 3 new media-specific buffer flags. Partially fixes #163577 2009-02-19 12:57:17 +0000 Tim-Philipp Müller * tools/gst-launch.c: tools: print normal output to stdout, and only errors and warnings to stderr in gst-launch Let's not print everything to stderr. Suppress some more 'normal' messages when --quiet was passed. 2009-02-19 12:45:53 +0000 Tim-Philipp Müller * tools/gst-launch.c: tools: use g_print*() instead of *printf() in gst-launch We should use GLib's g_print*() functions for printing stuff in gst-launch, not printf and friends, since we're printing translated strings, which we get in UTF-8 encoding, and GLib's print functions expect UTF-8 encoded strings whereas printf et al. expect strings in the locale encoding, which may or may not be UTF-8. Also add a PRINT convenience macro so we don't have to litter the code with if (!quiet) statements. 2009-02-19 11:18:07 +0000 Tim-Philipp Müller * docs/pwg/advanced-types.xml: * docs/pwg/intro-basics.xml: * docs/random/mimetypes: docs: fix constants for G_LITTLE_ENDIAN and G_BIG_ENDIAN We got the constants for G_LITTLE_ENDIAN and G_BIG_ENDIAN the wrong way around in some docs (fixes: #572392). Also mention G_BYTE_ORDER in the audio types section. 2009-02-19 10:25:34 +0100 Wim Taymans * win32/common/libgstreamer.def: Add new symbols to def files Add the new request_message symbols to the windows def file. 2009-02-18 15:31:55 +0100 Wim Taymans * docs/design/part-messages.txt: * docs/gst/gstreamer-sections.txt: * gst/gstmessage.c: * gst/gstmessage.h: * tests/check/gst/gstmessage.c: * tools/gst-launch.c: Add message to request a state change Add a GST_MESSAGE_REQUEST_STATE that can be posted by element when they would like to have the application change the state of the pipeline. the primary use case is to pause the pipeline when an audio mixer is mixing a higher priority stream but it can also be used for other purposes. Add some docs and a unit test. Implement the REQUEST_STATE message in gst-launch. API: gst_message_new_request_state() API: gst_message_parse_request_state() API: GST_MESSAGE_REQUEST_STATE 2009-02-16 12:58:34 +0100 Wim Taymans * gst/gstghostpad.c: * tests/check/gst/gstghostpad.c: Clear target when the target pad disappears When the target pad disappears (because it was explicitly unlinked or the element was removed/unreffed) make sure we receive a notify with the unlink function on the proxy pad and clear the target. We use a simple flag to not do this and cause deadlocks when the target was changed explicitly using the ghostpad functions. Update the unit test because we now unref the target sooner (and correctly). 2009-02-15 16:37:17 +0200 Stefan Kost * gst/gstelementfactory.c: * gst/gstpluginfeature.c: docs: format and indent examples. 2009-02-09 22:49:05 +0200 Stefan Kost * tools/gst-launch.1.in: * tools/gst-launch.c: gst-launch: add -q/--quiet option to supress any non error output. Having no output is nice for scripting. Also update the manpage. 2009-02-14 13:35:48 +0000 Tim-Philipp Müller * docs/faq/developing.xml: * docs/faq/faq.xml: * docs/faq/getting.xml: * docs/faq/git.xml: * docs/faq/gst-uninstalled: * docs/faq/start.xml: * docs/faq/troubleshooting.xml: * docs/faq/using.xml: FAQ: update for git and miscellaneous small fixes and additions Replace all mentions of CVS with git. Add link to gst-uninstalled script in cgit and to SubmittingPatches page in wiki. Fix some typos. Update indenting rules to what we actually use (#571646). 2009-02-13 16:17:03 +0000 Tim-Philipp Müller * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: po: update *.po files for newly-added translatable strings The only people who should get conflicts now are people who have cloned and built gstreamer between the time those strings were added and this commit. 2009-02-12 10:38:05 +0100 Sebastian Dröge * docs/gst/gstreamer-sections.txt: * gst/gsttaglist.c: * gst/gsttaglist.h: taglist: API: Add HOMEPAGE tag This tag will list a homepage for the media, i.e. the artist's or movie's homepage. This is different to GST_TAG_LOCATION as the latter lists the original location of the media. Fixes bug #571227. 2009-02-09 12:00:43 +0100 Edward Hervey * common: Bump revision to use for common submodule. 2009-02-08 10:28:16 +0100 Sebastian Dröge * gst/gst.c: * gst/gstversion.h.in: Replace some mentions of CVS by GIT 2009-02-06 10:51:28 +0200 Stefan Kost * gst/gstregistrybinary.c: binary registry: Rewrite sanity check to actualy catch something. The previous commit was bogus, as was the check before. We just point m to the file data, so neither it nor its members will be NULL. Better check if we have enough data. 2009-02-05 23:11:07 +0000 Tim-Philipp Müller * po/Makevars: * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: po: avoid conflicts of local *.po files with files in git Make it so that filenames and line numbers are only stored in the *.pot file (which is not in git), but not in the individual *.po files. This information is hardly useful for translators in our case, and it should avoid the constant conflicts of local *.po files with the ones in git which are caused by the source files changing and the line numbers being updated. This commit is likely to cause one last merge conflict for you, which you can work around with "git checkout po/*.po" before merging or pulling. After that there should (hopefully) not be any more local modifications of these files. 2009-02-05 15:22:46 +0000 Tim-Philipp Müller * win32/common/libgstreamer.def: win32: add new GstPoll API to libgstreamer.def 2009-02-05 17:23:44 +0200 Stefan Kost * gst/gstclock.c: * plugins/elements/gstfakesrc.c: * plugins/elements/gstfdsrc.c: * plugins/elements/gstfilesrc.c: * plugins/elements/gstidentity.c: cleanup: remove unused variables in _class_init() and reindent. 2009-02-05 17:05:56 +0200 Stefan Kost * gst/gstbus.c: bus: remove unused set/get property functions 2009-02-05 15:56:19 +0200 Stefan Kost * gst/gstregistrybinary.c: binary registry: comparing arrays against NULL is useless 2009-02-05 13:59:48 +0200 Stefan Kost * plugins/elements/gstqueue.c: queue: remove unused code Skip looping thru a dummy implementation. 2009-02-05 13:57:05 +0200 Stefan Kost * tests/check/gst/gstpipeline.c: tests: GstClockTime is always >= 0 2009-02-05 13:42:30 +0200 Stefan Kost * libs/gst/controller/gsthelper.c: controller: remove unused variable 2009-02-04 17:20:21 +0200 Stefan Kost * gst/gstghostpad.c: cleanup: Either check always for internal being NULL or don't. IMHO the ghostpad is borked if internal is NULL. So the check can go and it is used later unchecked anyway. 2009-02-04 16:26:23 +0200 Stefan Kost * gst/gsttaglist.c: crash: Don't crash on non existent tags. 2009-02-04 16:17:34 +0200 Stefan Kost * gst/gstregistrybinary.c: leak: Don't leak type name in failure cases. 2009-02-04 16:07:30 +0200 Stefan Kost * libs/gst/check/gstcheck.c: check: Don't assume gst_pad_get_peer returns non NULL value. 2009-02-04 15:41:24 +0200 Stefan Kost * gst/gstutils.c: leak: don't return without calling va_end 2009-02-03 18:04:46 +0100 Jonas Holmberg * docs/gst/gstreamer-sections.txt: * gst/gstclock.c: * gst/gstsystemclock.c: * gst/gstsystemclock.h: Implement the systemclock with gstpoll Add a property to select the clock type, currently REALTIME and MONOTONIC when posix timers are available. Implement the systemclock with GstPoll instead of GCond. This allows us to schedule timeouts with nanosecond precission on newer kernels and with ppoll support. It's also resilient to changes to the systemclock because of NTP or similar. 2009-02-03 17:49:02 +0100 Wim Taymans * docs/gst/gstreamer-sections.txt: * gst/gstpoll.c: * gst/gstpoll.h: GstPoll: add methods to use gstpoll for timeouts Add a special timer mode in GstPoll that makes it only use the control socket with a timeout to schedule timeouts. Also add a pair of methods to wakeup the timeout thread. API: GstPoll::gst_poll_new_timer() API: GstPoll::gst_poll_write_control() API: GstPoll::gst_poll_read_control() 2009-02-03 15:27:34 +0100 Wim Taymans * libs/gst/base/gstbasesink.c: GstBaseSink: use new variable to schedule preroll Use a separate variable to keep track if we need to call the preroll method instead of abusing the commited variable. 2009-02-03 12:52:49 +0100 Wim Taymans * libs/gst/base/gstbasesink.c: * tests/check/elements/fakesink.c: GstBaseSink: avoid calling preroll multiple times Fix a regression introduced by fix for #567725 in commit 1c7ab4ed4f19b63ba046a6f2fe7d09a6c17357c5. We should only call the preroll function once namely when we did not yet commit the state change. Add a unit test to check that we call the preroll function when interrupting the clock_wait (see #567725). Add a unit test to check that we only call the preroll function once. 2009-01-29 13:30:45 +0100 Thijs Vermeir * libs/gst/base/gstbasetransform.c: Force reconfigure of basetransform to recheck alloc request While reconfiguring a basetransform element we need also to recheck the alloc request. Because it's possible that due to caps changes the proxy_alloc state is not correct anymore. (Re-commit after discusion with Wim on IRC) 2009-02-02 14:19:57 +0100 Peter Kjellerstedt * gst/gstregistrybinary.c: gstregistrybinary: Make it compile with GST_DISABLE_GST_DEBUG. 2009-01-31 21:34:28 +0000 Jan Schmidt * docs/.gitignore: * docs/libs/tmpl/.gitignore: * docs/plugins/tmpl/.gitignore: repo: Rearrange gitignores in docs subdir tmpl directories are removed by make clean, which deletes the .gitignore. Use a .gitignore higher up to ignore the tmpl dirs instead. 2009-01-31 21:32:36 +0000 Jan Schmidt * tests/check/pipelines/stress.c: check: Fix comment about the timeout for generic stress test. Setting the timeout to 0 makes it infinite, so fix the comment above accordingly. 2009-01-31 21:31:48 +0000 Jan Schmidt * tests/check/elements/tee.c: check: Increase timeout for the tee test The tee stress test keeps timing out for me on one of the slower machines, so increase the timeout to 3 mins. 2009-01-30 14:56:08 +0000 Jan Schmidt * win32/common/config.h.in: Update the win32 config.h.in template from the main config.h.in 2009-01-30 22:18:17 +0200 Stefan Kost * docs/libs/gstreamer-libs-docs.sgml: * docs/plugins/gstreamer-plugins-docs.sgml: Add releaseinfo with online url. 2009-01-30 18:17:03 +0000 Tim-Philipp Müller * gst/gstinterface.h: * gst/gsturi.h: Remove broken class to interface cast macros from GstUriHandler and GstImplementsInterface headers Remove class-to-interface-struct cast macros which don't work, don't make sense, and in some cases wouldn't even compile if used. Removal should be ok seeing that code which uses any of these is broken and bound to crash. Fixes #565607. API: remove GST_IMPLEMENTS_INTERFACE_CLASS API: remove GST_IS_IMPLEMENTS_INTERFACE_CLASS API: remove GST_URI_HANDLER_CLASS 2009-01-30 16:28:14 +0000 Jan Schmidt * docs/gst/tmpl/.gitignore: Remove gitignore in docs/gst/tmpl. This gitignore file seems to get deleted by the build, and doesn't seem to be doing anything useful anyway. 2009-01-30 16:21:55 +0000 Jan Schmidt * common: Bump common 2009-01-30 14:59:07 +0000 Jan Schmidt - Sun Microsystems - Dublin Ireland * gst/gstghostpad.c: Fix compilation warning with Forte. 2009-01-30 10:43:55 +0100 Wim Taymans * libs/gst/base/gstbasetransform.c: Revert "Check suggested caps for proxy alloc" This reverts commit 50afd459579191772f42d1a44f3959e530c5c269. It breaks the interactive test-scale unit test. 2009-01-30 10:42:50 +0100 Wim Taymans * libs/gst/base/gstbasetransform.c: Revert "Force reconfigure of basetransform to recheck alloc request" This reverts commit 3a4602d7719de3c3ef7aece68b5f9489d0780162. It breaks the interactive test-scale unit test. 2009-01-30 10:29:56 +0100 Sebastian Dröge * gst/gstregistrybinary.c: Allocate everything that is written to the registry with g_malloc0() Allocate every structure that is directly written to the binary registry with g_malloc0(). Otherwise some parts of it will be uninitialized (struct padding because of alignment, etc) and valgrind will complain about it. 2009-01-30 08:30:28 +0100 Edward Hervey * autogen.sh: * common: Use a symbolic link for the pre-commit client-side hook 2009-01-29 15:49:24 +0000 Jan Schmidt * gst/gstregistrybinary.c: Make sure to take a copy of the strings we're going to free later. 2009-01-26 17:15:15 +0200 Stefan Kost * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: Add logging in failure case. Add more details to a todo comment. 2009-01-26 17:14:07 +0200 Stefan Kost * tests/benchmarks/Makefile.am: * tests/benchmarks/init.c: Add a trivial source for tracking gst_init time accross versions. 2009-01-26 17:13:09 +0200 Stefan Kost * libs/gst/controller/gstcontroller.c: Add todo comments. 2009-01-29 13:39:29 +0100 Thijs Vermeir * libs/gst/base/gstbasetransform.c: Check suggested caps for proxy alloc Because we are trying to resolve a suggestion here we don't need to check on caps for proxy_alloc but we need to check on the suggested caps instead. 2009-01-29 13:30:45 +0100 Thijs Vermeir * libs/gst/base/gstbasetransform.c: Force reconfigure of basetransform to recheck alloc request While reconfiguring a basetransform element we need also to recheck the alloc request. Because it's possible that due to caps changes the proxy_alloc state is not correct anymore. 2009-01-27 23:14:49 +0200 Stefan Kost * gst/gstclock.c: Improve the docs for gst_clock_id_wait_async(). Its mentioned in the section docs, but lets repeat at the function docs that the callback can be invoked from any thread. 2009-01-27 17:53:01 +0000 Tim-Philipp Müller * docs/gst/Makefile.am: * docs/libs/Makefile.am: docs: don't use ERROR_CFLAGS when building $docmodule-scan.c We don't want to use -Wall -Werror and friends when building the gtk-doc-generated $docmodule-scan.c, since we can't easily fix stuff if a certain gtk-doc/compiler combination breaks the build. Fixes build on ubuntu intrepid. 2009-01-27 17:52:14 +0000 Tim-Philipp Müller * .gitignore: Make git ignore backup files. 2009-01-26 21:29:02 +0200 Stefan Kost * libs/gst/controller/gsthelper.c: Don't check timestamp here, its done in the called function anyway. 2009-01-26 12:52:12 +0100 Wim Taymans * gst/gstpoll.c: Avoid unneeded reads from the control socket Add a new variable that keeps track of the status of the control socket. This allows us to avoid doing a read() on the control socket when we did not write anything to it. Fixes #568438. 2009-01-25 22:17:31 +0200 Stefan Kost * gst/gstutils.c: Add more debug logging for failure cases. 2009-01-25 22:11:32 +0200 Stefan Kost * gst/gstplugin.h: Document that GST_PLUGIN_DEFINE macros use PACKAGE define. Fixes #559722. PACKAGE is defined by autofoo. If people use something different, they might want to define it themself. 2009-01-25 17:58:52 +0100 Thijs Vermeir * libs/gst/base/gstbasetransform.c: Fix typo 2009-01-24 21:50:08 +0100 Thijs Vermeir * libs/gst/check/gstcheck.c: Only free list of buffers once 2009-01-24 14:37:14 +0100 Thijs Vermeir * docs/README: Fix typo 2009-01-23 23:08:03 +0000 Jan Schmidt * po/.gitignore: Ignore another file 2009-01-23 21:44:11 +0000 Jan Schmidt * win32/common/libgstbase.def: add gst_type_find_helper_for_extension to the win32 defs file 2009-01-23 16:09:35 +0000 Jan Schmidt * win32/common/config.h: Update win32 config.h for 0.10.22.1 dev cycle... 2009-01-23 16:08:09 +0000 Jan Schmidt * .gitignore: * docs/gst/.gitignore: * docs/libs/.gitignore: * docs/libs/tmpl/.gitignore: * libs/gst/base/.gitignore: * libs/gst/check/.gitignore: * libs/gst/controller/.gitignore: * libs/gst/dataprotocol/.gitignore: * libs/gst/net/.gitignore: * plugins/indexers/.gitignore: * tests/check/libs/.gitignore: Update a bunch of gitignores to clean up my git status output 2009-01-23 09:54:53 +0100 Brian Cameron * configure.ac: * gst/Makefile.am: Fix linking failures on Solaris. Fixes bug #568481. Link libgstreamer with $(LIBM) as it uses math functions. Add a configure check for socket and nsl library and add them to LIBS if they're found. This is needed on Solaris for socket() and gethostbyname(). 2009-01-22 18:02:19 +0200 Stefan Kost * common: Update common snapshot. 2009-01-22 13:58:57 +0100 Sebastian Dröge * plugins/elements/gstfilesrc.c: Improve debug output by logging the offsets. Fixes bug #568678. In create() also log the offsets and not only the buffer size. 2009-01-22 13:51:02 +0100 Sebastian Dröge * common: Fix pre-commit hook 2009-01-22 12:52:50 +0100 Wim Taymans Merge branch 'master' of ssh://git.freedesktop.org/git/gstreamer/gstreamer 2009-01-22 11:54:41 +0100 Wim Taymans * docs/libs/gstreamer-libs-sections.txt: Add Doc for new typefind method. 2009-01-22 10:45:59 +0000 Jan Schmidt * configure.ac: Back to development -> 0.10.22.1 2009-01-22 10:16:03 +0100 Wim Taymans Merge branch 'master' of ssh://git.freedesktop.org/git/gstreamer/gstreamer 2009-01-22 05:35:02 +0100 Edward Hervey * autogen.sh: * common: Install and use pre-commit indentation hook from common 2009-01-21 12:50:29 +0100 Wim Taymans * plugins/elements/gsttypefindelement.c: If no type was found using the typefind functions, try doing an upstream URI query to guess the type from the extension. See #566661. 2009-01-21 12:48:18 +0100 Wim Taymans * libs/gst/base/gsttypefindhelper.c: * libs/gst/base/gsttypefindhelper.h: Add new typefing helper function to guess the caps based on the file extension. See #566661. API: gst_type_find_helper_for_extension() 2009-01-21 12:45:45 +0100 Wim Taymans * gst/gsttypefind.c: * gst/gsttypefindfactory.c: Allow adding a typefinder without a typefind function so that it can be used to map the caps to the extension. See #566661. 2009-01-21 12:43:55 +0100 Wim Taymans * libs/gst/base/gstbasesink.c: Update the last_buffer exactly with the buffer that caused the preroll and also call the preroll method with that preroll buffer. Fixes #567725. 2009-01-21 12:21:49 +0100 Wim Taymans * gst/gstghostpad.c: * tests/check/gst/gstghostpad.c: do not call the unlink function on the target pad when the ghostpad is unlinked. Add some unit tests for this behaviour. Fixes #566936. 2009-01-21 04:29:25 +0100 Edward Hervey * autogen.sh: autogen.sh : Use git submodule === release 0.10.22 === 2009-01-19 22:58:59 +0000 Jan Schmidt * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/gstreamer-plugins.signals: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * gstreamer.doap: * po/LINGUAS: * win32/common/config.h: Release 0.10.22 Original commit message from CVS: Release 0.10.22 2009-01-19 21:20:40 +0000 Jan Schmidt * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files Original commit message from CVS: Update .po files 2009-01-17 21:04:41 +0000 Tim-Philipp Müller gst/gstbus.c: Fix order of members in GstBusSource structure - the first member must be the parent structure ie. GSou... Original commit message from CVS: * gst/gstbus.c: (gst_bus_set_main_context), (gst_bus_create_watch): Fix order of members in GstBusSource structure - the first member must be the parent structure ie. GSource. Should make bus sources attached to non-default main contexts work in all cases now (ie. primarily in cases where the callback has a non-NULL user data argument). Fixes #562170. * tests/check/gst/gstbus.c: (test_custom_main_context): Add unit test for the above, based on code by Justin Karneges . 2009-01-15 10:04:37 +0000 Jonas Holmberg gst/gstpad.h: A small documentation fix. Original commit message from CVS: Patch by: Jonas Holmberg * gst/gstpad.h: A small documentation fix. 2009-01-11 09:46:52 +0000 Sebastian Dröge gst/gstutils.h: Initialize g_once_init* data with 0. Fixes bug #567225. Original commit message from CVS: * gst/gstutils.h: Initialize g_once_init* data with 0. Fixes bug #567225. 2009-01-09 23:37:19 +0000 Jan Schmidt configure.ac: pre-release 0.10.21.3 Original commit message from CVS: * configure.ac: pre-release 0.10.21.3 2009-01-09 15:43:17 +0000 Wim Taymans libs/gst/base/gstbasesink.*: Fix documentation for the wait_clock method, rename basesink -> sink for consistency. Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state), (gst_base_sink_wait_clock): * libs/gst/base/gstbasesink.h: Fix documentation for the wait_clock method, rename basesink -> sink for consistency. 2009-01-08 13:41:19 +0000 Stefan Kost gst/gst.c: Create a registry if there is none also when the option for gst-disable-registry-update has been selected.... Original commit message from CVS: * gst/gst.c: Create a registry if there is none also when the option for gst-disable-registry-update has been selected. Fixes #567002 2009-01-06 18:10:22 +0000 Tim-Philipp Müller gst/gst.c: Ref new enum type in gst_init. Original commit message from CVS: * gst/gst.c: (init_post): Ref new enum type in gst_init. * win32/common/libgstreamer.def: Add recently-added API. 2009-01-06 17:58:59 +0000 Tim-Philipp Müller Add API for making a GStreamer plugin 'dependent' on external files, directories or environment variables, so that GS... Original commit message from CVS: * docs/gst/gstreamer-sections.txt:: * gst/gst_private.h: (GstPluginDep), (_GstPluginPrivate): * gst/gstplugin.c: (gst_plugin_init), (gst_plugin_finalize), (gst_plugin_class_init), (gst_plugin_list_free), (gst_plugin_ext_dep_get_env_vars_hash), (_priv_plugin_deps_env_vars_changed), (gst_plugin_ext_dep_extract_env_vars_paths), (gst_plugin_ext_dep_get_hash_from_stat_entry), (gst_plugin_ext_dep_direntry_matches), (gst_plugin_ext_dep_scan_dir_and_match_names), (gst_plugin_ext_dep_scan_path_with_filenames), (gst_plugin_ext_dep_get_stat_hash), (_priv_plugin_deps_files_changed), (gst_plugin_ext_dep_free), (gst_plugin_ext_dep_strv_equal), (gst_plugin_ext_dep_equals), (gst_plugin_add_dependency), (gst_plugin_add_dependency_simple): * gst/gstplugin.h: (GstPluginPrivate), (GstPluginFlags), (GST_PLUGIN_DEPENDENCY_FLAG_NONE), (GST_PLUGIN_DEPENDENCY_FLAG_RECURSE), (GST_PLUGIN_DEPENDENCY_FLAG_PATHS_ARE_DEFAULT_ONLY), (GST_PLUGIN_DEPENDENCY_FLAG_FILE_NAME_IS_SUFFIX), (GstPluginDependencyFlags), (GstPluginFilter): * gst/gstregistry.c: (gst_registry_scan_path_level): * gst/gstregistrybinary.c: (gst_registry_binary_save_feature), (gst_registry_binary_save_plugin_dep), (gst_registry_binary_save_plugin), (gst_registry_binary_load_feature), (gst_registry_binary_load_plugin_dep_strv), (gst_registry_binary_load_plugin_dep), (gst_registry_binary_load_plugin): * gst/gstregistrybinary.h: (GST_MAGIC_BINARY_VERSION_STR), (GstBinaryPluginElement), (_GstBinaryDep), (GstBinaryDep): * gst/gstregistryxml.c: (gst_registry_xml_save_plugin): Add API for making a GStreamer plugin 'dependent' on external files, directories or environment variables, so that GStreamer knows when it needs to re-load GStreamer plugins that wrap other plugin systems. Fixes bug #350477. API: add gst_plugin_add_dependency() API: add gst_plugin_add_dependency_simple() 2009-01-06 13:00:11 +0000 Tim-Philipp Müller docs/faq/gst-uninstalled: Add libgstapp-0.10 from -base to search path and remove the old lib from -bad from the sear... Original commit message from CVS: * docs/faq/gst-uninstalled: Add libgstapp-0.10 from -base to search path and remove the old lib from -bad from the search path. 2009-01-05 15:42:53 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Release the object lock before calling the query convert pad functions to avoid deadlocks. Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position_last), (gst_base_sink_get_position_paused), (gst_base_sink_get_position): Release the object lock before calling the query convert pad functions to avoid deadlocks. 2009-01-05 15:41:00 +0000 Wim Taymans gst/gstbus.c: The lock order should be maincontext > OBJECT_LOCK so we need to release the object lock when waking up... Original commit message from CVS: * gst/gstbus.c: (gst_bus_wakeup_main_context): The lock order should be maincontext > OBJECT_LOCK so we need to release the object lock when waking up the mainloop to avoid deadlocks. 2009-01-05 10:14:28 +0000 Wim Taymans gst/gstbin.c: Use an iterator to set the clock and the index so that we can release the object lock appropriately. Fi... Original commit message from CVS: * gst/gstbin.c: (gst_bin_set_index_func), (gst_bin_set_clock_func), (gst_bin_change_state_func): Use an iterator to set the clock and the index so that we can release the object lock appropriately. Fixes #566393. 2009-01-03 18:39:38 +0000 Edward Hervey libs/gst/base/gstcollectpads.c: Use the name of the pads instead of a pointer, helps in debugging. Original commit message from CVS: * libs/gst/base/gstcollectpads.c: (gst_collect_pads_available): Use the name of the pads instead of a pointer, helps in debugging. 2009-01-03 18:16:54 +0000 Edward Hervey gst/gstindex.c: Add a debugging category for GstIndex, first little step in making indexing top-notch. Original commit message from CVS: * gst/gstindex.c: (gst_index_get_type): Add a debugging category for GstIndex, first little step in making indexing top-notch. 2009-01-03 18:10:08 +0000 Edward Hervey gst/: Assign debug statements to relevant categories instead of the 'default' category so they don't get lost in debu... Original commit message from CVS: * gst/gstelement.c: (gst_element_message_full), (gst_element_pads_activate): * gst/gstobject.c: (gst_object_dispatch_properties_changed): * gst/gstutils.c: (gst_pad_proxy_getcaps), (gst_pad_proxy_setcaps), (gst_pad_add_data_probe_full), (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe_full), (gst_pad_remove_data_probe), (gst_pad_remove_event_probe), (gst_pad_remove_buffer_probe): Assign debug statements to relevant categories instead of the 'default' category so they don't get lost in debugging. 2009-01-01 21:27:06 +0000 Stefan Kost gst/gstdebugutils.c: Add some ideas, how to make the graph smaller. Original commit message from CVS: * gst/gstdebugutils.c: Add some ideas, how to make the graph smaller. * gst/gstutils.c: Add a comment from a debug session. * libs/gst/base/gstbasetransform.c: Log more context. * libs/gst/controller/gstinterpolationcontrolsource.c: Indet. * plugins/elements/gstcapsfilter.c: Fix typo in docs. 2008-12-27 17:41:11 +0000 Tim-Philipp Müller gst/gstbus.c: Make GstBusSource work with non-default main contexts (#562170). Original commit message from CVS: * gst/gstbus.c: (gst_bus_dispose), (gst_bus_get_property), (gst_bus_wakeup_main_context), (gst_bus_set_main_context), (gst_bus_post), (gst_bus_source_prepare), (gst_bus_source_finalize), (gst_bus_create_watch): Make GstBusSource work with non-default main contexts (#562170). * tests/check/gst/gstbus.c: (message_func_eos), (message_func_app), (test_watch), (test_watch_with_custom_context), (gst_bus_suite): Add test case for GstBusSource with a non-default main context. * tests/check/libs/.cvsignore: Ignore more. 2008-12-27 16:23:12 +0000 Tim-Philipp Müller gst/gstregistrybinary.c: Wrap multi-line macros in G_STMT_{START|END}. Original commit message from CVS: * gst/gstregistrybinary.c: (unpack_element), (unpack_const_string), (unpack_string):: Wrap multi-line macros in G_STMT_{START|END}. 2008-12-20 17:33:44 +0000 Sebastian Dröge API: Add URI query type. This is useful to query the URI of a sink/source element and can be used by demuxers that ne... Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstquark.c: * gst/gstquark.h: * gst/gstquery.c: (gst_query_new_uri), (gst_query_set_uri), (gst_query_parse_uri): * gst/gstquery.h: API: Add URI query type. This is useful to query the URI of a sink/source element and can be used by demuxers that need to get data from other files. This query should go upstream by default. Fixes bug #562949. * plugins/elements/gstfdsink.c: (gst_fd_sink_query): * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init), (gst_fd_src_query): * plugins/elements/gstfilesink.c: (gst_file_sink_query): * plugins/elements/gstfilesrc.c: (gst_file_src_class_init), (gst_file_src_query): Implement URI query. 2008-12-19 15:11:06 +0000 Alessandro Decina Don't forward gst_pad_set_caps() on a source ghostpad to its target. Original commit message from CVS: * gst/gstghostpad.c: * tests/check/gst/gstghostpad.c: Don't forward gst_pad_set_caps() on a source ghostpad to its target. That would cause the ghostpad to emit notify::caps two times (fist from gst_pad_set_caps() and after from on_src_target_notify()). 2008-12-19 11:24:36 +0000 Wim Taymans tests/check/gst/gstghostpad.c: Add some more unit-tests for the ghostpad notify signal, one of which currently fails. Original commit message from CVS: * tests/check/gst/gstghostpad.c: (ghost_notify_caps), (GST_START_TEST): Add some more unit-tests for the ghostpad notify signal, one of which currently fails. 2008-12-19 09:44:49 +0000 Sebastian Dröge win32/common/libgstreamer.def: Add gst_tag_setter_reset_tags to the list of exported symbols. Original commit message from CVS: * win32/common/libgstreamer.def: Add gst_tag_setter_reset_tags to the list of exported symbols. 2008-12-17 16:16:45 +0000 Alessandro Decina In a source ghostpad, when caps are changed in the target pad, the change needs to be reflected in the ghostpad. Original commit message from CVS: * gst/gstghostpad.c: * tests/check/gst/gstghostpad.c: In a source ghostpad, when caps are changed in the target pad, the change needs to be reflected in the ghostpad. Fixes #564863. 2008-12-17 09:37:47 +0000 Sebastian Dröge gst/gstutils.c: Add FIXME for 0.11 to set the pad as message source and not the element. Otherwise it's impossible to... Original commit message from CVS: * gst/gstutils.c: (gst_element_found_tags_for_pad): Add FIXME for 0.11 to set the pad as message source and not the element. Otherwise it's impossible to detect for which pad the tags were found without adding an event probe or something similar to the pad. 2008-12-16 21:33:57 +0000 Wim Taymans docs/faq/general.xml: Update the faq. Original commit message from CVS: * docs/faq/general.xml: Update the faq. 2008-12-16 15:51:52 +0000 Stefan Kost Rename api added in previous commit and add since tag to docs. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gsttagsetter.c: * gst/gsttagsetter.h: Rename api added in previous commit and add since tag to docs. API: gst_tag_setter_reset_tags() 2008-12-16 14:05:40 +0000 Stefan Kost Add function to reset tagsetter for element reuse. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gsttagsetter.c: * gst/gsttagsetter.h: Add function to reset tagsetter for element reuse. API: gst_tag_setter_flush() 2008-12-16 09:37:53 +0000 Stefan Kost gst/gsttaglist.c: Avoid copy of empty taglist. Original commit message from CVS: * gst/gsttaglist.c: Avoid copy of empty taglist. 2008-12-16 09:23:21 +0000 Stefan Kost More complete unit tests. Fix handling of empty taglists (they were not merged before). Original commit message from CVS: * gst/gsttaglist.c: * tests/check/gst/gsttag.c: More complete unit tests. Fix handling of empty taglists (they were not merged before). 2008-12-16 07:07:36 +0000 Stefan Kost gst/: Update GstTagSetter and GstTagMergeMode documentation. Mention that tags can come from events and from applicat... Original commit message from CVS: * gst/gsttaglist.h: * gst/gsttagsetter.c: Update GstTagSetter and GstTagMergeMode documentation. Mention that tags can come from events and from application. Fix example. 2008-12-15 15:27:06 +0000 Wim Taymans docs/design/part-TODO.txt: Remove the seqnum entry that we implemented in 0.10 already. Original commit message from CVS: * docs/design/part-TODO.txt: Remove the seqnum entry that we implemented in 0.10 already. Add entry about removing the format return value for queries. 2008-12-15 12:47:59 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Expose the render-delay as a property so things like appsink can use it to tweak the syn... Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init), (gst_base_sink_init), (gst_base_sink_set_property), (gst_base_sink_get_property): Expose the render-delay as a property so things like appsink can use it to tweak the synchronisation. 2008-12-10 15:19:45 +0000 Peter Kjellerstedt libs/gst/check/gstcheck.h: Allow check tests to use Original commit message from CVS: * libs/gst/check/gstcheck.h: Allow check tests to use MAIN_START_THREADS()/MAIN_STOP_THREADS() multiple times. Also allows CK_FORK=no to be used with multiple check test that use threads. 2008-12-09 16:23:58 +0000 Sebastian Dröge gst/gstutils.c: Fix a caps memory leak introduced by the last change. Original commit message from CVS: * gst/gstutils.c: (gst_element_get_compatible_pad): Fix a caps memory leak introduced by the last change. 2008-12-09 15:45:36 +0000 Sebastian Dröge gst/gstutils.c: Check if the caps of the pads are compatible before returning a pad and claiming it is compatible. Th... Original commit message from CVS: * gst/gstutils.c: (gst_element_get_compatible_pad): Check if the caps of the pads are compatible before returning a pad and claiming it is compatible. This, among other things, fixes a bug with gst-launch where an incompatible pad is chosen and linking fails. Fixes bug #544003. 2008-12-09 14:46:24 +0000 Sebastian Dröge libs/gst/check/gstcheck.c: Revert accidentially commited patch for bug #404631 which tries to print a backtrace if a ... Original commit message from CVS: * libs/gst/check/gstcheck.c: (gst_check_init): Revert accidentially commited patch for bug #404631 which tries to print a backtrace if a testcase is terminated by a signal. This code was never activated as the corresponding configure.ac change wasn't committed. 2008-12-09 10:58:01 +0000 Sebastian Dröge tests/check/libs/controller.c: This test should return TRUE now as syncing an uncontrolled object will succeed now (t... Original commit message from CVS: * tests/check/libs/controller.c: (GST_START_TEST): This test should return TRUE now as syncing an uncontrolled object will succeed now (there's nothing to sync). 2008-12-09 09:56:25 +0000 Stefan Kost libs/gst/controller/gstcontroller.c: Aggregate return value for gst_controller_sync_values(). More info in logging. A... Original commit message from CVS: * libs/gst/controller/gstcontroller.c: Aggregate return value for gst_controller_sync_values(). More info in logging. Always set values on first sync-call. * libs/gst/controller/gstcontrolsource.c: Microoptimizations. * libs/gst/controller/gsthelper.c: Fix return code and comment. 2008-12-09 09:00:57 +0000 Stefan Kost tools/gst-launch.1.in: Fix description of how to specify a type in caps. Fixes #553873. Original commit message from CVS: * tools/gst-launch.1.in: Fix description of how to specify a type in caps. Fixes #553873. Also ranges and list contain values and not property-assignments. 2008-12-08 22:28:05 +0000 Wim Taymans plugins/elements/gsttee.c: Check for changed pads-list before checking the last returned Original commit message from CVS: * plugins/elements/gsttee.c: (gst_tee_handle_buffer): Check for changed pads-list before checking the last returned GstFlowReturn because the pad could have been removed and we need to ignore the value in that case. 2008-12-08 18:35:44 +0000 Wim Taymans libs/gst/base/gstbasetransform.*: Add vmethod that is called before we start the transform and which can be used to c... Original commit message from CVS: * libs/gst/base/gstbasetransform.c: (gst_base_transform_prepare_output_buffer), (gst_base_transform_getrange), (gst_base_transform_chain): * libs/gst/base/gstbasetransform.h: Add vmethod that is called before we start the transform and which can be used to configure the transform, such as dynamic properties. 2008-12-05 20:32:03 +0000 David Schleef gst/gst.c: Search for plugins on win32 based on the location of the gstreamer DLL. Fixes #548786 Original commit message from CVS: * gst/gst.c: Search for plugins on win32 based on the location of the gstreamer DLL. Fixes #548786 2008-12-04 20:10:42 +0000 Sebastian Dröge configure.ac: Apparently AC_CONFIG_MACRO_DIR breaks when using more than one macro directory, reverting last change. Original commit message from CVS: * configure.ac: Apparently AC_CONFIG_MACRO_DIR breaks when using more than one macro directory, reverting last change. 2008-12-04 19:45:05 +0000 Sebastian Dröge configure.ac: Set AC_CONFIG_MACRO_DIR to common/m4 to point autoconf to our M4 macros. Original commit message from CVS: * configure.ac: Set AC_CONFIG_MACRO_DIR to common/m4 to point autoconf to our M4 macros. 2008-11-29 13:29:14 +0000 Sebastian Dröge Require gettext 0.17 because older versions don't mix with libtool 2.2. At build time an older gettext version will s... Original commit message from CVS: Patch by: Cygwin Ports maintainer * autogen.sh: * configure.ac: Require gettext 0.17 because older versions don't mix with libtool 2.2. At build time an older gettext version will still work. Fixes bug #556091. 2008-11-27 11:12:30 +0000 이문형 gst/gstpoll.c: Adds support for FD_CONNECT event (win32). See #562258. Original commit message from CVS: Patch by: 이문형 * gst/gstpoll.c: (gst_poll_fd_ctl_write), (gst_poll_fd_has_error): Adds support for FD_CONNECT event (win32). See #562258. 2008-11-24 20:02:55 +0000 Stefan Kost libs/gst/base/gstbasesink.c: Turn comment into gtk-doc comment. Original commit message from CVS: * libs/gst/base/gstbasesink.c: Turn comment into gtk-doc comment. 2008-11-24 15:27:55 +0000 Wim Taymans libs/gst/base/gstbasetransform.c: Revert quick accepcaps attempt, it's not fully equivalent to the old behaviour and ... Original commit message from CVS: * libs/gst/base/gstbasetransform.c: (gst_base_transform_acceptcaps): Revert quick accepcaps attempt, it's not fully equivalent to the old behaviour and thus causes regressions. 2008-11-24 11:56:44 +0000 Edward Hervey plugins/elements/gstfilesrc.c: Fix memory leak. Original commit message from CVS: * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri): Fix memory leak. 2008-11-24 09:59:07 +0000 Simon Holm Thøgersen gst/gstregistry.c: Reduce the number of stat() calls for every file from three times to one time. Fixes bug #560360. Original commit message from CVS: Patch by: Simon Holm Thøgersen * gst/gstregistry.c: (gst_registry_scan_path_level): Reduce the number of stat() calls for every file from three times to one time. Fixes bug #560360. 2008-11-22 15:09:20 +0000 Wim Taymans libs/gst/base/gstbasetransform.c: Rename a variable to make the code clearer. Original commit message from CVS: * libs/gst/base/gstbasetransform.c: (gst_base_transform_acceptcaps): Rename a variable to make the code clearer. 2008-11-21 20:57:16 +0000 Stefan Kost plugins/elements/gstidentity.c: Don't warning on offset==-1. Taken from _check_imperfect_offset(). Original commit message from CVS: * plugins/elements/gstidentity.c: Don't warning on offset==-1. Taken from _check_imperfect_offset(). 2008-11-21 18:26:14 +0000 Michael Smith plugins/elements/gstfilesrc.c: Check for localhost in URI was backwards, fix it. Fixes unit test. Original commit message from CVS: * plugins/elements/gstfilesrc.c: Check for localhost in URI was backwards, fix it. Fixes unit test. 2008-11-21 17:14:48 +0000 Wim Taymans libs/gst/base/gstbasetransform.c: Add beginnings of a more optimized acceptcaps function than the default core one. Original commit message from CVS: * libs/gst/base/gstbasetransform.c: (gst_base_transform_init), (gst_base_transform_getcaps), (gst_base_transform_find_transform), (gst_base_transform_acceptcaps), (gst_base_transform_getrange): Add beginnings of a more optimized acceptcaps function than the default core one. 2008-11-21 16:48:48 +0000 Wim Taymans gst/gstpad.c: Avoid getting the acceptcaps function too early. Original commit message from CVS: * gst/gstpad.c: (gst_pad_accept_caps): Avoid getting the acceptcaps function too early. 2008-11-21 08:09:00 +0000 Wim Taymans tools/gst-launch.c: Make gst-launch handle LATENCY messages and make it recalculate the latency. Original commit message from CVS: * tools/gst-launch.c: (event_loop): Make gst-launch handle LATENCY messages and make it recalculate the latency. 2008-11-20 21:05:14 +0000 Michael Smith plugins/elements/gstfilesrc.c: Use g_filename_from_uri() for URI parsing in filesrc rather than rolling out own sligh... Original commit message from CVS: * plugins/elements/gstfilesrc.c: Use g_filename_from_uri() for URI parsing in filesrc rather than rolling out own slightly incorrect version. Fixes use of some paths on win32. 2008-11-20 20:44:56 +0000 Michael Smith gst/gstregistrybinary.c: In win32 codepath, if we fail to write the registry, create the directory for it and try aga... Original commit message from CVS: * gst/gstregistrybinary.c: In win32 codepath, if we fail to write the registry, create the directory for it and try again, matching the behaviour in non-win32 codepaths. 2008-11-20 14:23:05 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Changing the render delay changes the latency and so we must post a latency message. Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_set_render_delay): Changing the render delay changes the latency and so we must post a latency message. 2008-11-20 10:35:50 +0000 Wim Taymans gst/gstquery.*: Add GstQueryType for custom queries instead of having to use the not-so-very-convenient registration ... Original commit message from CVS: * gst/gstquery.c: * gst/gstquery.h: Add GstQueryType for custom queries instead of having to use the not-so-very-convenient registration infrastructure to register new types. 2008-11-19 12:20:03 +0000 Andrew Feren gst/gstobject.c: Unref the GEnumClass after usage again. Fixes bug #561501. Original commit message from CVS: Patch by: Andrew Feren * gst/gstobject.c: (gst_object_default_deep_notify): Unref the GEnumClass after usage again. Fixes bug #561501. 2008-11-19 12:06:41 +0000 Wim Taymans gst/gstbin.*: Add do-latency signal with the old default fallback implementation. This allows for custom latency calc... Original commit message from CVS: * gst/gstbin.c: (_gst_boolean_accumulator), (gst_bin_class_init), (gst_bin_recalculate_latency), (gst_bin_do_latency_func), (gst_bin_change_state_func): * gst/gstbin.h: Add do-latency signal with the old default fallback implementation. This allows for custom latency calculations for when the default is not sufficient. API: GstBin::do-latency signal. 2008-11-18 13:36:29 +0000 Wim Taymans win32/common/libgstreamer.def: Add new symbols to .def file. Original commit message from CVS: * win32/common/libgstreamer.def: Add new symbols to .def file. 2008-11-18 09:58:33 +0000 Wim Taymans Add method to recalculate and redistribute the latency on a bin. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstbin.c: (gst_bin_recalculate_latency), (gst_bin_change_state_func): * gst/gstbin.h: Add method to recalculate and redistribute the latency on a bin. API: gst_bin_recalculate_latency(). 2008-11-18 09:52:41 +0000 Wim Taymans gst/gstbuffer.h: Document the free_func. Original commit message from CVS: * gst/gstbuffer.h: Document the free_func. 2008-11-17 21:43:06 +0000 Sebastian Dröge libs/gst/controller/: Use gst_guint64_to_gdouble instead of gst_util_guint64_to_gdouble as it is mapped to a cast on ... Original commit message from CVS: * libs/gst/controller/gstinterpolation.c: * libs/gst/controller/gstlfocontrolsource.c: Use gst_guint64_to_gdouble instead of gst_util_guint64_to_gdouble as it is mapped to a cast on non-win32 platforms. 2008-11-17 21:41:35 +0000 Stefan Kost libs/gst/controller/: Keep last-value and only call set_property if value has changed. This supresses all the g_objec... Original commit message from CVS: * libs/gst/controller/gstcontroller.c: * libs/gst/controller/gstcontrollerprivate.h: Keep last-value and only call set_property if value has changed. This supresses all the g_object_notifies we would trigger otherwise. It also allows the user to chage the value while there is no controller change. 2008-11-17 21:25:39 +0000 Stefan Kost gst/gstvalue.c: Don't crash if either of the string GValues is empty. Original commit message from CVS: * gst/gstvalue.c: Don't crash if either of the string GValues is empty. 2008-11-17 15:48:14 +0000 Andy Wingo tools/gst-inspect.c (print_all_uri_handlers): New function, prints a summary of what URI schemes are supported by wha... Original commit message from CVS: 2008-11-17 Andy Wingo * tools/gst-inspect.c (print_all_uri_handlers): New function, prints a summary of what URI schemes are supported by what elements. (main): Plumb in support for --uri-handlers or -u, and fix the argc check for -a and -u. 2008-11-17 04:49:06 +0000 Sebastian Dröge gst/gstutils.h: Add G_GNUC_PURE to gst_util_uint64_scale* and the double<->uint64 conversion functions. Original commit message from CVS: * gst/gstutils.h: Add G_GNUC_PURE to gst_util_uint64_scale* and the double<->uint64 conversion functions. 2008-11-13 18:09:45 +0000 Wim Taymans gst/gstbuffer.c: Avoid costly typechecking for trivially correct pointers. Original commit message from CVS: * gst/gstbuffer.c: (gst_buffer_finalize): Avoid costly typechecking for trivially correct pointers. * gst/gstpoll.c: (gst_poll_wait): Add some G_LIKELY here and there. * libs/gst/base/gstadapter.c: (gst_adapter_push): Add some debug info. 2008-11-13 18:05:40 +0000 Wim Taymans docs/random/wtay/poll-timeout: Small tweaks. Original commit message from CVS: * docs/random/wtay/poll-timeout: Small tweaks. 2008-11-13 18:03:23 +0000 Wim Taymans tests/old/testsuite/: Remove references to deprecated API g_mem_chunk*. Original commit message from CVS: * tests/old/testsuite/caps/intersection.c: (main): * tests/old/testsuite/plugin/loading.c: (main): Remove references to deprecated API g_mem_chunk*. Fixes #560442. 2008-11-12 16:55:00 +0000 Wim Taymans tools/gst-inspect.c: Add --plugin option. Fixes #560301. Original commit message from CVS: * tools/gst-inspect.c: (main): Add --plugin option. Fixes #560301. 2008-11-12 12:45:46 +0000 Wim Taymans docs/random/wtay/poll-timeout: Quick braindump for a possible (not totally verified) atomic case. Original commit message from CVS: * docs/random/wtay/poll-timeout: Quick braindump for a possible (not totally verified) atomic case. 2008-11-12 10:39:25 +0000 Sebastian Dröge gst/gstregistrybinary.*: Don't write and check a CRC for the binary registry file. It's guaranteed that the registry ... Original commit message from CVS: * gst/gstregistrybinary.c: (gst_registry_binary_write_chunk), (gst_registry_binary_initialize_magic), (gst_registry_binary_write_cache), (gst_registry_binary_check_magic): * gst/gstregistrybinary.h: Don't write and check a CRC for the binary registry file. It's guaranteed that the registry is completely written (it's first written to a temporary file and then moved) and if the registry was corrupted by some hardware failure we would have bigger problems. Bump binary registry version to 0.10.21.1 for this as it's an incompatible change and to ensure that the registry gets rebuild after the update. This saves some milliseconds for reading/writing the registry. Fixes bug #560399. 2008-11-11 14:50:24 +0000 Wim Taymans docs/random/wtay/poll-timeout: Some pseudo code for how we could implement clock timeouts with GstPoll. Original commit message from CVS: * docs/random/wtay/poll-timeout: Some pseudo code for how we could implement clock timeouts with GstPoll. 2008-11-10 13:56:51 +0000 Thomas Vander Stichele plugins/elements/gstfilesink.c: Update Author string to match others. Original commit message from CVS: * plugins/elements/gstfilesink.c: Update Author string to match others. 2008-11-06 15:37:16 +0000 Wim Taymans gst/gstvalue.c: Reorganize some more, be more conservative with the GST_TYPE_ARRAY not being fixed and inline the tri... Original commit message from CVS: * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed): Reorganize some more, be more conservative with the GST_TYPE_ARRAY not being fixed and inline the trivial check. 2008-11-06 15:09:34 +0000 Wim Taymans gst/gstcaps.c: Callgrind micro optimisations. Original commit message from CVS: * gst/gstcaps.c: (gst_caps_copy), (_gst_caps_free), (gst_caps_merge_structure), (gst_caps_get_structure), (gst_caps_copy_nth), (gst_caps_set_simple), (gst_caps_set_simple_valist), (gst_caps_is_fixed), (gst_caps_is_equal_fixed), (gst_caps_intersect), (gst_caps_subtract), (gst_caps_normalize), (gst_caps_do_simplify), (gst_caps_to_string): Callgrind micro optimisations. Avoid array bounds checks and force inline of trivial function. * gst/gstobject.c: (gst_object_set_name_default): -1 is equivalent to letting glib to the strlen but then there is more room for optimisations and it's not our fault. * gst/gststructure.c: (gst_structure_id_empty_new_with_size): no need to clear the array, we're cool. * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed): The most common _is_fixed() check is done on fundamental glib base types so we check this first instead of doing a huge amount of useless GST_TYPE_ARRAY calls. 2008-11-06 12:03:17 +0000 Wim Taymans gst/gstevent.h: Add a SKIP seek flag for use with advanced trickmodes. Original commit message from CVS: * gst/gstevent.h: Add a SKIP seek flag for use with advanced trickmodes. API: GstSeekFlags::GST_SEEK_FLAG_SKIP 2008-11-05 16:57:35 +0000 Wim Taymans gst/gststructure.c: No need to memset, we can clear the value ourselves. Original commit message from CVS: * gst/gststructure.c: (gst_structure_id_empty_new_with_size): No need to memset, we can clear the value ourselves. * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_get_compare_func): Some optimisations from a few callgrind sessions: When checking if a type is fixed, check for trivial fundamental types first before checking types for which we need to get the type followed by the heavy duty type checks, this reduces the amount of g_type_fundamental() calls a lot. When getting the compare function, first check for our registered types. If that fails, do the heavy duty g_type_is_a() checks, reduces the amount of g_type_is_a() considerably. 2008-11-05 11:17:24 +0000 Wim Taymans docs/design/part-TODO.txt: Mumble something about removing GstXML. Original commit message from CVS: * docs/design/part-TODO.txt: Mumble something about removing GstXML. 2008-11-04 18:10:04 +0000 Wim Taymans gst/gstbin.c: Get the seqnum before we dispose the message. Original commit message from CVS: * gst/gstbin.c: (gst_bin_handle_message_func): Get the seqnum before we dispose the message. 2008-11-04 16:10:04 +0000 Wim Taymans docs/design/part-TODO.txt: Refer to the framestepping document. Original commit message from CVS: * docs/design/part-TODO.txt: Refer to the framestepping document. 2008-11-04 15:56:55 +0000 Wim Taymans Copy seqnums from events to messages so that they can all be related back to eachother. Original commit message from CVS: * gst/gstbin.c: (bin_handle_async_start), (gst_bin_handle_message_func), (gst_bin_query): * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object), (gst_base_sink_event), (gst_base_sink_change_state): * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek), (gst_base_src_loop), (gst_base_src_change_state): Copy seqnums from events to messages so that they can all be related back to eachother. 2008-11-04 15:52:09 +0000 Wim Taymans tools/gst-launch.c: Print the message seqnums. Original commit message from CVS: * tools/gst-launch.c: (event_loop): Print the message seqnums. 2008-11-04 13:56:37 +0000 Andy Wingo gst/gstutils.c (gst_util_seqnum_next): Refactor for clarity. Original commit message from CVS: 2008-11-04 Andy Wingo * gst/gstutils.c (gst_util_seqnum_next): Refactor for clarity. Also add API: to previous changelog entry. 2008-11-04 12:22:53 +0000 Andy Wingo Add sequence numbers to events and messages. See #559250. Original commit message from CVS: 2008-11-04 Andy Wingo Add sequence numbers to events and messages. See #559250. * gst/gstutils.c (gst_util_seqnum_next, gst_util_seqnum_compare): New functions. * gst/gstevent.h: * gst/gstevent.c (_gst_event_copy, gst_event_new): Initialize new events with a new sequence number, and copy it when copying. (gst_event_get_seqnum, gst_event_set_seqnum): Accessors for an event's sequence number. * gst/gstmessage.h: * gst/gstmessage.c (_gst_message_copy, gst_message_new_custom): (gst_event_get_seqnum, gst_event_set_seqnum): As with events, so with messages. * docs/gst/gstreamer-sections.txt: Add new functions to the docs. 2008-11-04 11:55:08 +0000 Wim Taymans docs/manual/: Some Application Development Manual fixes thanks to Original commit message from CVS: * docs/manual/advanced-position.xml: * docs/manual/basics-bins.xml: * docs/manual/basics-bus.xml: * docs/manual/basics-pads.xml: * docs/manual/intro-gstreamer.xml: * docs/manual/intro-preface.xml: Some Application Development Manual fixes thanks to Andrew Feren. Fixes #558459. 2008-11-03 12:29:10 +0000 Stefan Kost gst/gstregistrybinary.c: Don't bother with the GTimer if we don't output the results. Original commit message from CVS: * gst/gstregistrybinary.c: Don't bother with the GTimer if we don't output the results. 2008-11-03 10:59:49 +0000 David Schleef libs/gst/net/Makefile.am: Add WIN32_LIBS to libgstnet LIBADD. Fixes #557300. Original commit message from CVS: Patch by: David Schleef * libs/gst/net/Makefile.am: Add WIN32_LIBS to libgstnet LIBADD. Fixes #557300. 2008-10-31 15:54:44 +0000 Stefan Kost gst/gstregistrybinary.c: Oh my, studip, stupid me. Remove double stat() call. Original commit message from CVS: * gst/gstregistrybinary.c: Oh my, studip, stupid me. Remove double stat() call. 2008-10-31 14:24:49 +0000 Stefan Kost gst/gstpreset.c: Use g_unlink instead of unlink. Original commit message from CVS: * gst/gstpreset.c: Use g_unlink instead of unlink. * gst/gststructure.c: Use glib type. * gst/gstutils.c: Add a FIXME:. * gst/gsttaglist.c: * gst/gsttypefind.c: * gst/gstvalue.c: Formatting & whitespaces. 2008-10-31 08:53:27 +0000 Stefan Kost plugins/elements/gstidentity.c: Doc typo. Use return value of parent_class->event. Original commit message from CVS: * plugins/elements/gstidentity.c: Doc typo. Use return value of parent_class->event. * plugins/elements/gsttypefindelement.c: Chain up at the end for consistency. 2008-10-30 15:29:51 +0000 Stefan Kost docs/: Change to xinclude based build - its faster and easier to maintain. Original commit message from CVS: * docs/Makefile.am: * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * docs/gst/running.xml: * docs/libs/gstreamer-libs-docs.sgml: Change to xinclude based build - its faster and easier to maintain. 2008-10-30 14:15:14 +0000 Stefan Kost gst/: Use g_unlink() as none of these are directories. Original commit message from CVS: * gst/gstregistrybinary.c: * gst/gstregistryxml.c: Use g_unlink() as none of these are directories. 2008-10-29 17:04:50 +0000 Wim Taymans gst/gstpipeline.c: Some more comments. Original commit message from CVS: * gst/gstpipeline.c: (gst_pipeline_provide_clock_func): Some more comments. 2008-10-27 15:02:48 +0000 Wim Taymans libs/gst/base/gstbasetransform.c: If we have a fixate function, call it even if we already have fixed caps because th... Original commit message from CVS: * libs/gst/base/gstbasetransform.c: (gst_base_transform_find_transform), (gst_base_transform_getrange): If we have a fixate function, call it even if we already have fixed caps because the subclass might add some caps. Makes audioconvert add a default channel layout. 2008-10-24 09:41:19 +0000 Wim Taymans libs/gst/base/gstbasetransform.c: Clear the output buffer variable. Original commit message from CVS: * libs/gst/base/gstbasetransform.c: (gst_base_transform_prepare_output_buffer), (gst_base_transform_getrange): Clear the output buffer variable. Cleanups to the error path in the getrange function. Fixes #557649. 2008-10-23 12:52:58 +0000 Sebastian Dröge plugins/elements/: Use gst_buffer_try_new_and_alloc() and handle errors instead of using gst_buffer_new_and_alloc() w... Original commit message from CVS: * plugins/elements/gstfdsrc.c: (gst_fd_src_create): * plugins/elements/gstfilesrc.c: (gst_file_src_create_read): Use gst_buffer_try_new_and_alloc() and handle errors instead of using gst_buffer_new_and_alloc() which aborts if the buffer couldn't be allocated. 2008-10-23 09:49:07 +0000 Wim Taymans gst/gstsegment.c: Set the last_stop to a more meaningful position when configuring the segment. ie. the start/stop of... Original commit message from CVS: * gst/gstsegment.c: (gst_segment_set_newsegment_full): Set the last_stop to a more meaningful position when configuring the segment. ie. the start/stop of the segment or clipped against the updated segment boundaries. * tests/check/gst/gstsegment.c: (GST_START_TEST): Add some unit tests for the last_stop. 2008-10-23 07:11:54 +0000 Sebastian Dröge libs/gst/base/gstbytereader.c: Use GST_(READ|WRITE)_(FLOAT|DOUBLE)_(LE|BE) instead of our own copies of them. Original commit message from CVS: * libs/gst/base/gstbytereader.c: Use GST_(READ|WRITE)_(FLOAT|DOUBLE)_(LE|BE) instead of our own copies of them. 2008-10-23 07:09:21 +0000 Sebastian Dröge API: Move float endianness conversion macros from libgstfloatcast to core as it's useful in general, even in core. Fi... Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstutils.h: API: Move float endianness conversion macros from libgstfloatcast to core as it's useful in general, even in core. Fixes bug #555196. This adds GDOUBLE_FROM_BE, GDOUBLE_FROM_LE, GDOUBLE_TO_BE, GDOUBLE_TO_LE, GDOUBLE_SWAP_LE_BE, GFLOAT_FROM_BE, GFLOAT_FROM_LE, GFLOAT_TO_BE, GFLOAT_TO_LE, GFLOAT_SWAP_LE_BE. Also add GST_READ_ and GST_WRITE_ macros for floats and doubles: GST_READ_FLOAT_LE, GST_READ_FLOAT_BE, GST_READ_DOUBLE_LE, GST_READ_DOUBLE_BE, GST_WRITE_FLOAT_LE, GST_WRITE_FLOAT_BE, GST_WRITE_DOUBLE_LE, GST_WRITE_DOUBLE_BE. 2008-10-22 14:47:04 +0000 Sebastian Dröge API: Add gst_byte_reader_get_data and gst_byte_reader_peek_data to get a pointer to the data at the current position ... Original commit message from CVS: * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_data), (gst_byte_reader_peek_data): * libs/gst/base/gstbytereader.h: * win32/common/libgstbase.def: API: Add gst_byte_reader_get_data and gst_byte_reader_peek_data to get a pointer to the data at the current position and have a guaranteed size. 2008-10-22 14:25:16 +0000 Jan Schmidt configure.ac: Fix a bug in the output of the configure script summary when --gst-disable-registry is supplied Original commit message from CVS: * configure.ac: Fix a bug in the output of the configure script summary when --gst-disable-registry is supplied 2008-10-22 13:47:20 +0000 Jan Schmidt libs/gst/base/: Fix the names of 2 functions in the docs strings. Original commit message from CVS: * libs/gst/base/gstbitreader.c: * libs/gst/base/gstbytereader.c: Fix the names of 2 functions in the docs strings. 2008-10-21 16:30:41 +0000 Wim Taymans libs/gst/base/gstbasetransform.c: Protect sink_alloc caps with the sinkpad lock to avoid nasty caps refcount problems... Original commit message from CVS: * libs/gst/base/gstbasetransform.c: (gst_base_transform_prepare_output_buffer), (gst_base_transform_buffer_alloc), (gst_base_transform_suggest): Protect sink_alloc caps with the sinkpad lock to avoid nasty caps refcount problems as seen in banshee and maybe also in farsight2. Remove atomic int now that we need to take the lock anyways. 2008-10-20 15:18:14 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Implement more seeking in pull mode. Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_default_do_seek), (gst_base_sink_default_prepare_seek_segment), (gst_base_sink_perform_seek), (gst_base_sink_get_position_last), (gst_base_sink_get_position_paused), (gst_base_sink_get_position), (gst_base_sink_query): Implement more seeking in pull mode. Use pad convert functions to convert position to the requested format. Fix position/duration reporting in pull mode. Implement position and duration reporting in other formats than time. * libs/gst/base/gstbasesink.h: Add member to keep track of when the segment is playing. 2008-10-20 13:32:07 +0000 Wim Taymans gst/gstpad.c: When we use gst_pad_alloc_buffer() without wanting to set the caps we also don't need to check if the c... Original commit message from CVS: * gst/gstpad.c: (gst_pad_configure_src): When we use gst_pad_alloc_buffer() without wanting to set the caps we also don't need to check if the caps are compatible because the caller presumably is going to perform its own custom checks. Fixes some cases where basetransform elements would error out when it was not needed. 2008-10-20 13:29:06 +0000 Wim Taymans libs/gst/base/gstbasesrc.c: Update comment. Original commit message from CVS: * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek): Update comment. * libs/gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer), (gst_base_transform_reconfigure): Add some debug info. * win32/common/libgstbase.def: Add new method. 2008-10-19 19:57:25 +0000 Stefan Kost libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek); Original commit message from CVS: * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek); Remove duplicated assignment and log a message in failure case. 2008-10-19 10:13:39 +0000 Dig Ge tests/examples/helloworld/helloworld.c: Fix copy'n'paste bug in hello world example (#556900). Original commit message from CVS: Patch by: Dig Ge * tests/examples/helloworld/helloworld.c: (main): Fix copy'n'paste bug in hello world example (#556900). 2008-10-17 13:27:59 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Query the total number of bytes when activating the pad in pull mode. Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate_pull), (gst_base_sink_query): Query the total number of bytes when activating the pad in pull mode. Implement duration query in pull mode by using the installed pad convert function to convert from bytes to the requested format. 2008-10-16 14:09:18 +0000 Wim Taymans Add method to commit the state in subclasses. Original commit message from CVS: * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstbasesink.c: (gst_base_sink_do_preroll), (gst_base_sink_flush_start), (gst_base_sink_flush_stop), (gst_base_sink_event), (gst_base_sink_perform_seek), (gst_base_sink_loop), (gst_base_sink_pad_activate_pull), (gst_base_sink_send_event), (gst_base_sink_change_state): * libs/gst/base/gstbasesink.h: Add method to commit the state in subclasses. Refactor the flush_start and flush_stop code because we need it for flushing while seeking too. Implement the beginnings of seeking in pull mode. Use the segment last_stop field for the pulling offset. Fix the pause method in pull mode. Configure the segment to BYTES for pull mode. API: GstBaseSink::gst_base_sink_do_preroll() 2008-10-16 13:56:52 +0000 Wim Taymans libs/gst/base/gstbasesrc.c: Update some docs. Original commit message from CVS: * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init): Update some docs. 2008-10-14 17:10:43 +0000 Tim-Philipp Müller gst/gstquark.c: Fix printf format warning. Original commit message from CVS: * gst/gstquark.c: (_priv_gst_quarks_initialize): Fix printf format warning. 2008-10-14 12:34:56 +0000 Sebastian Dröge plugins/elements/gsttee.c: Fix flow aggregation of tee. Error out immediately for all flow returns except OK and NOT_... Original commit message from CVS: * plugins/elements/gsttee.c: (gst_tee_handle_buffer): Fix flow aggregation of tee. Error out immediately for all flow returns except OK and NOT_LINKED, return NOT_LINKED if all pads are not linked and return OK if at least one pad is linked. Before we errored out on "fatal" flow returns (i.e. not for WRONG_STATE) and otherwise returned the flow return of the last pad, which is wrong. * tests/check/elements/tee.c: (_fake_chain), (_fake_chain_error), (GST_START_TEST), (tee_suite): Add unit tests for the flow aggregation. 2008-10-13 17:19:25 +0000 Wim Taymans docs/design/part-TODO.txt: Remove item from the todo list because it was fixed with the latency state change rewrites. Original commit message from CVS: * docs/design/part-TODO.txt: Remove item from the todo list because it was fixed with the latency state change rewrites. * docs/design/part-seeking.txt: * docs/design/part-segments.txt: Update some docs. * gst/gstevent.c: (gst_event_new_new_segment_full), (gst_event_parse_new_segment_full), (gst_event_new_buffer_size), (gst_event_parse_buffer_size), (gst_event_new_qos), (gst_event_parse_qos), (gst_event_new_seek), (gst_event_parse_seek), (gst_event_new_latency), (gst_event_parse_latency): Use quarks to construct and parse events. * gst/gstquark.c: (_priv_gst_quarks_initialize): * gst/gstquark.h: Add some more quarks to the table. Emit a warning when the quark tables are not in sync. * tests/check/gst/gstbus.c: (GST_START_TEST): Add an assert. 2008-10-13 16:47:51 +0000 Stefan Kost plugins/: Don't install static libs for plugins. Fixes #550851 for core. Original commit message from CVS: * plugins/elements/Makefile.am: * plugins/indexers/Makefile.am: Don't install static libs for plugins. Fixes #550851 for core. 2008-10-13 10:50:17 +0000 Wim Taymans gst/gstbus.c: Fix deadlock, g_source_get_id() cannot be called in finalize. Original commit message from CVS: * gst/gstbus.c: (gst_bus_source_finalize), (gst_bus_add_watch_full_unlocked), (gst_bus_add_watch_full), (gst_bus_enable_sync_message_emission), (gst_bus_disable_sync_message_emission), (gst_bus_add_signal_watch_full), (gst_bus_remove_signal_watch): Fix deadlock, g_source_get_id() cannot be called in finalize. Keep track of the watch source by keeping a pointer to the source object instead. Use the bus lock to protect access to the pointer to the current watch source. 2008-10-13 09:22:22 +0000 Olivier Crete gst/gstbus.c: Only allow one bus watch to be set at a time. This is necessary because the dispatcher pops the message... Original commit message from CVS: Base on Patch by: Olivier Crete * gst/gstbus.c: (gst_bus_source_finalize), (gst_bus_add_watch_full), (gst_bus_add_signal_watch_full): Only allow one bus watch to be set at a time. This is necessary because the dispatcher pops the message from the bus and the second watcher will then get NULL or the next message (and the first won't get this next message then, etc). If more than one "watcher" is required signal watches should be used. Fixes bug #526044. 2008-10-12 22:16:00 +0000 Jan Schmidt tools/gst-launch.c: Change the printing of the 'buffering...' output to avoid putting a \r in a translateable string ... Original commit message from CVS: * tools/gst-launch.c: Change the printing of the 'buffering...' output to avoid putting a \r in a translateable string (flagged by the TP). 2008-10-10 15:38:06 +0000 Sebastian Dröge gst/gstxml.c: Clarify that the save_thyself() and restore_thyself() virtual functions of GstObject need to be overrid... Original commit message from CVS: * gst/gstxml.c: Clarify that the save_thyself() and restore_thyself() virtual functions of GstObject need to be overriden, not gst_object_(save|restore)_thyself() which is impossible. Fixes bug #555700. 2008-10-10 15:27:37 +0000 Wim Taymans gst/gstpad.c: Revert a patch from 21 months ago that broke caps negotiation in pull mode. Basically, having a buffer ... Original commit message from CVS: * gst/gstpad.c: (gst_pad_get_range), (gst_pad_pull_range): Revert a patch from 21 months ago that broke caps negotiation in pull mode. Basically, having a buffer pass over a pad will trigger the setcaps function when caps change, just like in push mode. 2008-10-10 15:12:11 +0000 Wim Taymans docs/design/part-negotiation.txt: Update the docs some more. Original commit message from CVS: * docs/design/part-negotiation.txt: Update the docs some more. * libs/gst/base/gsttypefindhelper.c: (helper_find_peek): If we pull a buffer with non-trivial caps, suggest those caps with the max probability. 2008-10-10 14:31:03 +0000 Edward Hervey docs/design/part-TODO.txt: Add another limitation of pad-blocking with segment seeks not pushing Original commit message from CVS: * docs/design/part-TODO.txt: Add another limitation of pad-blocking with segment seeks not pushing EOS events. 2008-10-10 13:24:13 +0000 Jan Schmidt win32/common/: Add new symbols to the win32 defs files Original commit message from CVS: * win32/common/libgstbase.def: * win32/common/libgstreamer.def: Add new symbols to the win32 defs files 2008-10-10 10:38:12 +0000 Wim Taymans gst/gstbin.c: The message src can be NULL, don't try to print the object names in that case. Original commit message from CVS: * gst/gstbin.c: (gst_bin_remove_func), (update_degree), (gst_bin_handle_message_func): The message src can be NULL, don't try to print the object names in that case. * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate): Add some more debug info. * tests/check/pipelines/simple-launch-lines.c: (run_pipeline), (GST_START_TEST): Add some debug. Fix the test, pull based sinks go ASYNC to PAUSED, just like other scheduling modes. 2008-10-10 10:01:36 +0000 Wim Taymans docs/design/part-negotiation.txt: Small doc update. Original commit message from CVS: * docs/design/part-negotiation.txt: Small doc update. * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init), (gst_base_sink_pad_getcaps), (gst_base_sink_pad_setcaps), (gst_base_sink_init), (gst_base_sink_set_blocksize), (gst_base_sink_get_blocksize), (gst_base_sink_set_property), (gst_base_sink_get_property), (gst_base_sink_needs_preroll), (gst_base_sink_loop), (gst_base_sink_pad_activate), (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull), (gst_base_sink_change_state): * libs/gst/base/gstbasesink.h: Add blocksize property and methods to control the amount of data to pull. Negotiate first before activating upstream in pull mode so that they can negotiate themselves. When we operate in pull mode, we only accept the caps that we negotiated. Make the sink go ASYNC to PAUSED, like all other sinks. API: GstBaseSink::gst_base_sink_set_blocksize() API: GstBaseSink::gst_base_sink_get_blocksize() API: GstBaseSink::blocksize * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing), (gst_base_src_set_live), (gst_base_src_is_live), (gst_base_src_set_format), (gst_base_src_query_latency), (gst_base_src_set_blocksize), (gst_base_src_get_blocksize), (gst_base_src_set_do_timestamp), (gst_base_src_get_do_timestamp), (gst_base_src_set_property), (gst_base_src_get_property): * libs/gst/base/gstbasesrc.h: Add typechecking in public API functions. Add methods to control the blocksize in subclasses. API: GstBaseSrc::gst_base_src_set_blocksize() API: GstBaseSrc::gst_base_src_get_blocksize() 2008-10-10 09:11:10 +0000 Edward Hervey tests/check/gst/gstutils.c: We now see 3 events go through our pad, since basesink now sends upstream latency events. Original commit message from CVS: * tests/check/gst/gstutils.c: (probe_do_nothing), (data_probe), (buffer_probe), (event_probe), (GST_START_TEST): We now see 3 events go through our pad, since basesink now sends upstream latency events. 2008-10-08 15:21:12 +0000 Wim Taymans gst/gstpipeline.c: Release the object lock before trying to flush the bus. Original commit message from CVS: * gst/gstpipeline.c: (gst_pipeline_change_state): Release the object lock before trying to flush the bus. 2008-10-08 14:21:13 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Forward LATENCY events upstreams so that elements know about the total pipeline latency.... Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event): Forward LATENCY events upstreams so that elements know about the total pipeline latency. Fixes #555307. 2008-10-08 11:20:17 +0000 Jan Schmidt plugins/elements/gstqueue.c: Allow through queries when we don't know how as otherwise it's not possible to query the... Original commit message from CVS: * plugins/elements/gstqueue.c: Allow through queries when we don't know how to adjust them (not TIME or BYTES), as otherwise it's not possible to query the current position in order to seek in other formats at all. 2008-10-08 11:12:15 +0000 Andy Wingo * ChangeLog: changelog Original commit message from CVS: changelog 2008-10-08 11:11:25 +0000 Andy Wingo docs/gst/gstreamer-sections.txt: Placate doc pendants. Original commit message from CVS: 2008-10-08 Andy Wingo * docs/gst/gstreamer-sections.txt: Placate doc pendants. 2008-10-08 10:39:24 +0000 Wim Taymans gst/gstghostpad.*: Unbreak -good build, private is a reserved c++ keyword. Original commit message from CVS: * gst/gstghostpad.c: * gst/gstghostpad.h: Unbreak -good build, private is a reserved c++ keyword. 2008-10-08 10:19:11 +0000 Andy Wingo gst/gstghostpad.*: Fix unintended API removal: re-add GST_GHOST_PAD_CAST to the header. Original commit message from CVS: 2008-10-08 Andy Wingo * gst/gstghostpad.h (GST_GHOST_PAD_CAST): * gst/gstghostpad.c (GST_GHOST_PAD_CAST): Fix unintended API removal: re-add GST_GHOST_PAD_CAST to the header. 2008-10-08 10:12:45 +0000 Andy Wingo gst/gstghostpad.h (GstProxyPad, GstProxyPadClass, GstGhostPad) Original commit message from CVS: 2008-10-08 Andy Wingo * gst/gstghostpad.h (GstProxyPad, GstProxyPadClass, GstGhostPad) (GstGhostPadClass): Publically expose these structures so as to allow easy subclassing from C. Hide the member data behind a private opaque data pointer. * gst/gstghostpad.c: Adapt to store instance data in the type instance's private data region, not in the public struct. 2008-10-08 10:07:15 +0000 Sebastian Dröge gst/gstregistrybinary.c: If we can't get a cache file don't try to save something to it. Original commit message from CVS: * gst/gstregistrybinary.c: (gst_registry_binary_write_cache): If we can't get a cache file don't try to save something to it. Dereferencing NULL pointers usually isn't a good idea. 2008-10-08 08:54:55 +0000 Andy Wingo gst/gstghostpad.c (gst_ghost_pad_construct): If we got a template via g_object_get(), be sure to unref it. Original commit message from CVS: 2008-10-08 Andy Wingo * gst/gstghostpad.c (gst_ghost_pad_construct): If we got a template via g_object_get(), be sure to unref it. * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): Fix incorrect doc. 2008-10-07 15:12:21 +0000 Jan Schmidt tests/check/: Add Sparc ABI checks Original commit message from CVS: * tests/check/Makefile.am: * tests/check/gst/gstabi.c: * tests/check/gst/struct_sparc.h: * tests/check/libs/libsabi.c: * tests/check/libs/struct_sparc.h: Add Sparc ABI checks * tests/check/gst/gstvalue.c: (GST_START_TEST): Cast signed integer to unsigned to avoid a compiler warning. 2008-10-07 12:26:40 +0000 Sebastian Dröge libs/gst/base/gstbytereader.c: Use new GST_READ_UINT24_(LE|BE) macros. Original commit message from CVS: * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_uint24_le), (gst_byte_reader_get_uint24_be), (gst_byte_reader_get_int24_le), (gst_byte_reader_get_int24_be), (gst_byte_reader_peek_uint24_le), (gst_byte_reader_peek_uint24_be), (gst_byte_reader_peek_int24_le), (gst_byte_reader_peek_int24_be): Use new GST_READ_UINT24_(LE|BE) macros. 2008-10-07 12:00:49 +0000 Sebastian Dröge Always use the unaligned variants of GST_READ_UINT* and GST_WRITE_UINT* as it's too easy to break the ISO C strict al... Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstutils.h: Always use the unaligned variants of GST_READ_UINT* and GST_WRITE_UINT* as it's too easy to break the ISO C strict aliasing rules with simple casts to the corresponding type and this would introduce hard to debug bugs. Fixes bug #545714. API: Add GST_READ_UINT24_(LE|BE) and GST_WRITE_UINT24_(LE|BE). 2008-10-07 06:56:11 +0000 Tim-Philipp Müller gst/: Add 'Since' bits to gtk-doc chunks for new API. Original commit message from CVS: * gst/gstbuffer.h: (GST_BUFFER_FREE_FUNC): * gst/gstghostpad.c: (gst_ghost_pad_construct): Add 'Since' bits to gtk-doc chunks for new API. 2008-10-06 21:52:57 +0000 Thijs Vermeir docs/gst/gstreamer-sections.txt: Fix documentation Original commit message from CVS: * docs/gst/gstreamer-sections.txt: Fix documentation 2008-10-06 18:03:58 +0000 Andy Wingo * ChangeLog: changelog, doh Original commit message from CVS: changelog, doh 2008-10-06 18:01:42 +0000 Andy Wingo gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): New API, a free function that will be called on the malloc_data to free it. B... Original commit message from CVS: 2008-10-06 Andy Wingo * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): New API, a free function that will be called on the malloc_data to free it. Basically a way to avoid subclassing when all you need is a different free function, i.e. free() instead of g_free(). * gst/gstbuffer.c (gst_buffer_finalize): Free malloc_data via calling the free function. (gst_buffer_init): Initialize the free function to g_free. 2008-10-06 17:57:25 +0000 Andy Wingo gst/gstghostpad.*: New function, finishes the initialization of ghost pad. Useful for language bindings and subclasse... Original commit message from CVS: 2008-10-06 Andy Wingo * gst/gstghostpad.h: * gst/gstghostpad.c (gst_ghost_pad_construct): New function, finishes the initialization of ghost pad. Useful for language bindings and subclassers of GstGhostPad. Fixes #539108. (gst_ghost_pad_new_full): Use the new constructor. 2008-10-06 16:15:02 +0000 Olivier Crete gst/gstbin.c: Keep track of pads that are being linked/unlinked and resync the state changes. Original commit message from CVS: Base on Patch by: Olivier Crete * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func), (gst_bin_remove_func), (update_degree), (gst_bin_sort_iterator_new), (gst_bin_handle_message_func): Keep track of pads that are being linked/unlinked and resync the state changes. * gst/gstpad.c: (gst_pad_get_direction), (gst_pad_set_chain_function), (gst_pad_set_getrange_function), (gst_pad_set_checkgetrange_function), (gst_pad_unlink), (gst_pad_link_prepare), (gst_pad_link), (gst_pad_event_default_dispatch), (gst_pad_chain), (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range), (gst_pad_pull_range): Some code cleanups, use macros to check pad direction. Don't need to take the lock on the pad direction. Post structure change when pads are linked/unlinked. Change some checks into _return_if_fail(). * tests/check/gst/gstbin.c: (test_link_structure_change_state_changed_sync_cb), (GST_START_TEST), (gst_bin_suite): Add testcase for pad link/unlinke resync during a state change. Fixes #510354. 2008-10-06 15:31:49 +0000 Wim Taymans Implement STRUCTURE_CHANGED messages. These messages will be used to signal the parent bin of link/unlink operations ... Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstmessage.c: (gst_message_new_structure_change), (gst_message_parse_structure_change): * gst/gstmessage.h: Implement STRUCTURE_CHANGED messages. These messages will be used to signal the parent bin of link/unlink operations that could require a resync when doing a state change. See ##510354. API: gst_message_new_structure_change() API: gst_message_parse_structure_change() 2008-10-06 15:21:14 +0000 Wim Taymans gst/gstquark.*: Add some more quarks for new message. See #510354. Original commit message from CVS: * gst/gstquark.c: * gst/gstquark.h: Add some more quarks for new message. See #510354. 2008-10-06 12:57:39 +0000 Sebastian Dröge * ChangeLog: ChangeLog surgery: add API tag Original commit message from CVS: ChangeLog surgery: add API tag 2008-10-06 12:41:53 +0000 Sebastian Dröge Add bit reader and byte reader classes, including documentation and an extensive unit test suite. Fixes bug #553554. Original commit message from CVS: * docs/libs/gstreamer-libs-docs.sgml: * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/Makefile.am: * libs/gst/base/gstbitreader.c: (gst_bit_reader_new), (gst_bit_reader_new_from_buffer), (gst_bit_reader_free), (gst_bit_reader_init), (gst_bit_reader_init_from_buffer), (gst_bit_reader_set_pos), (gst_bit_reader_get_pos), (gst_bit_reader_get_remaining), (gst_bit_reader_skip), (gst_bit_reader_skip_to_byte): * libs/gst/base/gstbitreader.h: * libs/gst/base/gstbytereader.c: (GDOUBLE_SWAP_LE_BE), (GFLOAT_SWAP_LE_BE), (gst_byte_reader_new), (gst_byte_reader_new_from_buffer), (gst_byte_reader_free), (gst_byte_reader_init), (gst_byte_reader_init_from_buffer), (gst_byte_reader_set_pos), (gst_byte_reader_get_pos), (gst_byte_reader_get_remaining), (gst_byte_reader_skip), (gst_byte_reader_get_uint8), (gst_byte_reader_get_int8), (gst_byte_reader_peek_uint8), (gst_byte_reader_peek_int8), (gst_byte_reader_get_uint24_le), (gst_byte_reader_get_uint24_be), (gst_byte_reader_get_int24_le), (gst_byte_reader_get_int24_be), (gst_byte_reader_peek_uint24_le), (gst_byte_reader_peek_uint24_be), (gst_byte_reader_peek_int24_le), (gst_byte_reader_peek_int24_be): * libs/gst/base/gstbytereader.h: * tests/check/Makefile.am: * tests/check/libs/bitreader.c: (GST_START_TEST), (gst_bit_reader_suite): * tests/check/libs/bytereader.c: (GST_START_TEST), (gst_byte_reader_suite): Add bit reader and byte reader classes, including documentation and an extensive unit test suite. Fixes bug #553554. 2008-10-06 08:58:25 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Improve position reporting while flushing and other intermediate state changes. Fixes #5... Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position), (gst_base_sink_query): Improve position reporting while flushing and other intermediate state changes. Fixes #553874. 2008-10-06 08:45:42 +0000 Antoine Tremblay gst/gstpad.c: Fix small refount leak in caps compatibility check. Original commit message from CVS: Patch by: Antoine Tremblay * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): Original patch by : Simon Descaries Fix small refount leak in caps compatibility check. Fixes #551676. 2008-10-06 07:30:57 +0000 Stefan Kost docs/pwg/advanced-request.xml: Fix 0.8 api usage in example. Fixes #554561 Original commit message from CVS: * docs/pwg/advanced-request.xml: Fix 0.8 api usage in example. Fixes #554561 * docs/pwg/appendix-porting.xml: Change 0.9 to 0.10 here. 2008-10-06 07:13:02 +0000 Stefan Kost docs/manual/basics-data.xml: Change "event-event interaction" to "element-element interaction". Original commit message from CVS: * docs/manual/basics-data.xml: Change "event-event interaction" to "element-element interaction". Fixes #552448. Also fix sample code for seeking and do more 0.8->0.10 updates. 2008-10-05 10:01:50 +0000 Jan Schmidt configure.ac: Back to development -> 0.10.21.1 Original commit message from CVS: * configure.ac: Back to development -> 0.10.21.1 === release 0.10.21 === 2008-10-02 23:59:53 +0000 Jan Schmidt * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/gstreamer-plugins.args: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * gstreamer.doap: * win32/common/config.h: Release 0.10.21 Original commit message from CVS: Release 0.10.21 2008-10-02 22:42:18 +0000 Jan Schmidt * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/id.po: * po/it.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/pt_BR.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files Original commit message from CVS: Update .po files 2008-09-28 22:49:56 +0000 Jan Schmidt configure.ac: 0.10.20.4 pre-release Original commit message from CVS: * configure.ac: 0.10.20.4 pre-release 2008-09-28 21:19:15 +0000 Jan Schmidt Fix assertion in basetransform when the subclass chooses not to allocate a buffer in prepare_buffer(), and make capsf... Original commit message from CVS: * libs/gst/base/gstbasetransform.c: * plugins/elements/gstcapsfilter.c: * tests/check/Makefile.am: * tests/check/elements/.cvsignore: * tests/check/elements/capsfilter.c: Fix assertion in basetransform when the subclass chooses not to allocate a buffer in prepare_buffer(), and make capsfilter error out cleanly if requested to apply caps that don't completely specify the buffer. Fixes #551509 2008-09-24 15:03:40 +0000 Wim Taymans libs/gst/base/gstbasetransform.c: Take new caps ref because our old one might have been gone when the subclass perfor... Original commit message from CVS: * libs/gst/base/gstbasetransform.c: (gst_base_transform_prepare_output_buffer): Take new caps ref because our old one might have been gone when the subclass performs a gst_pad_set_caps() on the srcpad. See #548764. 2008-09-16 15:35:04 +0000 Jan Schmidt * ChangeLog: Also commit ChangeLog Original commit message from CVS: Also commit ChangeLog 2008-09-16 15:24:04 +0000 Jan Schmidt Gah. Commit pre-release info that should have gone in last week already. Original commit message from CVS: Gah. Commit pre-release info that should have gone in last week already. 2008-09-10 Jan Schmidt * configure.ac: 0.10.20.2 pre-release * po/LINGUAS: * po/id.po: * po/pt_BR.po: New translations. 2008-09-15 15:18:07 +0000 Stefan Kost configure.ac: Do not probe availability of check unit test library when cross compiling, as test would not work anywa... Original commit message from CVS: * configure.ac: Do not probe availability of check unit test library when cross compiling, as test would not work anyway. Also cleanup verbose output of the check test. Fixes #551952. 2008-09-14 22:01:30 +0000 Antoine Tremblay gst/gstelement.c: Avoid leaking the parent ref when we fail changing the state of the element using gst_element_sync_... Original commit message from CVS: Based on patch by: Antoine Tremblay * gst/gstelement.c: (gst_element_sync_state_with_parent): Avoid leaking the parent ref when we fail changing the state of the element using gst_element_sync_state_with_parent(). Fixes #551978. 2008-09-11 16:56:48 +0000 Tim-Philipp Müller docs/manual/intro-motivation.xml: Remove some bits that no longer apply, update others (#551642). Original commit message from CVS: * docs/manual/intro-motivation.xml:: Remove some bits that no longer apply, update others (#551642). 2008-09-09 18:47:27 +0000 Tim-Philipp Müller win32/common/config.h.in: Add GST_DATADIR, hard-code cpu to x86. Original commit message from CVS: * win32/common/config.h.in: Add GST_DATADIR, hard-code cpu to x86. * win32/common/libgstreamer.def: Spaces to tabs. 2008-09-03 05:52:40 +0000 Tim-Philipp Müller gst/gsttaglist.h: Fix Since: markers for new geo tags. Original commit message from CVS: * gst/gsttaglist.h: Fix Since: markers for new geo tags. 2008-09-02 20:00:28 +0000 Stefan Kost gst/gsttaglist.h: Fix actual tag name define after renaming from altitude to elevation. Original commit message from CVS: * gst/gsttaglist.h: Fix actual tag name define after renaming from altitude to elevation. 2008-09-01 14:05:45 +0000 Wim Taymans gst/gstpad.c: Add fallback when calling the deprecated function on an element that implements the new internal_link h... Original commit message from CVS: * gst/gstpad.c: (add_unref_pad_to_list), (gst_pad_get_internal_links_default): Add fallback when calling the deprecated function on an element that implements the new internal_link handler. 2008-09-01 13:35:32 +0000 Stefan Kost Add new tags for geo location and clarify purpose of existing location tag. Fixes #481169 Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gsttaglist.c: * gst/gsttaglist.h: Add new tags for geo location and clarify purpose of existing location tag. Fixes #481169 2008-09-01 11:27:45 +0000 Olivier Crete gst/gstpad.c: Use thread-safe internal links iterator. Fixes #549504. Original commit message from CVS: Patch by: Olivier Crete * gst/gstpad.c: (gst_pad_iterate_internal_links_default), (gst_pad_event_default_dispatch), (gst_pad_dispatcher): Use thread-safe internal links iterator. Fixes #549504. 2008-09-01 10:42:04 +0000 Olivier Crete Add threadsafe replacement functions for getting internal links of an element. Deprecate the old internal links funct... Original commit message from CVS: Based on patch by: Olivier Crete * docs/gst/gstreamer-sections.txt: * win32/common/libgstreamer.def: * gst/gstpad.c: (gst_pad_init), (gst_pad_set_iterate_internal_links_function), (int_link_iter_data_free), (iterate_pad), (gst_pad_iterate_internal_links_default), (gst_pad_iterate_internal_links), (gst_pad_get_internal_links): * gst/gstpad.h: Add threadsafe replacement functions for getting internal links of an element. Deprecate the old internal links functions. API:GstPad::gst_pad_set_iterate_internal_links_function() API:GstPad::GstPadIterIntLinkFunction API:GstPad::gst_pad_iterate_internal_links() API:GstPad::gst_pad_iterate_internal_links_default() * gst/gstghostpad.c: (gst_proxy_pad_do_iterate_internal_links), (gst_proxy_pad_init): Implement threadsafe internal links. * tests/check/elements/tee.c: (GST_START_TEST), (tee_suite): Unit test for internal links on tee. See #549504. 2008-08-30 12:57:47 +0000 Edward Hervey tests/check/Makefile.am: libs/transform1 test requires libs/test_transform.c Original commit message from CVS: * tests/check/Makefile.am: libs/transform1 test requires libs/test_transform.c 2008-08-30 12:07:41 +0000 Edward Hervey gst/gstpad.c: Die evil deadlock, die ! Original commit message from CVS: * gst/gstpad.c: (gst_pad_get_internal_links_default): Die evil deadlock, die ! 2008-08-30 11:55:59 +0000 Edward Hervey Fix all leaks due to the bug in gst_pad_template_new() by which it does not steal the refcount of the given caps as s... Original commit message from CVS: * gst/gstutils.c: (gst_element_get_compatible_pad): * tests/check/gst/gstghostpad.c: (GST_START_TEST): * tests/check/gst/gstpad.c: (name_is_valid), (GST_START_TEST): Fix all leaks due to the bug in gst_pad_template_new() by which it does not steal the refcount of the given caps as stated. REVERT THIS COMMIT ONCE FIXED ! REVERT THIS COMMIT ONCE FIXED ! REVERT THIS COMMIT ONCE FIXED ! REVERT THIS COMMIT ONCE FIXED ! REVERT THIS COMMIT ONCE FIXED ! REVERT THIS COMMIT ONCE FIXED ! 2008-08-29 17:58:25 +0000 Wim Taymans gst/gstiterator.*: After 3 years it's about time to revise the documentation of the iterator objects. Original commit message from CVS: * gst/gstiterator.c: * gst/gstiterator.h: After 3 years it's about time to revise the documentation of the iterator objects. 2008-08-29 16:10:56 +0000 Wim Taymans gst/gstpad.c: Make the internal links function less thread-unsafe and add some comments, dunno why. Original commit message from CVS: * gst/gstpad.c: (gst_pad_get_internal_links_default): Make the internal links function less thread-unsafe and add some comments, dunno why. 2008-08-29 14:12:02 +0000 Tim-Philipp Müller gst/gst_private.h: Include gstinfo.h even if GST_DISABLE_GST_DEBUG is defined. Fixes build with --disable-gst-debug. Original commit message from CVS: * gst/gst_private.h: Include gstinfo.h even if GST_DISABLE_GST_DEBUG is defined. Fixes build with --disable-gst-debug. 2008-08-29 00:34:58 +0000 David Schleef gst/gstpadtemplate.c: Revert last change, since it breaks a few plugins, ffmpeg, alaw, and mulaw. Code is correct, b... Original commit message from CVS: * gst/gstpadtemplate.c: Revert last change, since it breaks a few plugins, ffmpeg, alaw, and mulaw. Code is correct, but shouldn't be enabled until we've released fixed versions of -good and -ffmpeg. 2008-08-28 20:12:54 +0000 Stefan Kost gst/gstobject.c: Put the gst_object_get_name() back in. Original commit message from CVS: * gst/gstobject.c: Put the gst_object_get_name() back in. 2008-08-28 12:32:19 +0000 Stefan Kost gst/gstpadtemplate.c: The old behaviour was that gst_pad_template_new() takes ownership of the caps. As we now call g... Original commit message from CVS: * gst/gstpadtemplate.c: The old behaviour was that gst_pad_template_new() takes ownership of the caps. As we now call g_object_new() which calls g_object_set() and which copies the caps, we have to unref them to not leak them. Fixes make valgrid for me. 2008-08-28 10:45:04 +0000 Stefan Kost gst/gsturi.c: Don't segfault on input like "tel:+1-123-555-1234". Original commit message from CVS: * gst/gsturi.c: Don't segfault on input like "tel:+1-123-555-1234". 2008-08-27 07:18:37 +0000 Stefan Kost gst/gstobject.c: Due to popular request also include ObjectType in gst_object_get_path_string(). Makes gst-launch -v ... Original commit message from CVS: * gst/gstobject.c: Due to popular request also include ObjectType in gst_object_get_path_string(). Makes gst-launch -v bit more useful. 2008-08-27 03:04:23 +0000 David Schleef gst/gstutils.c: Remove check in gst_pad_query_convert() that src_val must be positive, because that's not a requirement. Original commit message from CVS: * gst/gstutils.c: Remove check in gst_pad_query_convert() that src_val must be positive, because that's not a requirement. This causes problems with converting negative granulepos values for Dirac. * gst/gstquery.c: Same, gst_query_new_convert(). 2008-08-27 02:59:59 +0000 David Schleef gst/gstutils.c: Remove check in gst_pad_query_convert() that src_val must be positive, because that's not a requirement. Original commit message from CVS: * gst/gstutils.c: Remove check in gst_pad_query_convert() that src_val must be positive, because that's not a requirement. This causes problems with converting negative granulepos values for Dirac. 2008-08-25 11:06:34 +0000 Wim Taymans gst/gstclock.c: Add some more debugging to the clock slaving code. Original commit message from CVS: * gst/gstclock.c: (gst_clock_add_observation): Add some more debugging to the clock slaving code. * win32/common/libgstbase.def: Add new basetransform method. 2008-08-25 11:00:13 +0000 Wim Taymans gst/gstbin.c: Take the (recursive) state lock between getting the locked state of an element and changing the element... Original commit message from CVS: * gst/gstbin.c: (gst_bin_element_set_state): Take the (recursive) state lock between getting the locked state of an element and changing the element state. This allows the application to lock an element's state and then change its state without races. 2008-08-25 10:52:47 +0000 Wim Taymans gst/gstbin.c: When an element is in the locked state we still want to update the base_time of the element. Original commit message from CVS: * gst/gstbin.c: (gst_bin_element_set_state): When an element is in the locked state we still want to update the base_time of the element. 2008-08-21 11:17:05 +0000 Wim Taymans libs/gst/base/gstbasesrc.c: Use the result from gst_pad_set_caps() instead of assuming the element always accepted th... Original commit message from CVS: * libs/gst/base/gstbasesrc.c: (gst_base_src_default_negotiate): Use the result from gst_pad_set_caps() instead of assuming the element always accepted the caps computed by the default negotiate function. 2008-08-20 10:52:09 +0000 Wim Taymans Implement method for reconfiguring basetransform. Original commit message from CVS: * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer), (gst_base_transform_getrange), (gst_base_transform_chain), (gst_base_transform_suggest), (gst_base_transform_reconfigure): * libs/gst/base/gstbasetransform.h: Implement method for reconfiguring basetransform. API: GstBaseTransform::gst_base_transform_reconfigure() 2008-08-20 07:22:11 +0000 Murray Cumming gst/gstutils.c: Mention that this is just like gst_buffer_merge() but with extra unreffing for C coders. Advise langu... Original commit message from CVS: patch by: Murray Cumming * gst/gstutils.c: Mention that this is just like gst_buffer_merge() but with extra unreffing for C coders. Advise language bindings not to wrap it. Fixes Bug #533856. Also fix file comment. 2008-08-20 07:03:40 +0000 Stefan Kost plugins/elements/: Call super::event() when not handling it. Fixes #544855. Original commit message from CVS: reviewed by: Wim Taymans * plugins/elements/gstfakesink.c: * plugins/elements/gstfakesrc.c: Call super::event() when not handling it. Fixes #544855. 2008-08-19 17:23:18 +0000 Alessandro Decina plugins/elements/gstfilesrc.c: Use 64 bit variants of stat functions on win32, to enable support of large files there. Original commit message from CVS: Patch by: Alessandro Decina * plugins/elements/gstfilesrc.c: Use 64 bit variants of stat functions on win32, to enable support of large files there. Fixes #547277. 2008-08-19 16:47:07 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Improve position reporting in the flushing state. Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object), (gst_base_sink_event), (gst_base_sink_chain_unlocked), (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull), (gst_base_sink_get_position), (gst_base_sink_change_state): Improve position reporting in the flushing state. Also report the position when we are not yet prerolled but we have a newsegment event. Fixes #543444. Improve the pull-based negotiation code. * tests/check/elements/fakesink.c: (GST_START_TEST), (fakesink_suite): Add testcase for position reporting while flushing in PAUSED and PLAYING. * tests/check/generic/sinks.c: (GST_START_TEST): Update unit-test, we can now query the position as soon as we receive a NEWSEGMENT event. 2008-08-19 08:52:05 +0000 Jason Zhao libs/gst/base/gstbasesink.c: When the subclass event handler releases the PREROLL_LOCK, we could be in the flushing s... Original commit message from CVS: Based on patch by: Jason Zhao * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object): When the subclass event handler releases the PREROLL_LOCK, we could be in the flushing state and we have to ignore the event. Fixes #548394. 2008-08-18 11:28:00 +0000 Tim-Philipp Müller tools/gst-launch.1.in: Document GST_REGISTRY_UPDATE environment variable. Original commit message from CVS: * tools/gst-launch.1.in: Document GST_REGISTRY_UPDATE environment variable. 2008-08-18 09:59:18 +0000 Wim Taymans libs/gst/base/gstbasetransform.c: If the element is configured in passthrough mode but the prepare_output_buffer gave... Original commit message from CVS: * libs/gst/base/gstbasetransform.c: (gst_base_transform_prepare_output_buffer): If the element is configured in passthrough mode but the prepare_output_buffer gave us a new output buffer, discard that buffer and reuse the input buffer. 2008-08-15 17:01:07 +0000 Ole André Vadla Ravnås plugins/elements/gsttee.*: Protect pad_alloc with a new lock so that we can be sure that nothing is performing a pad_... Original commit message from CVS: Patch by: Ole André Vadla Ravnås * plugins/elements/gsttee.c: (gst_tee_finalize), (gst_tee_init), (gst_tee_request_new_pad), (gst_tee_release_pad), (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc): * plugins/elements/gsttee.h: Protect pad_alloc with a new lock so that we can be sure that nothing is performing a pad_alloc when removing the pad. Fixes #547835. * tests/check/elements/tee.c: (buffer_alloc_harness_setup), (buffer_alloc_harness_teardown), (app_thread_func), (final_sinkpad_bufferalloc), (GST_START_TEST), (tee_suite): Added testcase for shutdown race. 2008-08-14 20:05:33 +0000 Thijs Vermeir gst/gstpad.h: Add doc Original commit message from CVS: * gst/gstpad.h: Add doc 2008-08-14 16:37:29 +0000 Wim Taymans libs/gst/base/gstbasetransform.c: Go over the buffer_alloc function again and make sure we always end up allocating a... Original commit message from CVS: * libs/gst/base/gstbasetransform.c: (gst_base_transform_prepare_output_buffer), (gst_base_transform_buffer_alloc): Go over the buffer_alloc function again and make sure we always end up allocating a buffer. Add some more docs. Avoid doing pad alloc when we have a pending suggestion because we cannot yet deal with changing caps in that case. Fixes #547728 2008-08-14 14:26:20 +0000 Luc Pionchon docs/manual/: Add one more image showing different times together with a describing paragraph. Fixes #547729. Original commit message from CVS: patch by: Luc Pionchon * docs/manual/advanced-clocks.xml: * docs/manual/clocks.png: * docs/manual/diagrams-clocks.svg: Add one more image showing different times together with a describing paragraph. Fixes #547729. 2008-08-14 14:04:58 +0000 Wim Taymans win32/common/libgstbase.def: Add new method. Original commit message from CVS: * win32/common/libgstbase.def: Add new method. 2008-08-14 13:57:58 +0000 Wim Taymans libs/gst/base/gstbasetransform.c: Don't overwrite the outsize when calculating the expected size of a new buffer beca... Original commit message from CVS: * libs/gst/base/gstbasetransform.c: (gst_base_transform_transform_caps), (gst_base_transform_prepare_output_buffer), (gst_base_transform_buffer_alloc), (gst_base_transform_suggest): Don't overwrite the outsize when calculating the expected size of a new buffer because we still need it in case we cannot process the new buffer. When converting the size of the new buffer to an upstream size, actually use the expected size of the buffer, not some other random value. Use an atomic int to signal that a new upstream caps suggestion is available. When we can convert the current buffer to a new format, check if the buffer size is of the expected size and allocate a new buffer of the expected size when this is not the case. * tests/check/libs/transform1.c: (GST_START_TEST): remove ifdeffed code from the unit test. 2008-08-12 18:48:42 +0000 Stefan Kost pkgconfig/: Remove -lgstcontrol-0.10 which never worked anyway as the lib is called gstcontroller-0.10. Original commit message from CVS: * pkgconfig/gstreamer-uninstalled.pc.in: * pkgconfig/gstreamer.pc.in: Remove -lgstcontrol-0.10 which never worked anyway as the lib is called gstcontroller-0.10. 2008-08-12 06:27:35 +0000 Stefan Kost gst/: Remove double interface from doc-string. Original commit message from CVS: * gst/gstchildproxy.h: * gst/gstpreset.h: Remove double interface from doc-string. 2008-08-12 06:16:02 +0000 Stefan Kost libs/gst/base/: Fix headings in docs and gtk-doc warnings. Original commit message from CVS: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: Fix headings in docs and gtk-doc warnings. 2008-08-11 19:04:04 +0000 Michael Smith gst/gstregistrybinary.c: Don't use g_mkstmp() on win32, it's unsafe if glib is using a different libc. Original commit message from CVS: * gst/gstregistrybinary.c: Don't use g_mkstmp() on win32, it's unsafe if glib is using a different libc. Fixes #544776. 2008-08-11 15:14:28 +0000 Edward Hervey libs/gst/base/gstbasetransform.c: Fix a "may be used unitialized" warning. Original commit message from CVS: * libs/gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc): Fix a "may be used unitialized" warning. 2008-08-11 08:06:20 +0000 Stefan Kost Document preset-iface vmethods. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstpreset.h: Document preset-iface vmethods. 2008-08-11 07:07:45 +0000 Stefan Kost docs/manual/advanced-interfaces.xml: Turn thoughts about HAL into a note-tag. Remove mentioning that is only used to ... Original commit message from CVS: * docs/manual/advanced-interfaces.xml: Turn thoughts about HAL into a note-tag. Remove mentioning that is only used to discover devices. 2008-08-07 15:49:00 +0000 Frederic Crozat gst/gst.c: Make sure gettext returns translations in UTF-8 encoding rather than in the current locale encoding (#5468... Original commit message from CVS: Patch by: Frederic Crozat * gst/gst.c: (init_pre): Make sure gettext returns translations in UTF-8 encoding rather than in the current locale encoding (#546822). 2008-08-07 12:28:28 +0000 Wim Taymans gst/gstcaps.c: Fix subset test. Original commit message from CVS: * gst/gstcaps.c: (gst_caps_structure_is_subset_field): Fix subset test. * tests/check/gst/gstcaps.c: (GST_START_TEST): Improve unit test subset tests and add a testcase for the subset failure cases. * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite): Improve subtraction unit test. 2008-08-07 07:01:15 +0000 Stefan Kost plugins/elements/gsttee.c: Unlock, instead of locking again. Original commit message from CVS: * plugins/elements/gsttee.c: Unlock, instead of locking again. 2008-08-05 16:50:27 +0000 Wim Taymans gst/gstpad.h: Clarify the docs a bit more. Original commit message from CVS: * gst/gstpad.h: Clarify the docs a bit more. 2008-08-05 15:42:00 +0000 Stefan Kost tests/examples/metadata/read-metadata.c: Don't leak old taglist. Original commit message from CVS: * tests/examples/metadata/read-metadata.c: Don't leak old taglist. 2008-08-05 15:03:27 +0000 Olivier Crete gst/gststructure.c: Avoid overflows in fixation code when dealing with MAXINT values, which v4l2src seems to do. Original commit message from CVS: Patch by: Olivier Crete * gst/gststructure.c: (gst_structure_fixate_field_nearest_fraction): Avoid overflows in fixation code when dealing with MAXINT values, which v4l2src seems to do. Fixes #546328. * tests/check/gst/gststructure.c: (GST_START_TEST): Make a unit test to check the fix. 2008-08-05 11:12:29 +0000 Wim Taymans plugins/elements/gstcapsfilter.c: Use new caps suggestion feature of basetransform to request a caps negotiation upst... Original commit message from CVS: * plugins/elements/gstcapsfilter.c: (copy_func), (gst_capsfilter_set_property): Use new caps suggestion feature of basetransform to request a caps negotiation upstream. 2008-08-05 11:11:00 +0000 Wim Taymans docs/libs/gstreamer-libs-sections.txt: Add new function: Original commit message from CVS: * docs/libs/gstreamer-libs-sections.txt: Add new function: API: GstBaseTransform::gst_base_transform_suggest() * libs/gst/base/gstbasetransform.c: (gst_base_transform_finalize), (gst_base_transform_init), (gst_base_transform_transform_caps), (gst_base_transform_transform_size), (gst_base_transform_configure_caps), (gst_base_transform_can_transform), (gst_base_transform_find_transform), (gst_base_transform_setcaps), (gst_base_transform_prepare_output_buffer), (gst_base_transform_buffer_alloc), (gst_base_transform_handle_buffer), (gst_base_transform_getrange), (gst_base_transform_chain), (gst_base_transform_activate), (gst_base_transform_set_passthrough), (gst_base_transform_is_passthrough), (gst_base_transform_set_in_place), (gst_base_transform_is_in_place), (gst_base_transform_update_qos), (gst_base_transform_set_qos_enabled), (gst_base_transform_is_qos_enabled), (gst_base_transform_set_gap_aware), (gst_base_transform_suggest), (gst_base_transform_reconfigure): * libs/gst/base/gstbasetransform.h: Rewrite of basetransform to perform negotiation outside of the buffer_alloc functions. Fixes #545853. * tests/check/libs/transform1.c: (GST_START_TEST), (buffer_alloc_ct2): Update unit test. 2008-08-05 05:44:02 +0000 Stefan Kost tests/check/gst/gstpreset.c: Only run preset tests when $HOME is writable. Preliminary fix for #545433. Original commit message from CVS: * tests/check/gst/gstpreset.c: Only run preset tests when $HOME is writable. Preliminary fix for #545433. 2008-08-04 15:49:13 +0000 Wim Taymans gst/gstbin.c: Fix race for bins that simulate ASYNC state changes by inserting Original commit message from CVS: * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_change_state_func), (bin_handle_async_done), (gst_bin_handle_message_func): Fix race for bins that simulate ASYNC state changes by inserting ASYNC_START and ASYNC_DONE messages in their bus. We need to check for pending ASYNC messages even when the bin does not have ASYNC children. We note detect this behaviour because we will receive an ASYNC message that is originating from the bin itself. Fixes races with decodebin2 state changes. * tests/check/gst/gstbin.c: (GST_START_TEST): Add some more debug. 2008-08-04 13:01:35 +0000 Tim-Philipp Müller gst/gsttaglist.c: Fix typo. Original commit message from CVS: * gst/gsttaglist.c: (_gst_tag_initialize): Fix typo. 2008-08-04 12:46:23 +0000 Stefan Kost gst/gsttaglist.c: Argh. actually save the text before committing. Now adds gst_tag_merge_strings_with_comma() to gst_... Original commit message from CVS: * gst/gsttaglist.c: Argh. actually save the text before committing. Now adds gst_tag_merge_strings_with_comma() to gst_tag_register(). 2008-08-04 12:30:26 +0000 Stefan Kost gst/gsttaglist.*: Do as tim pointed out and actually register the new tag. Also improve te docs and use gst_tag_merge... Original commit message from CVS: * gst/gsttaglist.c: * gst/gsttaglist.h: Do as tim pointed out and actually register the new tag. Also improve te docs and use gst_tag_merge_strings_with_comma() method to allow retriving all keywords merged in one list. 2008-08-01 11:57:40 +0000 Stefan Kost Revert 'accidential' change of the configure option removal. We still need to generate the types file in configure --... Original commit message from CVS: * configure.ac: * docs/gst/gstreamer.types: Revert 'accidential' change of the configure option removal. We still need to generate the types file in configure --disable-load-save. 2008-08-01 11:34:06 +0000 Stefan Kost Add new taglist item GST_TAG_KEYWORDS, needed for #520694 . Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gsttaglist.h: Add new taglist item GST_TAG_KEYWORDS, needed for #520694 . 2008-08-01 10:02:49 +0000 Tim-Philipp Müller gst/gstpadtemplate.c: Add "name-template", "direction", "presence" and "caps" properties, so that gst_pad_template_ne... Original commit message from CVS: * gst/gstpadtemplate.c: (gst_pad_template_class_init), (gst_static_pad_template_get), (gst_pad_template_new), (gst_pad_template_pad_created), (gst_pad_template_set_property), (gst_pad_template_get_property): Add "name-template", "direction", "presence" and "caps" properties, so that gst_pad_template_new() is just a thin wrapper around g_object_new(), which is better for bindings. (Fixes: #539772) 2008-07-31 17:16:50 +0000 Michael Smith gst/gsturi.c: Be more liberal in what URIs we accept. Original commit message from CVS: * gst/gsturi.c: Be more liberal in what URIs we accept. Do not unescape bits of the URI for no apparent reason before passing to the element. Fixes #545352. 2008-07-31 15:24:21 +0000 Robert Schwebel gst/gst.c: Include gstconfig.h as macros from it are used. Fixes bug #545607. Original commit message from CVS: Patch by: Robert Schwebel * gst/gst.c: Include gstconfig.h as macros from it are used. Fixes bug #545607. 2008-07-31 15:20:32 +0000 Sebastian Dröge Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere. Original commit message from CVS: * configure.ac: * docs/gst/gstreamer-sections.txt: * docs/gst/gstreamer.types: * docs/gst/gstreamer.types.in: * gst/Makefile.am: * gst/gst.c: * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func): * gst/gstconfig.h.in: * gst/gstelement.c: (gst_element_get_index): * gst/gstregistrybinary.c: (gst_registry_binary_save_feature), (gst_registry_binary_load_feature), (gst_registry_binary_read_cache): * gst/gstregistryxml.c: (load_feature), (gst_registry_xml_read_cache), (gst_registry_xml_save_feature): * plugins/Makefile.am: * tools/gst-indent: * tools/gst-inspect.c: (print_index_info), (print_element_list), (print_plugin_features), (print_element_features): * tools/gst-xmlinspect.c: (print_event_masks), (print_element_info): * win32/common/gstconfig.h: Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere. Disabling the indexers and URI handler code will only reduce the required amount of memory by a very small amount but on the other hand requires much more maintaince work. Apart from that many places of code are broken when disabling them. Disabling the enum types doesn't reduce the required amount of memory by more than a few bytes and makes it hard to fix bugs like #539772, i.e. use the enums as GObject properties. 2008-07-31 13:06:56 +0000 Wim Taymans docs/design/part-TODO.txt: Add some thoughts and problems with upstream renegotiation. Original commit message from CVS: * docs/design/part-TODO.txt: Add some thoughts and problems with upstream renegotiation. 2008-07-31 12:50:52 +0000 Wim Taymans gst/gstpad.c: Remove silly redundant debug. Original commit message from CVS: * gst/gstpad.c: (gst_pad_acceptcaps_default), (gst_pad_configure_src), (gst_pad_alloc_buffer_full): Remove silly redundant debug. Add some more debug info. Clarify the docs regarding new caps received from pad_alloc. 2008-07-31 09:55:14 +0000 Wim Taymans plugins/elements/gstcapsfilter.c: Make setting the caps more threadsafe. Original commit message from CVS: * plugins/elements/gstcapsfilter.c: (gst_capsfilter_set_property), (gst_capsfilter_get_property), (gst_capsfilter_transform_caps): Make setting the caps more threadsafe. 2008-07-31 08:39:15 +0000 Wim Taymans docs/design/part-element-transform.txt: Update docs. Original commit message from CVS: * docs/design/part-element-transform.txt: Update docs. 2008-07-31 08:37:04 +0000 Wim Taymans plugins/elements/gstqueue.c: Add and use a custom acceptcaps function instead of falling back to the potentially less... Original commit message from CVS: * plugins/elements/gstqueue.c: (gst_queue_init), (gst_queue_acceptcaps): Add and use a custom acceptcaps function instead of falling back to the potentially less optimized default implementation. 2008-07-29 15:32:11 +0000 Tim-Philipp Müller gst/gstpad.c: Only sanity-check the buffer size if requested_caps == buffer_caps (ie. don't take pad caps into accoun... Original commit message from CVS: * gst/gstpad.c: (gst_pad_alloc_buffer_full): Only sanity-check the buffer size if requested_caps == buffer_caps (ie. don't take pad caps into account, they're not relevant here) 2008-07-29 14:32:51 +0000 Stefan Kost plugins/elements/gsttee.*: Reverting as not everything is clear yet. Needs some general design work. Original commit message from CVS: * plugins/elements/gsttee.c: * plugins/elements/gsttee.h: Reverting as not everything is clear yet. Needs some general design work. 2008-07-29 13:36:39 +0000 Stefan Kost ChangeLog: ChangeLog surgery for tee commit. Original commit message from CVS: * ChangeLog: ChangeLog surgery for tee commit. 2008-07-29 13:30:02 +0000 Stefan Kost docs/gst/gstreamer-sections.txt: Cleanup section-file. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: Cleanup section-file. 2008-07-29 11:57:11 +0000 Stefan Kost plugins/elements/gsttee.*: Relay tag events in tee. Fixes parts of #474016. Original commit message from CVS: * plugins/elements/gsttee.c: * plugins/elements/gsttee.h: Relay tag events in tee. Fixes parts of #474016. 2008-07-29 00:45:29 +0000 Michael Smith Build the net library if we have winsock2. Original commit message from CVS: * configure.ac: * libs/gst/Makefile.am: Build the net library if we have winsock2. 2008-07-26 12:00:36 +0000 Luc Pionchon docs/manual/: Replace one diagram with two separate ones and updates others. Original commit message from CVS: patch by: Luc Pionchon * docs/manual/advanced-threads.xml: * docs/manual/diagrams-pipelines.svg: * docs/manual/hello-world.png: * docs/manual/linked-elements.png: * docs/manual/mime-world.png: * docs/manual/queue.png: * docs/manual/thread-buffering.png: * docs/manual/thread-synchronizing.png: Replace one diagram with two separate ones and updates others. Fixes #542401. 2008-07-25 10:24:43 +0000 Thijs Vermeir gst/gstelement.h: Fix link in documentation. Original commit message from CVS: * gst/gstelement.h: Fix link in documentation. 2008-07-24 17:38:43 +0000 Thijs Vermeir gst/gstmessage.c: Fix confusing documentation. Original commit message from CVS: * gst/gstmessage.c: Fix confusing documentation. 2008-07-24 15:13:24 +0000 Thijs Vermeir libs/gst/base/gstbasesrc.h: revert the changes to the header file for the ABI. Original commit message from CVS: * libs/gst/base/gstbasesrc.h: revert the changes to the header file for the ABI. 2008-07-24 14:47:58 +0000 Thijs Vermeir libs/gst/base/gstbasesrc.*: Don't cache the seekable status. Original commit message from CVS: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasesrc.h: Don't cache the seekable status. Fixes bug #544174 2008-07-24 12:36:20 +0000 Rene Stadler docs/manual/advanced-autoplugging.xml: Add fakesink to example code to close the pipeline graph. This prevents the p... Original commit message from CVS: * docs/manual/advanced-autoplugging.xml: Add fakesink to example code to close the pipeline graph. This prevents the program from printing internal data flow errors. 2008-07-23 15:44:04 +0000 Sebastian Dröge docs/manual/basics-bus.xml: Correct typo. Fixes bug #544320. Original commit message from CVS: * docs/manual/basics-bus.xml: Correct typo. Fixes bug #544320. 2008-07-22 18:12:54 +0000 Michael Smith configure.ac: Remove AC_ISC_POSIX macro; it's broken on some platforms and not needed. Original commit message from CVS: * configure.ac: Remove AC_ISC_POSIX macro; it's broken on some platforms and not needed. Add check (taken from -base) for winsock, adds WIN32_LIBS * gst/Makefile.am: Add WIN32_LIBS to LIBADD for libgstreamer. Needed now that gstpoll uses winsock. Define GST_EXPORTS when building libgstreamer (only used on win32) * gst/gst_private.h: * gst/gstinfo.h: Use GST_EXPORT instead of locally-defined (and incorrect IMPORT_SYMBOL) for symbols that we need to export in both these files. * gst/gstpoll.c: Include gst_private.h higher up to avoid some compile problems on win32. 2008-07-22 09:24:37 +0000 Sebastian Dröge gst/gstvalue.c: Fix typos. Original commit message from CVS: * gst/gstvalue.c: Fix typos. 2008-07-22 00:29:55 +0000 Thijs Vermeir gst/gstcaps.c: Previous commit was wrong NULL caps does not exist and indicate an error, so also add a FIXME to gst_c... Original commit message from CVS: * gst/gstcaps.c: Previous commit was wrong NULL caps does not exist and indicate an error, so also add a FIXME to gst_caps_is_equal where NULL caps are accepted. 2008-07-21 23:02:40 +0000 Thijs Vermeir gst/gstcaps.c: Allow passing of NULL to gst_caps_union Original commit message from CVS: * gst/gstcaps.c: Allow passing of NULL to gst_caps_union 2008-07-21 21:32:06 +0000 Thijs Vermeir gst/gstghostpad.c: Add in doc that gst_ghost_pad_set_target can accept Original commit message from CVS: * gst/gstghostpad.c: Add in doc that gst_ghost_pad_set_target can accept NULL to clear target 2008-07-15 22:53:00 +0000 Michael Smith gst/: GstRegistryPool doesn't exist; don't refer to it in docs. Original commit message from CVS: * gst/gstplugin.c: * gst/gstregistry.c: GstRegistryPool doesn't exist; don't refer to it in docs. Don't refer to functions that don't exist in docs, it's unhelpful. 2008-07-12 17:51:16 +0000 Sebastian Dröge gst/gst.c: Fix scanning of paths given via --gst-plugin-path. Fixes bug #542175. Original commit message from CVS: * gst/gst.c: Fix scanning of paths given via --gst-plugin-path. Fixes bug #542175. 2008-07-12 17:43:15 +0000 tmatth docs/pwg/building-testapp.xml: Don't use an undeclared variable in the example program. Original commit message from CVS: Patch by: tmatth * docs/pwg/building-testapp.xml: Don't use an undeclared variable in the example program. Fixes bug #542573. 2008-07-12 09:59:32 +0000 Stefan Kost gst/gstdebugutils.c: Squeeze ghost-pad links and remove <> from classname labels to save more horizontal space. Original commit message from CVS: * gst/gstdebugutils.c: Squeeze ghost-pad links and remove <> from classname labels to save more horizontal space. 2008-07-11 19:30:48 +0000 Stefan Kost gst/gstdebugutils.c: Give request and sometimes pads a different shpe style. Condense the graphs a little more. Original commit message from CVS: * gst/gstdebugutils.c: Give request and sometimes pads a different shpe style. Condense the graphs a little more. 2008-07-10 00:30:02 +0000 Michael Smith configure.ac: Don't require flex and bison if the parser is disabled. Original commit message from CVS: * configure.ac: Don't require flex and bison if the parser is disabled. 2008-07-08 11:20:22 +0000 Sebastian Dröge libs/gst/controller/gstinterpolationcontrolsource.c: Don't use declarations after statements. Original commit message from CVS: * libs/gst/controller/gstinterpolationcontrolsource.c: (_list_find_sorted_custom): Don't use declarations after statements. 2008-07-08 09:04:25 +0000 Sebastian Dröge gst/gstchildproxy.c: Add FIXMEs for 0.11 to use GST_TYPE_OBJECT in the signature of the the child-added / -removed si... Original commit message from CVS: * gst/gstchildproxy.c: (gst_child_proxy_base_init): Add FIXMEs for 0.11 to use GST_TYPE_OBJECT in the signature of the the child-added / -removed signals as GstChildProxy only supports GstObjects. 2008-07-07 11:01:26 +0000 Thijs Vermeir gst/gstdebugutils.c: Fix memleak Original commit message from CVS: * gst/gstdebugutils.c: Fix memleak 2008-07-06 12:49:43 +0000 Alessandro Decina gst/gstpoll.c: Fix "ignored return value" compiler warning with newer glibc. Original commit message from CVS: Patch by: Alessandro Decina * gst/gstpoll.c: Fix "ignored return value" compiler warning with newer glibc. 2008-07-05 16:28:28 +0000 Sebastian Dröge gst/gstchildproxy.c: Fix copy&paste error in gst_child_proxy_removed() documentation. Original commit message from CVS: * gst/gstchildproxy.c: Fix copy&paste error in gst_child_proxy_removed() documentation. 2008-07-02 14:43:40 +0000 Tim-Philipp Müller gst/gstplugin.c: Print error debug message if plugin description fields that should be set are NULL. Original commit message from CVS: * gst/gstplugin.c: (CHECK_PLUGIN_DESC_FIELD), (gst_plugin_load_file): Print error debug message if plugin description fields that should be set are NULL. * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string): Don't crash if the string to serialise is NULL (it really should not be, but apparently this used to work with the xml registry ...). 2008-07-02 12:23:12 +0000 Thijs Vermeir tools/gst-plot-timeline.py: Fix parsing of log messages Original commit message from CVS: * tools/gst-plot-timeline.py: Fix parsing of log messages 2008-07-01 09:27:47 +0000 Tim-Philipp Müller win32/common/libgstbase.def: Sort alphabetically so make check-exports doesn't barf. Original commit message from CVS: * win32/common/libgstbase.def:: Sort alphabetically so make check-exports doesn't barf. 2008-07-01 05:53:32 +0000 Stefan Kost gst/gstevent.c: Use gst_format_get_name() to improve debug output. Original commit message from CVS: * gst/gstevent.c: Use gst_format_get_name() to improve debug output. * gst/gstpreset.c: Remove #ifdef'ed code. Add TODO comment. * gst/gstsegment.c: Add debug output to ease spotting format != segment.format assertions. 2008-06-30 09:42:43 +0000 Sebastian Dröge tests/check/libs/gdp.c: Also enable the GDP unit test again on PPC now that the bug is fixed. Original commit message from CVS: * tests/check/libs/gdp.c: (gst_dp_suite): Also enable the GDP unit test again on PPC now that the bug is fixed. 2008-06-30 09:38:45 +0000 Sebastian Dröge libs/gst/dataprotocol/dataprotocol.c: Don't write to the same region of memory as a uint64 and uint16 as this breaks ... Original commit message from CVS: * libs/gst/dataprotocol/dataprotocol.c: Don't write to the same region of memory as a uint64 and uint16 as this breaks strict aliasing rules and apparantly breaks on PPC and s390. Thanks to Sjoerd Simons for analysing. Fixes bug #348114. 2008-06-29 16:11:24 +0000 Stefan Kost libs/gst/controller/gstinterpolationcontrolsource.c: Optimize list handling. Use own find function. Exploit that fact... Original commit message from CVS: * libs/gst/controller/gstinterpolationcontrolsource.c: Optimize list handling. Use own find function. Exploit that fact that the list is sorted. Also pass back the node before, so that we can insert quickly. Have a fast path for append. 2008-06-29 15:00:26 +0000 Stefan Kost docs/design/: Fix two typos. Original commit message from CVS: * docs/design/draft-framestep.txt: * docs/design/part-negotiation.txt: Fix two typos. 2008-06-27 09:02:51 +0000 Stefan Kost configure.ac: Original commit message from CVS: * configure.ac: Show configuration sumary after configure run. Based on patch by Luc Pionchon . Fixes: #540134 2008-06-27 07:03:05 +0000 Luc Pionchon docs/manual/: Add scale factor for pdf output. Original commit message from CVS: patch by: Luc Pionchon * docs/manual/advanced-autoplugging.xml: * docs/manual/advanced-threads.xml: * docs/manual/basics-bins.xml: * docs/manual/basics-elements.xml: * docs/manual/basics-helloworld.xml: * docs/manual/basics-pads.xml: Add scale factor for pdf output. * docs/manual/intro-basics.xml: Switched sections "pads" and "bins" and added a pipeline diagram. * docs/manual/intro-gstreamer.xml: Added more info on gstreamer. * docs/manual/intro-motivation.xml: Commented out the whole section "current problem", which sounds historical and somehow osolete; it could be turned in a positive way and reused to improve the design principles. * docs/manual/intro-preface.xml: - Update URLs to library.gnome.org. - Do not mention GTK+ in preliminary reading (irrelevant). - Mention Plugin Writer's Manual and further reading only in the previous section. - Added a list of most relevant GObject/glib topics. * docs/manual/Makefile.am: * docs/manual/bin-element-ghost.fig: * docs/manual/bin-element-ghost.png: * docs/manual/bin-element-noghost.fig: * docs/manual/bin-element-noghost.png: * docs/manual/bin-element.fig: * docs/manual/bin-element.png: * docs/manual/filter-element-multi.fig: * docs/manual/filter-element-multi.png: * docs/manual/filter-element.fig: * docs/manual/filter-element.png: * docs/manual/gstreamer-overview.png: * docs/manual/hello-world.fig: * docs/manual/hello-world.png: * docs/manual/linked-elements.fig: * docs/manual/linked-elements.png: * docs/manual/mime-world.fig: * docs/manual/mime-world.png: * docs/manual/queue.fig: * docs/manual/queue.png: * docs/manual/simple-player.png: * docs/manual/sink-element.fig: * docs/manual/sink-element.png: * docs/manual/src-element.fig: * docs/manual/src-element.png: * docs/manual/diagrams-general.svg: * docs/manual/diagrams-pipelines.svg: Removed .fig, added .png counterpart. Fixes: #539137 2008-06-26 20:27:00 +0000 Thijs Vermeir plugins/elements/gstmultiqueue.*: revert extra-size-buffers stuff, caused some race conditions and extra-size-buffers... Original commit message from CVS: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstmultiqueue.h: revert extra-size-buffers stuff, caused some race conditions and extra-size-buffers is not used anymore. Docs needs some updates 2008-06-26 12:52:41 +0000 Tim-Philipp Müller win32/common/: Update win32 files. Original commit message from CVS: * win32/common/config.h: * win32/common/gstenumtypes.c: * win32/common/gstenumtypes.h: * win32/common/gstversion.h: Update win32 files. 2008-06-26 12:24:08 +0000 Tim-Philipp Müller gst/gstdebugutils.h: Add missing Since' markers to gtk-doc blurbs. Original commit message from CVS: * gst/gstdebugutils.h: (GstDebugGraphDetails), (GST_DEBUG_BIN_TO_DOT_FILE): Add missing Since' markers to gtk-doc blurbs. 2008-06-26 11:59:40 +0000 Wim Taymans tests/check/libs/transform1.c: Add some more tests with switching caps in buffer_alloc. Original commit message from CVS: * 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), (set_caps_ct2), (transform_ct2), (transform_caps_ct2), (transform_size_ct2), (buffer_alloc_ct2): Add some more tests with switching caps in buffer_alloc. 2008-06-25 17:27:30 +0000 Wim Taymans tests/check/libs/: More tests, prepare for tests with switching caps in buffer_alloc. Original commit message from CVS: * 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), (set_caps_ct2), (transform_ct2), (transform_caps_ct2), (transform_size_ct2), (buffer_alloc_ct2), (gst_basetransform_suite): More tests, prepare for tests with switching caps in buffer_alloc. 2008-06-25 15:39:02 +0000 Thijs Vermeir plugins/elements/gstmultiqueue.*: Fix dead-lock in underrun_cb Original commit message from CVS: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstmultiqueue.h: Fix dead-lock in underrun_cb 2008-06-25 14:49:08 +0000 Wim Taymans docs/design/part-states.txt: Fix device open/close docs. Original commit message from CVS: * docs/design/part-states.txt: Fix device open/close docs. 2008-06-25 14:47:11 +0000 Stefan Kost ChangeLog: Mention bugnumber for last commit. Original commit message from CVS: * ChangeLog: Mention bugnumber for last commit. 2008-06-25 14:44:52 +0000 Luc Pionchon docs/manual/manual.xml: - Reorganised the previous "introduction" bundle into Foreword, Original commit message from CVS: patch by: Luc Pionchon * docs/manual/manual.xml: - Reorganised the previous "introduction" bundle into Foreword, Introduction, and About GStreamer. The two first are docbook elements. The later is the first part of the book. - added intro-gstreamer.xml (content partially from intro-preface.xml) - moved appendix-win32.xml into appendix-integration.xml * docs/manual/intro-preface.xml: gstreamer section moved... * docs/manual/intro-gstreamer.xml: ...here. new file. * docs/manual/appendix-win32.xml: removed file. Content moved... * docs/manual/appendix-integration.xml: ...here. * docs/manual/highlevel-components.xml: section about GstEditor moved... * docs/manual/appendix-checklist.xml: ...here. 2008-06-25 14:32:53 +0000 Luc Pionchon docs/manual/: - Explicitely include glib.h. Original commit message from CVS: patch by: Luc Pionchon * docs/manual/basics-helloworld.xml: * docs/manual/hello-world.fig: - Explicitely include glib.h. - Do not use global variables. - Use g_printerr() instead of g_print(). - Minor formating/renaming to increase readibility. - Renamed new_pad() to on_pad_added() - Improved explenatory comments. - renamed ogg parser to ogg demuxer - Use "autoaudiosink" instead of "alsasink". Fixes: #538619 2008-06-25 14:27:37 +0000 Stefan Kost ChangeLog: Remove cvs conflict marker. Original commit message from CVS: * ChangeLog: Remove cvs conflict marker. 2008-06-25 14:25:49 +0000 Stefan Kost docs/README: Document that for plgin-docs we extraxt he short-desc from the element details. Original commit message from CVS: * docs/README: Document that for plgin-docs we extraxt he short-desc from the element details. * docs/design/part-states.txt: Tell that devices should be closed in PAUSED -> READY. * docs/manual/README: Document how tests in the manual are handled. * docs/manuals.mak: Typo in comment. 2008-06-25 11:50:06 +0000 Wim Taymans gst/gstbin.c: Only care about latency min and max when the sink is actually a live sink. Original commit message from CVS: * gst/gstbin.c: (bin_query_latency_fold): Only care about latency min and max when the sink is actually a live sink. 2008-06-25 10:53:52 +0000 Wim Taymans docs/design/part-block.txt: Fix typo. 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. 2008-06-24 19:56:51 +0000 Luc Pionchon docs/manual/: Typo and formatting fixes (#538594). Original commit message from CVS: Patch by: Luc Pionchon * docs/manual/appendix-integration.xml: * docs/manual/appendix-licensing.xml: * docs/manual/basics-elements.xml: * docs/manual/basics-helloworld.xml: * docs/manual/basics-pads.xml: * docs/manual/highlevel-components.xml: * docs/manual/highlevel-xml.xml: * docs/manual/intro-basics.xml: * docs/manual/intro-preface.xml: Typo and formatting fixes (#538594). 2008-06-24 07:49:36 +0000 Sebastian Dröge tests/check/gst/gstghostpad.c: Fix some memory leaks and uses of object instances that we don't actually own. 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. 2008-06-22 19:19:35 +0000 Thijs Vermeir plugins/elements/gstmultiqueue.c: Add functionality to extra-size-buffers property. Original commit message from CVS: * plugins/elements/gstmultiqueue.c: Add functionality to extra-size-buffers property. 2008-06-22 14:35:13 +0000 Thijs Vermeir plugins/elements/gstmultiqueue.c: Don't update the cur_time on GST_CLOCK_TIME_NONE (#537804) and don't activate the p... 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. 2008-06-21 21:20:13 +0000 Thijs Vermeir docs/libs/gstreamer-libs-sections.txt: Add new API to doc 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 2008-06-21 19:48:53 +0000 Thijs Vermeir libs/gst/check/gstcheck.*: Also setup request pads and allow setup pads by name (#537812) 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 2008-06-20 21:08:47 +0000 Thomas Vander Stichele tests/check/: Use HAVE_VALGRIND_H some more. Original commit message from CVS: * tests/check/gst/gstbuffer.c: * tests/check/pipelines/parse-launch.c: Use HAVE_VALGRIND_H some more. 2008-06-20 16:29:23 +0000 Thomas Vander Stichele scripts/cvs-update.sh: Pass arguments to make. Original commit message from CVS: * scripts/cvs-update.sh: Pass arguments to make. Run autoregen.sh if Makefile is not there. 2008-06-20 15:54:43 +0000 Thomas Vander Stichele Don't assume that exists just because the binary is there. Original commit message from CVS: * configure.ac: * gst/gstinfo.c: Don't assume that exists just because the binary is there. 2008-06-20 12:06:54 +0000 Wim Taymans tests/check/: Add some test basetransform element and the beginnings of various unit tests for it. 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. 2008-06-20 11:24:03 +0000 Wim Taymans libs/gst/base/gsttypefindhelper.c: Increase code readability. 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. 2008-06-20 11:07:05 +0000 Tim-Philipp Müller docs/design/Makefile.am: Dist some more design docs. 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. 2008-06-20 10:32:34 +0000 Wim Taymans docs/design/draft-framestep.txt: Some ideas about a framestep API 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. 2008-06-20 10:20:08 +0000 Tim-Philipp Müller gst/gstbus.c: Make it known that gst_bus_poll() is pure evil (fixes #538810). Original commit message from CVS: * gst/gstbus.c: Make it known that gst_bus_poll() is pure evil (fixes #538810). 2008-06-20 10:14:54 +0000 Stefan Kost plugins/elements/: Remove short_description. Add basic docs for gsttypefindelement. Original commit message from CVS: * plugins/elements/gstcapsfilter.c: * plugins/elements/gstfakesink.c: * plugins/elements/gstfakesrc.c: * plugins/elements/gstfdsink.c: * plugins/elements/gstfdsrc.c: * plugins/elements/gstfilesink.c: * plugins/elements/gstfilesrc.c: * plugins/elements/gstidentity.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gstqueue.c: * plugins/elements/gsttee.c: * plugins/elements/gsttypefindelement.c: Remove short_description. Add basic docs for gsttypefindelement. Simplify markup for fakesrc/fdsrc. 2008-06-20 10:07:28 +0000 Wim Taymans plugins/elements/gstfdsrc.c: Added Since doc. Original commit message from CVS: * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init): Added Since doc. 2008-06-20 10:02:14 +0000 joel larsson Add timeout property like udpsrc. Fixes #538628. Original commit message from CVS: Patch by: joel larsson * 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. 2008-06-20 08:54:45 +0000 Wim Taymans Add method to allow sinks to specify additional delay between the sync times and the actual rendering of the data. 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() 2008-06-20 08:45:01 +0000 Jan Schmidt configure.ac: Bump version number back to dev -> 0.10.20.1 Original commit message from CVS: * configure.ac: Bump version number back to dev -> 0.10.20.1 2008-06-20 08:39:54 +0000 Sebastian Dröge API: Add GST_TAG_ATTACHMENT for generic file attachments to streams. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gsttaglist.c: (_gst_tag_initialize): * gst/gsttaglist.h: API: Add GST_TAG_ATTACHMENT for generic file attachments to streams. Fixes bug #538568. 2008-06-20 08:36:46 +0000 Stefan Kost libs/gst/controller/gstcontroller.c: Revert one change, that make ret value possible uninitialized. Original commit message from CVS: * libs/gst/controller/gstcontroller.c: Revert one change, that make ret value possible uninitialized. 2008-06-20 08:32:36 +0000 Stefan Kost libs/gst/controller/gstcontroller.c: Use freeze/thaw notify to sync notify emission a bit (its also more efficient). ... 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. 2008-06-20 08:28:46 +0000 Wim Taymans libs/gst/base/gstbasesink.c: If we have not seen a buffer before EOS, use the segment values to report the current po... 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. 2008-06-20 08:21:48 +0000 Stefan Kost Ignore more. Original commit message from CVS: * docs/plugins/tmpl/.cvsignore: * tests/check/gst/.cvsignore: Ignore more. 2008-06-20 08:17:08 +0000 Stefan Kost Rewrite handling of default values. Fix overflow with unsigned types in linear interpolation. Remove now obsolete _fi... 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. 2008-06-20 08:14:23 +0000 Wim Taymans libs/gst/base/gstbasetransform.c: Add debug info. 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). === release 0.10.20 === 2008-06-18 10:58:35 +0000 Jan Schmidt * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/gstreamer-plugins.args: * docs/plugins/gstreamer-plugins.hierarchy: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * gstreamer.doap: * win32/common/config.h: Release 0.10.20 Original commit message from CVS: Release 0.10.20 2008-06-18 10:56:18 +0000 Jan Schmidt * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/it.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files Original commit message from CVS: Update .po files 2008-06-11 21:14:17 +0000 Jan Schmidt configure.ac: 0.10.19.3 pre-release Original commit message from CVS: * configure.ac: 0.10.19.3 pre-release 2008-06-11 20:07:31 +0000 David Schleef Rename DATADIR to GST_DATADIR to avoid build problems 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 Fixes: #536857 2008-06-05 10:13:45 +0000 Sebastian Dröge configure.ac: Explicitely link with -ldl if dladdr() is found there. Before it was implicitely linked by the gmodule ... 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. 2008-06-05 09:42:31 +0000 Jan Schmidt * ChangeLog: Put pre-release chaneglog entry where it actually happened Original commit message from CVS: Put pre-release chaneglog entry where it actually happened 2008-06-05 09:41:25 +0000 Jan Schmidt configure.ac: 0.10.19.2 pre-release Original commit message from CVS: * configure.ac: 0.10.19.2 pre-release 2008-06-05 08:55:41 +0000 Tim-Philipp Müller gst/gsterror.c: Fix typo (spotted by Fabricio Godoy, #536723). Original commit message from CVS: * gst/gsterror.c: (_gst_stream_errors_init): Fix typo (spotted by Fabricio Godoy, #536723). 2008-06-04 11:47:16 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Add some debug. 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. 2008-06-04 11:31:15 +0000 Wim Taymans gst/gstevent.c: Add some assert and docs for invalid input to the qos function. Original commit message from CVS: * gst/gstevent.c: (gst_event_new_qos): Add some assert and docs for invalid input to the qos function. 2008-05-30 15:48:52 +0000 Wim Taymans libs/gst/base/gstbasesink.c: The reported position must always be smaller than the last seen timestamps (or timestamp... 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). 2008-05-30 07:36:17 +0000 Rob Bradford gst/gstregistry.c: Don't recurse into .debug directories as some distros install the debugging symbols next to the pl... Original commit message from CVS: Patch by: Rob Bradford * 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. 2008-05-29 16:34:22 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Fix position query range checks in reverse playback. 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. 2008-05-29 07:19:47 +0000 Sebastian Dröge gst/gstelement.*: Deprecated gst_element_get_pad() as it can't be used sanely. It's not clear of the reference to the... 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. 2008-05-28 16:46:07 +0000 José Alburquerque gst/gstelementfactory.c: Small doc fix. Fixes #535285. Original commit message from CVS: Patch by: José Alburquerque * gst/gstelementfactory.c: Small doc fix. Fixes #535285. 2008-05-28 13:48:17 +0000 Bjarne Rosengren libs/gst/base/gstbasesrc.c: Make sending an EOS event to the basesrc non-blocking even if the implementation does blo... Original commit message from CVS: Based on patch by: Bjarne Rosengren * 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. 2008-05-28 10:44:15 +0000 Sebastian Dröge tools/gst-inspect.c: If possible print the element type of GValueArray properties. Original commit message from CVS: * tools/gst-inspect.c: (print_element_properties_info): If possible print the element type of GValueArray properties. 2008-05-28 07:47:22 +0000 Sebastian Dröge gst/gstiterator.c: Remove an unused field from the private GstListIterator struct. Original commit message from CVS: * gst/gstiterator.c: Remove an unused field from the private GstListIterator struct. 2008-05-27 20:19:17 +0000 Stefan Kost libs/gst/controller/gstcontroller.c: Add parameter guards. Original commit message from CVS: * libs/gst/controller/gstcontroller.c: Add parameter guards. 2008-05-27 19:47:49 +0000 Stefan Kost tests/check/gst/gstpipeline.c: Revert test change and add comment why it should not work. Original commit message from CVS: * tests/check/gst/gstpipeline.c: Revert test change and add comment why it should not work. 2008-05-27 18:31:39 +0000 Stefan Kost 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: * tests/check/gst/gstpipeline.c: Extending the test a little to verify that we also get the NULL state- change message. 2008-05-27 16:37:32 +0000 Tim-Philipp Müller gst/gstpreset.c: Add Since: markers to docs blurbs. Original commit message from CVS: * gst/gstpreset.c: (gst_preset_default_get_meta), (gst_preset_get_preset_names), (gst_preset_get_property_names), (gst_preset_load_preset), (gst_preset_save_preset), (gst_preset_rename_preset), (gst_preset_delete_preset), (gst_preset_set_meta): Add Since: markers to docs blurbs. * win32/common/libgstreamer.def: Add recently-added API. 2008-05-27 15:11:35 +0000 Stefan Kost configure.ac: Add DATADIR for storing presets. Original commit message from CVS: Patch by: Stefan Kost * configure.ac: Add DATADIR for storing presets. * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * docs/gst/gstreamer.types.in: Add GstPreset to docs. * gst/Makefile.am: * gst/gst.h: * gst/gstpreset.c: (preset_get_paths), (preset_skip_property), (preset_open_and_parse_header), (preset_parse_version), (preset_merge), (preset_get_keyfile), (gst_preset_default_get_preset_names), (gst_preset_default_get_property_names), (gst_preset_default_load_preset), (gst_preset_default_save_presets_file), (gst_preset_default_save_preset), (gst_preset_default_rename_preset), (gst_preset_default_delete_preset), (gst_preset_default_set_meta), (gst_preset_default_get_meta), (gst_preset_default_randomize), (gst_preset_default_reset), (gst_preset_get_preset_names), (gst_preset_get_property_names), (gst_preset_load_preset), (gst_preset_save_preset), (gst_preset_rename_preset), (gst_preset_delete_preset), (gst_preset_set_meta), (gst_preset_get_meta), (gst_preset_class_init), (gst_preset_base_init), (gst_preset_get_type): * gst/gstpreset.h: Add GstPreset to core. Fixes #396779 * tests/check/Makefile.am: * tests/check/gst/gstpreset.c: (gst_preset_test_get_property), (gst_preset_test_set_property), (gst_preset_test_class_init), (gst_preset_test_base_init), (gst_preset_test_get_type), (gst_preset_test_plugin_init), (GST_START_TEST), (remove_preset_file), (test_setup), (test_teardown), (gst_preset_suite): Add GstPreset unit tests. 2008-05-27 10:59:38 +0000 Wim Taymans gst/gstpad.c: The default event function on a sinkpad should return TRUE when there are no internal links but should ... 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. 2008-05-27 10:57:11 +0000 Wim Taymans plugins/elements/gsttypefindelement.c: Use faster and safer _pad_push_event(). 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(). 2008-05-27 10:50:49 +0000 Tim-Philipp Müller API: add gst_bin_find_unlinked_pad() Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstutils.c: (element_find_unlinked_pad), (gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad), * gst/gstutils.h: API: add gst_bin_find_unlinked_pad() API: deprecate gst_bin_find_unconnected_pad() (#401456) 2008-05-26 10:07:09 +0000 Peter Kjellerstedt gst/: Fixed a bunch of typos. Original commit message from CVS: * gst/gstclock.c: * gst/gstclock.h: * gst/gsttask.c: * gst/gsttask.h: Fixed a bunch of typos. 2008-05-25 16:34:32 +0000 Tim-Philipp Müller gst/: 'unconnected pad' -> 'unlinked pad' for consistency (#401456). Original commit message from CVS: * gst/gstpad.h: * gst/gstutils.c: (gst_element_unlink), (element_find_unlinked_pad), (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description), (gst_parse_bin_from_description_full): * gst/gstutils.h: 'unconnected pad' -> 'unlinked pad' for consistency (#401456). 2008-05-25 16:13:38 +0000 Tim-Philipp Müller docs/pwg/advanced-tagging.xml: Small docs update, can't be bothered to rewrite the nonsensical examples right now. Original commit message from CVS: * docs/pwg/advanced-tagging.xml: Small docs update, can't be bothered to rewrite the nonsensical examples right now. 2008-05-25 14:44:44 +0000 Tim-Philipp Müller gst/gstevent.h: Clarify docs for GST_SEEK_TYPE_CUR (#534505). Original commit message from CVS: * gst/gstevent.h: Clarify docs for GST_SEEK_TYPE_CUR (#534505). 2008-05-25 14:13:22 +0000 Tim-Philipp Müller gst/parse/grammar.y: Remove unneeded casts. Original commit message from CVS: * gst/parse/grammar.y: Remove unneeded casts. 2008-05-25 13:56:38 +0000 Tim-Philipp Müller Get all missing elements from a parse launch string if possible (ie. if the FATAL_ERRORS flag has been specified). Fi... 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. 2008-05-24 16:38:15 +0000 Tim-Philipp Müller tests/check/: Add some unit tests for the new gst_parse_launch*_full() API. (Exposes a previously-existing memory lea... 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). 2008-05-24 15:33:53 +0000 Tim-Philipp Müller API: gst_parse_launch_full() Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gst.c: (init_post): * gst/gst_private.h: (_GstParseContext): * gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new), (gst_parse_context_free), (gst_parse_context_get_missing_elements), (gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch), (gst_parse_launch_full): * gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS), (GstParseFlags), (GstParseContext): * gst/gstutils.c: (gst_parse_bin_from_description), (gst_parse_bin_from_description_full): * gst/gstutils.h: * gst/parse/grammar.y: * gst/parse/types.h: * win32/common/libgstreamer.def: Add new gst_parse_*_full API (#528178): API: gst_parse_launch_full() API: gst_parse_launchv_full() API: gst_parse_bin_from_description_full() API: gst_parse_context_new() API: gst_parse_context_free() API: gst_parse_context_get_missing_elements() 2008-05-23 06:50:10 +0000 Suresh Kumar P docs/faq/gst-uninstalled: Also support ffmpeg in gst-uninstalled. Original commit message from CVS: patch by: Suresh Kumar P * docs/faq/gst-uninstalled: Also support ffmpeg in gst-uninstalled. 2008-05-22 20:29:20 +0000 Sebastian Dröge configure.ac: After discussion on IRC use the binary registry as default but allow to disable it with --disable-binar... 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. 2008-05-22 15:38:54 +0000 Tim-Philipp Müller gst/: More guards against bad input; typo fix; some minor clean-ups. 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. 2008-05-22 08:33:27 +0000 Sjoerd Simons libs/gst/base/gstbasesink.c: If nothing else can be used, use the last buffer's start time as the segment's last stop... Original commit message from CVS: Patch by: Sjoerd Simons * 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. 2008-05-21 18:33:08 +0000 Tim-Philipp Müller gst/gstpad.c: Move size sanity check to the right place: downstream may return a buffer with a smaller size if the bu... 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. 2008-05-21 16:06:53 +0000 Wim Taymans plugins/elements/: Small cleanups. Add note adbout g_fopen() on windows and why we don't use it yet. 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. 2008-05-21 15:57:52 +0000 Wim Taymans Don't use gst_element_get_pad(). Original commit message from CVS: * gst/gstpad.c: (gst_pad_load_and_link): * gst/gstutils.c: (gst_element_link_pads), (gst_element_unlink_pads): * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad), (gst_check_teardown_src_pad), (gst_check_setup_sink_pad), (gst_check_teardown_sink_pad), (gst_check_element_push_buffer_list): * tests/check/elements/fakesink.c: (GST_START_TEST): * tests/check/elements/filesink.c: * tests/check/elements/filesrc.c: (GST_START_TEST): * tests/check/elements/multiqueue.c: (setup_multiqueue), (mq_sinkpad_to_srcpad): * tests/check/elements/tee.c: (GST_START_TEST): * tests/check/generic/sinks.c: (GST_START_TEST): * tests/check/gst/gstbin.c: (GST_START_TEST): * tests/check/gst/gstevent.c: (GST_START_TEST): * tests/check/gst/gstghostpad.c: (GST_START_TEST): * tests/check/gst/gstpipeline.c: (GST_START_TEST): * tests/check/gst/gstquery.c: (GST_START_TEST): * tests/check/gst/gstutils.c: (GST_START_TEST): * tests/check/libs/basesrc.c: (GST_START_TEST): * tests/check/pipelines/parse-launch.c: (run_delayed_test), (gst_parse_test_element_change_state): Don't use gst_element_get_pad(). 2008-05-21 15:54:28 +0000 Felipe Contreras docs/Makefile.am: Fix installing plugin documentation when gtk-doc is disabled. Original commit message from CVS: * docs/Makefile.am: Fix installing plugin documentation when gtk-doc is disabled. 2008-05-21 15:51:25 +0000 Wim Taymans docs/manual/: Avoid using a bad function in the example code. 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. 2008-05-21 15:49:21 +0000 Wim Taymans gst/gstclock.c: Fix debug of the new clock rate. Original commit message from CVS: * gst/gstclock.c: (gst_clock_set_calibration): Fix debug of the new clock rate. 2008-05-21 11:10:32 +0000 Sebastian Dröge win32/common/libgstbase.def: Add gst_base_sink_wait_clock() to the exported symbols. Original commit message from CVS: * win32/common/libgstbase.def: Add gst_base_sink_wait_clock() to the exported symbols. 2008-05-20 08:28:24 +0000 Tim-Philipp Müller libs/gst/base/gstbasetransform.c: Unref events that the GstBaseTransform::event vfunc didn't want to have forwarded b... Original commit message from CVS: Patch by: Tim-Philipp Müller * 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. 2008-05-19 16:36:51 +0000 Wim Taymans Expose a method that was previously used internally to synchronize against the clock because it can be useful for sub... 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() 2008-05-19 11:59:34 +0000 Tim-Philipp Müller gst/gstpad.c: Add sanity check to make sure we don't get smaller buffers than requested (and fallback to normal buffe... 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). 2008-05-19 11:11:49 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Refactor adjusting the running_time with latency and offset into a separate method. 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. 2008-05-19 10:46:44 +0000 Tim-Philipp Müller API: add gst_type_find_suggest_simple(), #533740. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gsttypefind.c: (gst_type_find_suggest_simple): * gst/gsttypefind.h: * win32/common/libgstreamer.def: API: add gst_type_find_suggest_simple(), #533740. 2008-05-19 10:29:57 +0000 Tim-Philipp Müller libs/gst/base/gstbasesrc.c: Use right error code when typefinding fails, so we can use the default (translated) error... 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. 2008-05-19 10:03:09 +0000 Wim Taymans libs/gst/base/gstbasesrc.c: When the subclass did not set caps on outgoing buffers, configure the caps we negotiated ... 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. 2008-05-18 18:53:50 +0000 Tim-Philipp Müller gst/gsttypefind.h: Tabs to spaces, oh yes! Original commit message from CVS: * gst/gsttypefind.h: Tabs to spaces, oh yes! 2008-05-18 12:13:42 +0000 Tim-Philipp Müller * ChangeLog: ChangeLog surgery Original commit message from CVS: ChangeLog surgery 2008-05-18 11:52:39 +0000 Tim-Philipp Müller tests/check/gst/gstcaps.c: Add David's and Benjamin's tests for array subtraction to the unit test suite, which sugge... 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. 2008-05-18 11:35:43 +0000 Tim-Philipp Müller gst/gstevent.c: Document that gst_event_new_tag() and gst_event_new_navigation() take ownership of the taglist/struct... 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). 2008-05-17 17:20:51 +0000 Jan Schmidt docs/Makefile.am: Don't descend into the plugins dir if plugin docs building is disabled. 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. 2008-05-17 13:54:52 +0000 Sebastian Dröge gst/gstmessage.*: Mark the debug string parameters as const. Fixes bug #533490. 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. 2008-05-16 21:09:45 +0000 Sebastian Dröge libs/gst/base/gsttypefindhelper.c: Sort buffer cache list by end offsets. This makes sure that we don't stop to searc... 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. 2008-05-14 18:17:34 +0000 Stefan Kost gst/gstinfo.c: Explain why we copy the list. 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. 2008-05-14 18:09:01 +0000 Stefan Kost tests/check/gst/gstinfo.c: Add a test for removing the default log handler. Seems to fail under windows. Original commit message from CVS: * tests/check/gst/gstinfo.c: Add a test for removing the default log handler. Seems to fail under windows. 2008-05-14 13:52:59 +0000 Wim Taymans gst/gstpad.c: Release pad lock before calling out to avoid a possible deadlock. Original commit message from CVS: * gst/gstpad.c: (gst_pad_peer_accept_caps): Release pad lock before calling out to avoid a possible deadlock. 2008-05-14 10:22:17 +0000 Wim Taymans gst/parse/grammar.y: Remove unneeded value unset. 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. 2008-05-13 12:54:00 +0000 Sebastian Dröge plugins/elements/: Use custom marshalers that take GstMiniObject as first parameter. 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. 2008-05-13 12:38:31 +0000 Sebastian Dröge plugins/elements/gsttypefindelement.c: 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_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. 2008-05-13 11:45:24 +0000 Sebastian Dröge plugins/elements/gsttypefindelement.c: Forward FLUSH_START events immediately and clean up instead of caching them. 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. 2008-05-13 07:11:05 +0000 Sjoerd Simons libs/gst/base/gstbasetransform.c: Check the caps of the buffer returned by gst_pad_alloc_buffer() and fall back to de... Original commit message from CVS: Patch by: Sjoerd Simons * 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. 2008-05-09 20:48:24 +0000 Tim-Philipp Müller 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.... 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(). 2008-05-09 18:25:44 +0000 Tim-Philipp Müller gst/gstutils.h: Try to fix 'dereferencing type-punned pointer will break strict aliasing rules' warnings with C++ com... 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. 2008-05-09 14:02:53 +0000 Jan Schmidt plugins/elements/gstmultiqueue.c: Add documentation for the signals to push our core plugin docs coverage back up to ... 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%. 2008-05-08 14:23:16 +0000 Ole André Vadla Ravnås gst/gstinfo.h (GST_FUNCTION): Reverted GST_FUNCTION to the old version as we don't want the full signature in C++ cod... 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. 2008-05-08 11:37:03 +0000 Sebastian Dröge gst/gstutils.h: Intern the type name string, similar to what G_DEFINE_TYPE does. Original commit message from CVS: * gst/gstutils.h: Intern the type name string, similar to what G_DEFINE_TYPE does. 2008-05-08 11:27:56 +0000 Sebastian Dröge gst/gstutils.h: Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer. Original commit message from CVS: * gst/gstutils.h: Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer. 2008-05-08 05:55:34 +0000 Sjoerd Simons libs/gst/base/gstbasetransform.c: Don't passthrough buffer allocation too easily if the caps change. Original commit message from CVS: Based on a patch by: Sjoerd Simons * 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. 2008-05-07 19:24:44 +0000 Ole André Vadla Ravnås gst/gstinfo.c (gst_debug_log_valist): Improved the __FILE__ part of debug output for MSVC. Original commit message from CVS: * gst/gstinfo.c (gst_debug_log_valist): Improved the __FILE__ part of debug output for MSVC. 2008-05-07 19:15:14 +0000 Ole André Vadla Ravnås libs/gst/base/gstbasesrc.c (gst_base_src_default_query): Declaration after statement fix for compilers like MSVC. Original commit message from CVS: * libs/gst/base/gstbasesrc.c (gst_base_src_default_query): Declaration after statement fix for compilers like MSVC. 2008-05-07 19:09:08 +0000 Ole André Vadla Ravnås win32/common/config.h.in: Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather use the real thing than h... Original commit message from CVS: * win32/common/config.h.in: Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather use the real thing than having "???" unconditionally. 2008-05-07 18:51:22 +0000 Ole André Vadla Ravnås gst/gstinfo.h (GST_FUNCTION): Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication. Original commit message from CVS: * gst/gstinfo.h (GST_FUNCTION): Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication. 2008-05-07 09:47:27 +0000 Wim Taymans libs/gst/base/gstadapter.c: Small code cleanup. Original commit message from CVS: * libs/gst/base/gstadapter.c: (gst_adapter_available_fast): Small code cleanup. * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency), (gst_base_sink_set_flushing): * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek): Fix some comments. 2008-05-07 09:34:58 +0000 Wim Taymans plugins/elements/gstfakesrc.*: Added format property to control the format of the newsegment events. Original commit message from CVS: * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init), (gst_fake_src_init), (gst_fake_src_set_property), (gst_fake_src_get_property), (gst_fake_src_start): * plugins/elements/gstfakesrc.h: Added format property to control the format of the newsegment events. API: GstFakeSrc:format 2008-05-06 08:45:07 +0000 Sebastian Dröge win32/common/libgstreamer.def: Add gst_pad_has_name() to the exported symbols. Original commit message from CVS: * win32/common/libgstreamer.def: Add gst_pad_has_name() to the exported symbols. 2008-05-06 08:43:57 +0000 Sebastian Dröge Don't allow negative sizes when allocating new buffers. Original commit message from CVS: * gst/gstpad.c: (gst_pad_alloc_buffer_full): * libs/gst/base/gstbasetransform.c: (gst_base_transform_prepare_output_buffer): Don't allow negative sizes when allocating new buffers. Fixes bug #461253. 2008-05-05 16:47:29 +0000 Sjoerd Simons gst/gstbus.c: Don't print a warning if the queue is empty when we try to pop here. That could happen if another threa... Original commit message from CVS: Patch by: Sjoerd Simons * gst/gstbus.c: (gst_bus_source_dispatch): Don't print a warning if the queue is empty when we try to pop here. That could happen if another thread or callback set the bus to flushing between the source's check/prepare and the dispatch being called (#531538). 2008-05-05 16:25:23 +0000 Tim-Philipp Müller plugins/elements/gstmultiqueue.c: Small docs fix. Original commit message from CVS: * plugins/elements/gstmultiqueue.c: Small docs fix. 2008-05-05 15:50:36 +0000 Sebastian Dröge tests/check/gst/gstvalue.c: Add unit test for deserializing uint64s and check some really large numbers in the int64 ... Original commit message from CVS: * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite): Add unit test for deserializing uint64s and check some really large numbers in the int64 test. 2008-05-04 19:07:21 +0000 Sebastian Dröge tools/gst-inspect.c: Use "%s" as format string instead of printing strings directly. Original commit message from CVS: * tools/gst-inspect.c: (n_print), (print_hierarchy), (print_interfaces), (print_element_properties_info), (print_signal_info): Use "%s" as format string instead of printing strings directly. 2008-05-04 14:25:07 +0000 Sebastian Dröge gst/gstclock.c: Make some checks actually useful. Original commit message from CVS: * gst/gstclock.c: (gst_clock_set_calibration): Make some checks actually useful. * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin): Remove some unused code. Unsigned integers tend to be >= 0. 2008-05-03 19:23:43 +0000 Tim-Philipp Müller gst/gstminiobject.c: Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this function was not in the uns... Original commit message from CVS: * gst/gstminiobject.c: (gst_value_get_mini_object): Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this function was not in the unscheduled 0.10.19 release. 2008-05-03 19:13:47 +0000 Tim-Philipp Müller gst/gstregistry.c: Only print one log message per non-plugin file. Original commit message from CVS: * gst/gstregistry.c: (gst_registry_scan_path_level): Only print one log message per non-plugin file. 2008-05-03 19:08:50 +0000 Tim-Philipp Müller gst/gstinfo.c: Fix alignment of debug log columns on 64-bit. Original commit message from CVS: * gst/gstinfo.c: (gst_debug_log_default): Fix alignment of debug log columns on 64-bit. 2008-05-03 16:52:16 +0000 Tim-Philipp Müller docs/libs/: Ignore private controller headers for docs. Original commit message from CVS: * docs/libs/Makefile.am: * docs/libs/gstreamer-libs-sections.txt: Ignore private controller headers for docs. 2008-05-03 15:25:25 +0000 Sebastian Dröge libs/gst/controller/: Move some private declarations into private headers. Original commit message from CVS: * libs/gst/controller/gstcontrollerprivate.h: * libs/gst/controller/gsthelper.c: * libs/gst/controller/gstinterpolation.c: * libs/gst/controller/gstinterpolationcontrolsource.c: (gst_interpolation_control_source_set_interpolation_mode): * libs/gst/controller/gstinterpolationcontrolsourceprivate.h: * libs/gst/controller/lib.c: Move some private declarations into private headers. 2008-05-02 10:12:33 +0000 Sebastian Dröge gst/gstdebugutils.c: Remove some code that is unused after Stefan's refactoring and uses uninitialized variables now,... Original commit message from CVS: * gst/gstdebugutils.c: (debug_dump_element_pad): Remove some code that is unused after Stefan's refactoring and uses uninitialized variables now, resulting in a compiler warning. 2008-05-01 13:03:51 +0000 Tim-Philipp Müller gst/gstregistry.c: Run g_str_has_suffix() only on the file name, not the entire file path. Original commit message from CVS: * gst/gstregistry.c: (gst_registry_scan_path_level): Run g_str_has_suffix() only on the file name, not the entire file path. 2008-04-30 14:20:48 +0000 Tim-Philipp Müller plugins/elements/gstqueue.c: Since we're not called only from the chain function any longer, we can't assume that the... Original commit message from CVS: * plugins/elements/gstqueue.c: (gst_queue_leak_downstream): Since we're not called only from the chain function any longer, we can't assume that there's always data in the queue, so move the is_full check to the beginning of the loop (otherwise we'd hit the assert when changing the limit properties while the queue is empty or not running yet). Also, only set a discont if items were actually removed from the queue. * tests/check/elements/queue.c: (test_leaky_downstream): Test case for the above. 2008-04-30 09:35:43 +0000 Jonas Holmberg plugins/elements/gstqueue.c: When changing thr max capacity of a leaky queue, immediatly drop buffers instead of wait... Original commit message from CVS: Patch by: Jonas Holmberg * plugins/elements/gstqueue.c: (gst_queue_leak_downstream), (gst_queue_chain), (queue_capacity_change), (gst_queue_set_property): When changing thr max capacity of a leaky queue, immediatly drop buffers instead of waiting for a push on the sinkpad. Fixes #530637. 2008-04-30 07:56:39 +0000 Stefan Kost gst/gstdebugutils.c: Refactor code and fix handling of ghostpads and their proxypads. Original commit message from CVS: * gst/gstdebugutils.c: Refactor code and fix handling of ghostpads and their proxypads. 2008-04-29 11:23:51 +0000 Wim Taymans Add method to conveniently check the name of a custom event with gst_event_has_name(). Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstevent.c: (gst_event_has_name): * gst/gstevent.h: * tests/check/gst/gstevent.c: (GST_START_TEST): Add method to conveniently check the name of a custom event with gst_event_has_name(). Reformat the event docs so that related methods are put together instead of the default alphabetical sort. Update unit test with new method. API: GstEvent::gst_event_has_name() 2008-04-28 18:44:48 +0000 Michael Smith libs/gst/check/Makefile.am: Don't add an explicit link to libgstreamer-0.10.la; it's already included in GST_OBJ_LIBS. Original commit message from CVS: * libs/gst/check/Makefile.am: Don't add an explicit link to libgstreamer-0.10.la; it's already included in GST_OBJ_LIBS. 2008-04-28 09:21:33 +0000 Sebastian Dröge gst/gst.c: Register GstClock type from a type-safe context. Fixes bug #530317. Original commit message from CVS: * gst/gst.c: Register GstClock type from a type-safe context. Fixes bug #530317. 2008-04-26 00:13:03 +0000 Edward Hervey tools/gst-run.c: Include conditionally on HAVE_UNISTD_H as elsewhere. Original commit message from CVS: Patch by Edward Hervey * tools/gst-run.c: Include conditionally on HAVE_UNISTD_H as elsewhere. 2008-04-25 17:54:28 +0000 Antoine Tremblay gst/gstbin.c: Use the GLib stuff to create a private structure. Original commit message from CVS: * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (gst_bin_dispose): Use the GLib stuff to create a private structure. Add some locking around some dispose methods to make them a little safer, see #529723. Patch by: Antoine Tremblay 2008-04-25 13:22:32 +0000 Stefan Kost libs/gst/base/: Fix doc typos and unify caps a bit. Original commit message from CVS: * libs/gst/base/gstbasesink.h: * libs/gst/base/gstbasesrc.h: * libs/gst/base/gstbasetransform.h: * libs/gst/base/gstcollectpads.h: Fix doc typos and unify caps a bit. 2008-04-25 13:09:40 +0000 Stefan Kost tools/gst-launch.1.in: Forgot to also add the envvar docs here. Original commit message from CVS: * tools/gst-launch.1.in: Forgot to also add the envvar docs here. 2008-04-25 10:01:46 +0000 Tim-Philipp Müller Ref some more classes in gst_init() to work around thread-safety issues in pre-2.16 GLibs, and add basic unit test. Original commit message from CVS: * gst/gst.c: (init_post), (gst_deinit): * tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread), (test_concurrent_create), (gst_pipeline_suite): Ref some more classes in gst_init() to work around thread-safety issues in pre-2.16 GLibs, and add basic unit test. 2008-04-25 07:22:16 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Rearrange the latency query code. We always want to do the upstream query, even if we ar... Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency), (gst_base_sink_send_event): Rearrange the latency query code. We always want to do the upstream query, even if we are not live so that the upstream elements can get the latency results too. If we fail doing the query and we are live, we return TRUE afterwards. 2008-04-24 15:14:54 +0000 Jason Zhao Enable/disable scan_and_update_registry() based on commandline switch or environment variable. Fixes #520468. Original commit message from CVS: patch by: Jason Zhao * docs/gst/running.xml: * gst/gst.c: Enable/disable scan_and_update_registry() based on commandline switch or environment variable. Fixes #520468. * ChangeLog: Fix typo in my previous commit. 2008-04-24 08:27:59 +0000 Stefan Kost gst/gstregistrybinary.c: Add a warning of we hit unhandled factories when saving. Original commit message from CVS: * gst/gstregistrybinary.c: Add a warning of we hit unhandled factories when saving. More debug logging detail, but move to LOG category. 2008-04-24 06:46:54 +0000 Stefan Kost gst/gstregistry.c: Tell the *truth* when improving the documentation. Original commit message from CVS: * gst/gstregistry.c: Tell the *truth* when improving the documentation. 2008-04-23 14:54:20 +0000 Sebastian Dröge gst/gstelementfactory.c: Unref the factory after it was used the last time, not before. Original commit message from CVS: * gst/gstelementfactory.c: (gst_element_factory_make): Unref the factory after it was used the last time, not before. * gst/gstindexfactory.c: (gst_index_factory_make): Improve debugging a bit and don't leak a ref to the index factory with each call. 2008-04-23 13:55:01 +0000 Stefan Kost gst/gstregistry.c: Improve the documentation. Original commit message from CVS: * gst/gstregistry.c: Improve the documentation. 2008-04-23 10:14:38 +0000 Stefan Kost gst/gstsegment.c: The glib macro seems to be borked. Use g_slice_copy directly and cast in the hope that this fixes t... Original commit message from CVS: * gst/gstsegment.c: The glib macro seems to be borked. Use g_slice_copy directly and cast in the hope that this fixes the warning on 64bit. 2008-04-23 07:08:53 +0000 Stefan Kost gst/gstsegment.c: Document the new function. Use g_slice_dup() (no need for gst_segment_init()). Original commit message from CVS: * gst/gstsegment.c: Document the new function. Use g_slice_dup() (no need for gst_segment_init()). 2008-04-23 06:57:30 +0000 Stefan Kost docs/gst/gstreamer-sections.txt: Move GParamSepc macros to standart section. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: Move GParamSepc macros to standart section. * gst/gstbin.c: Dn't document _get_type - its in private section in docs anyway and this doc-blob was incomplete. * gst/gstclock.h: Fix wrong symbol names in docs. * gst/gstmacros.h: Add once doc sentence. * tests/check/gst/.cvsignore: Ignore more. 2008-04-21 10:25:02 +0000 Stefan Kost docs/gst/Makefile.am: And remove those libs here. Original commit message from CVS: * docs/gst/Makefile.am: And remove those libs here. 2008-04-21 09:29:37 +0000 Tim-Philipp Müller docs/libs/Makefile.am: Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS. Original commit message from CVS: * docs/libs/Makefile.am: Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS. 2008-04-21 08:34:09 +0000 Olivier Crete plugins/elements/gstqueue.c: Add the min-threshold to the min latency if possible. Fixes #529148. Original commit message from CVS: Patch by: Olivier Crete * plugins/elements/gstqueue.c: (gst_queue_handle_src_query): Add the min-threshold to the min latency if possible. Fixes #529148. 2008-04-21 07:45:48 +0000 Stefan Kost docs/gst/gstreamer.types.in: Stupid editor, I removed that line as it should go in yet. Original commit message from CVS: * docs/gst/gstreamer.types.in: Stupid editor, I removed that line as it should go in yet. 2008-04-21 07:42:14 +0000 Stefan Kost docs/: Remove library types fro core docs and have them in libs docs. Original commit message from CVS: * docs/gst/gstreamer.types.in: * docs/libs/gstreamer-libs.types: Remove library types fro core docs and have them in libs docs. Reformat and cleanup. Add comment for miniobject types. 2008-04-20 16:32:03 +0000 Tim-Philipp Müller gst/gsturi.c: Fix leak: g_strdown operates on the string in place, while g_ascii_strdown() returns a newly-allocated ... Original commit message from CVS: * gst/gsturi.c: (gst_uri_get_protocol): Fix leak: g_strdown operates on the string in place, while g_ascii_strdown() returns a newly-allocated string. 2008-04-20 09:55:25 +0000 Sebastian Dröge tools/gst-inspect.c: Print the URI protocols and the URI type supported by the element. Original commit message from CVS: * tools/gst-inspect.c: (print_uri_handler_info), (print_element_info): Print the URI protocols and the URI type supported by the element. 2008-04-19 16:05:58 +0000 Sebastian Dröge gst/gsttaglist.c: Use g_value_take_string() instead of the deprecated g_value_set_string_take_ownership(). Original commit message from CVS: * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma): Use g_value_take_string() instead of the deprecated g_value_set_string_take_ownership(). 2008-04-19 15:42:19 +0000 Sebastian Dröge gst/gstregistrybinary.c: Return the old CRC instead of 0 if we give a NULL buffer or a buffer with a length of 0. Original commit message from CVS: * gst/gstregistrybinary.c: (_gst_crc32): Return the old CRC instead of 0 if we give a NULL buffer or a buffer with a length of 0. 2008-04-19 15:36:20 +0000 Sebastian Dröge gst/gsturi.c: A valid URI scheme can also include '+', '-' and '.' additional to alphanumeric characters as per RFC 3... Original commit message from CVS: * gst/gsturi.c: (gst_uri_protocol_check_internal), (gst_uri_get_protocol), (gst_uri_has_protocol), (gst_uri_construct), (gst_uri_handler_set_uri): A valid URI scheme can also include '+', '-' and '.' additional to alphanumeric characters as per RFC 3986 Section 3.1. Handle URI schemes case insensitive in all places and convert to lower-case when constructing an URI or setting an URI with the GstURIHandler interface. Fixes bug #528868. All elements can still assume (as before) that they will get passed URIs with a lower-case URI scheme by the GstURIHandler interface. 2008-04-17 10:09:39 +0000 Tim-Philipp Müller gst/: Don't use g_atomic_set_int where it's not needed. Original commit message from CVS: * gst/gstcaps.c: (gst_static_caps_get): * gst/gstclock.c: (gst_clock_entry_new): Don't use g_atomic_set_int where it's not needed. 2008-04-17 08:45:19 +0000 Wim Taymans gst/: Fix 2 caps leaks. Original commit message from CVS: * gst/gstvalue.c: (gst_value_deserialize_caps): * gst/parse/grammar.y: Fix 2 caps leaks. 2008-04-17 08:34:14 +0000 Sebastian Dröge gst/gstutils.c: Use g_atomic_int_set() here too instead of assignment + g_atomic_int_get(). Original commit message from CVS: * gst/gstutils.c: (gst_atomic_int_set): Use g_atomic_int_set() here too instead of assignment + g_atomic_int_get(). 2008-04-17 07:14:46 +0000 Sebastian Dröge gst/gstutils.*: API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used now that we depend on new enou... Original commit message from CVS: * gst/gstutils.c: * gst/gstutils.h: API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used now that we depend on new enough GLib. * gst/gstcaps.c: (gst_static_caps_get): * gst/gstclock.c: (gst_clock_entry_new): * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored), (gst_debug_set_default_threshold), (_gst_debug_category_new), (gst_debug_category_set_threshold): * libs/gst/base/gstbasesink.c: (gst_base_sink_init), (gst_base_sink_set_qos_enabled): * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_set_property): Use g_atomic_int_set() instead of gst_atomic_int_set(). 2008-04-16 18:48:03 +0000 Stefan Kost gst/gstquery.c: Also use G_GINT64_CONSTANT for the queries. Original commit message from CVS: * gst/gstquery.c: Also use G_GINT64_CONSTANT for the queries. 2008-04-16 18:38:16 +0000 Stefan Kost gst/gstmessage.c: Use G_GINT64_CONSTANT in varargs function. Original commit message from CVS: * gst/gstmessage.c: Use G_GINT64_CONSTANT in varargs function. 2008-04-16 15:51:17 +0000 Sebastian Dröge gst/gstregistrybinary.c: Initialize the registry magic with zeroes. Original commit message from CVS: * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic): Initialize the registry magic with zeroes. 2008-04-16 14:18:58 +0000 Sebastian Dröge gst/gstregistrybinary.*: Add crc32 checksum to the binary registry file and check this before accepting a registry file. Original commit message from CVS: * gst/gstregistrybinary.c: (_gst_crc32), (gst_registry_binary_write), (gst_registry_binary_initialize_magic), (gst_registry_binary_write_cache), (gst_registry_binary_check_magic), (gst_registry_binary_read_cache): * gst/gstregistrybinary.h: Add crc32 checksum to the binary registry file and check this before accepting a registry file. Also free the data list when writing to the registry file fails. 2008-04-16 13:16:44 +0000 Sebastian Dröge gst/gstregistrybinary.c: If an element supports the Uri interface, returns a valid pointer to the supported URI proto... Original commit message from CVS: * gst/gstregistrybinary.c: (gst_registry_binary_save_feature), (gst_registry_binary_load_feature), (gst_registry_binary_load_plugin): If an element supports the Uri interface, returns a valid pointer to the supported URI protocols but this pointer contains nothing don't try to save that as it will corrupt the registry. Don't unref the plugin if we added it to the registry already but fail to load a feature as gst_registry_add_plugin() takes ownership of the plugin. Improve debugging a bit. 2008-04-16 08:30:57 +0000 Stefan Kost gst/gsttaglist.h: Clarify some tag item docs after discussion on irc. Original commit message from CVS: * gst/gsttaglist.h: Clarify some tag item docs after discussion on irc. 2008-04-15 06:23:14 +0000 Stefan Kost docs/gst/gstreamer-docs.sgml: Remove commented out plugins (they have their own docs). Update comments. Original commit message from CVS: * docs/gst/gstreamer-docs.sgml: Remove commented out plugins (they have their own docs). Update comments. 2008-04-15 06:16:33 +0000 Stefan Kost Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec docs to own section. Original commit message from CVS: * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * gst/gstparamspecs.c: * gst/gstparamspecs.h: Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec docs to own section. * gst/gstvalue.c: This now only documents GValue. * docs/libs/gstreamer-libs-sections.txt: * libs/gst/controller/gstcontroller.h: Remove GST_PARAM_CONTROLLABLE. 2008-04-15 05:54:13 +0000 Stefan Kost docs/README: Correct file path. Tell about how to use -overrides.txt. Original commit message from CVS: * docs/README: Correct file path. Tell about how to use -overrides.txt. * docs/design/draft-tagreading.txt: Small design update. 2008-04-14 12:12:22 +0000 Sebastian Dröge gst/gstregistrybinary.c: Fix a typo in a debug message and revert change from yesterday as gst_registry_add_plugin() ... Original commit message from CVS: * gst/gstregistrybinary.c: (gst_registry_binary_load_feature), (gst_registry_binary_load_plugin): Fix a typo in a debug message and revert change from yesterday as gst_registry_add_plugin() will only fail if something is really wrong already and we can't survive it anyway. 2008-04-14 08:48:50 +0000 Tim-Philipp Müller gst/gst.c: Pre-register GstGError GType from a thread-safe context (fixes #527967); unref enum type classes in deinit. Original commit message from CVS: * gst/gst.c: (init_post), (gst_deinit): Pre-register GstGError GType from a thread-safe context (fixes #527967); unref enum type classes in deinit. 2008-04-13 19:58:43 +0000 Rene Stadler gst/gsttagsetter.c: Merging an empty list with another list in KEEP_ALL mode should yield an empty list as result and... Original commit message from CVS: Patch by: Rene Stadler * gst/gsttagsetter.c: (gst_tag_setter_merge_tags): Merging an empty list with another list in KEEP_ALL mode should yield an empty list as result and not the second list (#512578). * tests/check/gst/gsttagsetter.c: Add unit test for tag merge modes and the aforementioned bug. 2008-04-13 18:50:05 +0000 Rene Stadler gst/gsttaglist.h: Fix description to match the order in the table (#512577). Original commit message from CVS: Patch by: Rene Stadler * gst/gsttaglist.h: Fix description to match the order in the table (#512577). 2008-04-13 17:51:02 +0000 Kwang Yul Seo Define socklen_t as int if it's not defined yet. Fixes compilation with MSVC6 and other versions where socklen_t is n... Original commit message from CVS: Patch by: Kwang Yul Seo * libs/gst/net/gstnettimepacket.h: * docs/libs/gstreamer-libs-sections.txt: Define socklen_t as int if it's not defined yet. Fixes compilation with MSVC6 and other versions where socklen_t is not defined in the windows headers (#518022). 2008-04-13 13:54:55 +0000 Sebastian Dröge gst/gstregistrybinary.c: If gst_registry_add_plugin() fails our reference to the plugin is invalid so don't try to us... Original commit message from CVS: * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin): If gst_registry_add_plugin() fails our reference to the plugin is invalid so don't try to use it anymore and instead error out. 2008-04-12 20:52:58 +0000 Tim-Philipp Müller tools/gst-xmlinspect.c: De-cruft a bit. If no argument is specified, print all elements in Original commit message from CVS: * tools/gst-xmlinspect.c: (print_element_info), (main): De-cruft a bit. If no argument is specified, print all elements in XML syntax rather than a freestyle list of elements like gst-inspect. Also, don't print XML header chunk unless we actually have something to print (ie. don't print it before an error message); print error message to stderr not stdout. Remove support for printing plugin info (it would just output something freestyle along the lines of gst-inspect so far), which fixes #514507. Also add license header. 2008-04-11 09:27:44 +0000 Julien Moutte Mac OS X love... Original commit message from CVS: 2008-04-11 Julien Moutte Mac OS X love... * configure.ac: Merge platform specific defines, introduce a new define on OS X to remember that forking when updating registry is unsafe. * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad module. * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK is defined. * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus condition that leads to absolutely no plugins being registered on OS X. 2008-04-10 20:46:51 +0000 José Alburquerque Add gst_pad_add_*_probe_full() functions with a notify callback that lets the caller free the data it passes to the p... Original commit message from CVS: Based on patch by: José Alburquerque * gst/gstutils.c: (gst_pad_add_data_probe), (gst_pad_add_data_probe_full), (gst_pad_add_event_probe), (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe), (gst_pad_add_buffer_probe_full): * gst/gstutils.h: * docs/gst/gstreamer-sections.txt: * win32/common/libgstreamer.def: Add gst_pad_add_*_probe_full() functions with a notify callback that lets the caller free the data it passes to the probe functions. This is useful for bindings such as gst-python or gstreamermm (#526814). API: gst_pad_add_data_probe_full API: gst_pad_add_buffer_probe_full API: gst_pad_add_event_probe_full * tests/check/gst/gstutils.c: Add minimal unit test to make sure freeing the data actually works as expected. * tests/benchmarks/.cvsignore: Random cvsignore addendum. 2008-04-10 19:13:46 +0000 Tim-Philipp Müller gst/gstdebugutils.h: Mention GstDebugGraphDetails enum type in doc blurb so we get a link to it in the docs (since th... Original commit message from CVS: * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS), (GST_DEBUG_BIN_TO_DOT_FILE): Mention GstDebugGraphDetails enum type in doc blurb so we get a link to it in the docs (since these are macros the types of the arguments won't be shown in the docs otherwise). 2008-04-10 14:10:51 +0000 Stefan Kost gst/gstpad.c: Do not abort on out of memory for pad_alloc_buffer. Original commit message from CVS: * gst/gstpad.c: Do not abort on out of memory for pad_alloc_buffer. 2008-04-10 13:59:24 +0000 Stefan Kost libs/gst/check/gstcheck.c: Remove blank line between symbol name ad parameters to fix gtkdoc warning. Original commit message from CVS: * libs/gst/check/gstcheck.c: Remove blank line between symbol name ad parameters to fix gtkdoc warning. 2008-04-09 22:37:22 +0000 José Alburquerque Expose gst_segment_copy() to make things easier for the c++ bindings. Original commit message from CVS: Patch by: José Alburquerque * docs/gst/gstreamer-sections.txt: * gst/gstsegment.c: * gst/gstsegment.h: * win32/common/libgstreamer.def: Expose gst_segment_copy() to make things easier for the c++ bindings. Fixes #518932. API: gst_segment_copy() 2008-04-09 21:27:40 +0000 Tim-Philipp Müller gst/gst.c: Fix const position; ref GType classes for enum types to work around thread-safety issues in GLib versions ... Original commit message from CVS: * gst/gst.c: (gst_init_get_option_group), (init_post): Fix const position; ref GType classes for enum types to work around thread-safety issues in GLib versions < 2.16. 2008-04-09 18:26:15 +0000 Wim Taymans docs/design/part-buffering.txt: Fix some typos and set the estimated total for push mode to -1. Original commit message from CVS: * docs/design/part-buffering.txt: Fix some typos and set the estimated total for push mode to -1. * gst/gstquery.c: (gst_query_new_buffering): Set buffering-left to 0 as we're not buffering by default. * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query): Implement BUFFERING query. 2008-04-09 17:34:54 +0000 Milosz Derezynski gst/gsterror.*: Add two new error codes for encrypted content. Fixes #524659. Original commit message from CVS: Based on patch by: Milosz Derezynski * gst/gsterror.c: (_gst_stream_errors_init): * gst/gsterror.h: Add two new error codes for encrypted content. Fixes #524659. API: GST_STREAM_ERROR_DECRYPT API: GST_STREAM_ERROR_DECRYPT_NOKEY 2008-04-09 13:15:33 +0000 Tim-Philipp Müller gst/gstquery.h: Fix typo. Original commit message from CVS: * gst/gstquery.h: Fix typo. * win32/common/libgstreamer.def: Add new functions. 2008-04-09 08:19:36 +0000 Sebastian Dröge plugins/elements/gstidentity.c: Fix imperfect timestamp/offset checks when we get another NEWSEGMENT event after proc... Original commit message from CVS: * plugins/elements/gstidentity.c: (gst_identity_event), (gst_identity_start): Fix imperfect timestamp/offset checks when we get another NEWSEGMENT event after processing some data. Fixes bug #526042. 2008-04-08 20:28:21 +0000 Wim Taymans Rename _avail -> _range Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstquery.c: (gst_query_parse_latency), (gst_query_set_buffering_percent), (gst_query_parse_buffering_percent), (gst_query_set_buffering_range), (gst_query_parse_buffering_range): * gst/gstquery.h: Rename _avail -> _range API: gst_query_set_buffering_range API: gst_query_parse_buffering_range 2008-04-08 20:17:49 +0000 Wim Taymans Add busy field and quark for the buffering query so that the app can only use the query to see if buffering is in pro... Original commit message from CVS: * docs/design/part-buffering.txt: * gst/gstquark.c: * gst/gstquark.h: * gst/gstquery.c: (gst_query_parse_latency), (gst_query_new_buffering), (gst_query_set_buffering_percent), (gst_query_parse_buffering_percent): * gst/gstquery.h: Add busy field and quark for the buffering query so that the app can only use the query to see if buffering is in progress. 2008-04-08 19:59:06 +0000 Wim Taymans Reorder the message docs and headers for clarity. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstmessage.c: (gst_message_set_buffering_stats), (gst_message_parse_buffering_stats): * gst/gstmessage.h: * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency), (gst_query_parse_latency), (gst_query_new_buffering), (gst_query_set_buffering_percent), (gst_query_parse_buffering_percent), (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats), (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail): * gst/gstquery.h: Reorder the message docs and headers for clarity. Add aditional buffering stats API for messages. Add buffering query. Convert some leftover queries to use GstQuark. API: gst_message_set_buffering_stats API: gst_message_parse_buffering_stats API: GST_QUERY_BUFFERING API: GstBufferingMode API: gst_query_new_buffering API: gst_query_set_buffering_percent API: gst_query_parse_buffering_percent API: gst_query_set_buffering_stats API: gst_query_parse_buffering_stats API: gst_query_set_buffering_avail API: gst_query_parse_buffering_avail 2008-04-08 19:52:22 +0000 Wim Taymans gst/gstmessage.c: Use GstQuark for messages. Original commit message from CVS: * gst/gstmessage.c: (gst_message_new_error), (gst_message_new_warning), (gst_message_new_info), (gst_message_new_buffering), (gst_message_new_state_changed), (gst_message_new_clock_provide), (gst_message_new_clock_lost), (gst_message_new_new_clock), (gst_message_new_segment_start), (gst_message_new_segment_done), (gst_message_new_duration), (gst_message_new_async_start), (gst_message_parse_buffering), (gst_message_parse_state_changed), (gst_message_parse_clock_provide), (gst_message_parse_clock_lost), (gst_message_parse_new_clock), (gst_message_parse_error), (gst_message_parse_warning), (gst_message_parse_info), (gst_message_parse_segment_start), (gst_message_parse_segment_done), (gst_message_parse_duration), (gst_message_parse_async_start): Use GstQuark for messages. 2008-04-08 19:39:28 +0000 Wim Taymans gst/gstquark.*: Add some more quarks needed for messages and queries. Original commit message from CVS: * gst/gstquark.c: (_priv_gst_quarks_initialize): * gst/gstquark.h: Add some more quarks needed for messages and queries. 2008-04-08 19:14:49 +0000 Wim Taymans docs/design/part-buffering.txt: Remove the "none" buffering mode, STREAM is a good default. Original commit message from CVS: * docs/design/part-buffering.txt: Remove the "none" buffering mode, STREAM is a good default. Move estimated-time to the avail query, that's when it will be needed. Other small typo fixes and updates. 2008-04-07 13:27:32 +0000 Tim-Philipp Müller gst/gstindex.c: Don't put descriptions into the nick field of a GEnumValue: it's not meant for that and some language... Original commit message from CVS: * gst/gstindex.c: (gst_index_resolver_get_type): Don't put descriptions into the nick field of a GEnumValue: it's not meant for that and some language bindings rely on the nick field to construct constants and the like. Fixes #526705. 2008-04-07 10:48:51 +0000 Tim-Philipp Müller Merge other changes from 0.10.19 release branch. Original commit message from CVS: * NEWS: * RELEASE: * gstreamer.doap: Merge other changes from 0.10.19 release branch. 2008-04-06 08:54:47 +0000 Damien Lespiau configure.ac: Actually build dlls when cross-compiling with mingw32. Original commit message from CVS: Patch by: Damien Lespiau * configure.ac: Actually build dlls when cross-compiling with mingw32. Fixes bug #526247. 2008-04-05 10:58:11 +0000 Damien Lespiau gst/gstpoll.c: Fix compilation of GstPoll with mingw32. Fixes bug #526236. Original commit message from CVS: Patch by: Damien Lespiau * gst/gstpoll.c: Fix compilation of GstPoll with mingw32. Fixes bug #526236. 2008-04-04 13:43:26 +0000 Wim Taymans docs/design/draft-latency.txt: Fix typo. Original commit message from CVS: * docs/design/draft-latency.txt: Fix typo. * docs/design/part-buffering.txt: Update design docs with more buffering ideas. 2008-04-03 21:15:09 +0000 Tim-Philipp Müller configure.ac: Bump version to 0.10.19.1 after the unscheduled 0.10.19 release. Original commit message from CVS: * configure.ac: Bump version to 0.10.19.1 after the unscheduled 0.10.19 release. 2008-04-03 16:45:02 +0000 Christian Schaller * gstreamer.spec.in: update spec to work with docs Original commit message from CVS: update spec to work with docs 2008-04-03 14:49:06 +0000 Stefan Kost configure.ac: Revert part that belongs to the preset patch. Original commit message from CVS: * configure.ac: Revert part that belongs to the preset patch. 2008-04-03 14:26:55 +0000 Stefan Kost configure.ac: Add qoutes to the define. Fixes # 525961. Original commit message from CVS: * configure.ac: Add qoutes to the define. Fixes # 525961. 2008-04-03 07:52:31 +0000 Sebastian Dröge plugins/indexers/: Use GSlice when possible. Original commit message from CVS: * plugins/indexers/gstfileindex.c: (_file_index_id_free), (gst_file_index_load), (gst_file_index_add_id), (gst_file_index_get_assoc_entry): * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format), (gst_mem_index_free_id), (gst_mem_index_add_id), (gst_mem_index_index_format): Use GSlice when possible. 2008-04-02 17:45:08 +0000 Sebastian Dröge libs/gst/controller/gstinterpolationcontrolsource.c: Use GSlice for allocating the control points. Original commit message from CVS: * libs/gst/controller/gstinterpolationcontrolsource.c: (gst_control_point_free), (gst_interpolation_control_source_set_internal): Use GSlice for allocating the control points. 2008-04-02 17:21:40 +0000 Wim Taymans plugins/elements/gsttypefindelement.*: Cleanup properties. Original commit message from CVS: * plugins/elements/gsttypefindelement.c: (gst_type_find_element_class_init), (gst_type_find_element_set_property), (gst_type_find_element_get_property), (gst_type_find_element_activate): * plugins/elements/gsttypefindelement.h: Cleanup properties. Fix pad leak when peer query fails. We can still typefind when the peer returns -1. Add property to force caps and bypass typefinding. This will be used in uridecodebin. API::force-caps 2008-04-01 13:55:20 +0000 Sebastian Dröge configure.ac: Require GLib 2.12. Original commit message from CVS: * configure.ac: Require GLib 2.12. * gst/glib-compat-private.h: * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free): * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free): Unconditionally use GSlice for allocation. * gst/gstpoll.c: (gst_poll_new), (gst_poll_free): * gst/gstsegment.c: (gst_segment_new), (gst_segment_free): * gst/gststructure.c: (gst_structure_id_empty_new_with_size), (gst_structure_free): Use GSlice for allocation. 2008-04-01 13:48:59 +0000 Sebastian Dröge gst/parse/: Require a new enough flex and bison and remove the parser hacks to use a pre-regenerated version. Original commit message from CVS: * gst/parse/Makefile.am: * gst/parse/grammar.tab.pre.c: * gst/parse/grammar.tab.pre.h: * gst/parse/lex._gst_parse_yy.pre.c: Require a new enough flex and bison and remove the parser hacks to use a pre-regenerated version. 2008-04-01 10:25:35 +0000 Jason Zhao configure.ac: Add a configure switch to disable option parsing in gst_init. Original commit message from CVS: 2008-04-01 Julien Moutte patch by: Jason Zhao * configure.ac: Add a configure switch to disable option parsing in gst_init. Fixes #522882. 2008-03-31 13:47:22 +0000 Stefan Kost MacOS has plugins under .so or under .dylib. Add detection for MacOS and handle this case. Original commit message from CVS: * configure.ac: * gst/gstregistry.c: MacOS has plugins under .so or under .dylib. Add detection for MacOS and handle this case. * gst/gst.c: Add a comment here describing, why we stat each plugin and not try to be smart. 2008-03-31 10:21:57 +0000 Sebastian Dröge libs/gst/base/gstbasetransform.c: Also unset the GAP flag on buffers if we're working inplace but the element is not ... Original commit message from CVS: * libs/gst/base/gstbasetransform.c: (gst_base_transform_prepare_output_buffer): Also unset the GAP flag on buffers if we're working inplace but the element is not GAP-aware. Mark a comment as FIXME 0.11. 2008-03-31 08:32:26 +0000 Stefan Kost gst/gst.c: Fix type in log message and add one to ease seeing how long registry cache verification takes. Original commit message from CVS: * gst/gst.c: Fix type in log message and add one to ease seeing how long registry cache verification takes. * gst/gstregistry.c: Only test plugin filenames against G_MODULE_SUFFIX. 2008-03-31 07:49:26 +0000 Stefan Kost gst/gstdebugutils.c: Improve handling ghost/proxy pads. Original commit message from CVS: * gst/gstdebugutils.c: Improve handling ghost/proxy pads. 2008-03-27 19:13:45 +0000 Stefan Kost Expose macro to docs and fix link to it. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstpad.c: * gst/gstpad.h: Expose macro to docs and fix link to it. 2008-03-27 15:23:55 +0000 Michael Smith libs/gst/dataprotocol/dataprotocol.c: When calculating GDP body CRC, use the correct pointer. Original commit message from CVS: * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event_1_0): When calculating GDP body CRC, use the correct pointer. Fixes part of #522401. 2008-03-24 16:56:36 +0000 Mark Nauwelaerts plugins/elements/gstidentity.c: Identity is not always a passthrough element, it can modify the buffer timestamps whe... Original commit message from CVS: Patch by: Mark Nauwelaerts * plugins/elements/gstidentity.c: (gst_identity_class_init), (gst_identity_init), (gst_identity_prepare_output_buffer): Identity is not always a passthrough element, it can modify the buffer timestamps when it has a datarate and operates in single-segment mode. We therefore make it an in_place filter with a custom buffer prepare function that conditionally makes the input buffer metadata writable when needed. Fixes #523985. 2008-03-24 16:44:25 +0000 Mark Nauwelaerts Small documentation fixes. Fixes #523978. Original commit message from CVS: Patch by: Mark Nauwelaerts * gst/gstclock.h: * libs/gst/base/gstbasesrc.h: * libs/gst/base/gstbasetransform.c: * libs/gst/check/gstcheck.c: Small documentation fixes. Fixes #523978. 2008-03-24 16:31:30 +0000 Wim Taymans plugins/elements/: Also retry our poll_wait when we get EAGAIN. Fixes #524041. Original commit message from CVS: * plugins/elements/gstfdsink.c: (gst_fd_sink_render): * plugins/elements/gstfdsrc.c: (gst_fd_src_create): Also retry our poll_wait when we get EAGAIN. Fixes #524041. 2008-03-24 10:38:31 +0000 Wim Taymans plugins/elements/gstmultiqueue.c: When trying to make room in the queue, bump the max allowed buffers bigger than the... Original commit message from CVS: * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb), (single_queue_underrun_cb): When trying to make room in the queue, bump the max allowed buffers bigger than the current amount of buffers in the queue. this fixes some nasty deadlocks in multiqueue when dynamically changing the limits of the queue. 2008-03-24 10:33:41 +0000 José Alburquerque gst/gstcaps.*: Constify the field gchar * params in set_simple and friends. Original commit message from CVS: Patch by: José Alburquerque * gst/gstcaps.c: (gst_caps_set_simple), (gst_caps_set_simple_valist), (gst_caps_intersect): * gst/gstcaps.h: Constify the field gchar * params in set_simple and friends. Fixes #522326. 2008-03-24 10:29:05 +0000 Wim Taymans gst/gstvalue.c: Transform a GstObject to a more meaningfull string that includes the object type in addition to its n... Original commit message from CVS: * gst/gstvalue.c: (gst_value_transform_object_string): Transform a GstObject to a more meaningfull string that includes the object type in addition to its name. 2008-03-23 15:17:24 +0000 Stefan Kost ChangeLog: ChangeLog surgery to add bugnumber to commit. Original commit message from CVS: * ChangeLog: ChangeLog surgery to add bugnumber to commit. 2008-03-23 14:24:48 +0000 Rene Stadler libs/gst/base/gstbasetransform.c: Fix confusing documentation. Original commit message from CVS: * libs/gst/base/gstbasetransform.c: (gst_base_transform_set_gap_aware): Fix confusing documentation. 2008-03-23 11:40:54 +0000 Sebastian Dröge gst/gstregistrybinary.c: Rename constant everywhere and don't forget one occurence. Original commit message from CVS: * gst/gstregistrybinary.c: (gst_registry_binary_write): Rename constant everywhere and don't forget one occurence. 2008-03-23 11:29:54 +0000 Sebastian Dröge gst/gstregistrybinary.c: Align memory to the pointer size even if the architecture allows unaligned memory access. Un... Original commit message from CVS: * gst/gstregistrybinary.c: (gst_registry_binary_write): Align memory to the pointer size even if the architecture allows unaligned memory access. Unaligned memory access usually comes with performance penality. 2008-03-23 11:23:30 +0000 Sebastian Dröge gst/gstregistrybinary.c: Align memory to the pointer size instead of always 32 bit. Fixes unaligned memory accesses o... Original commit message from CVS: * gst/gstregistrybinary.c: (gst_registry_binary_write), (gst_registry_binary_check_magic), (gst_registry_binary_load_pad_template), (gst_registry_binary_load_feature), (gst_registry_binary_load_plugin): Align memory to the pointer size instead of always 32 bit. Fixes unaligned memory accesses on ia64 and friends. * gst/gstregistrybinary.h: Bump binary registry format version for this as it changes the format on those architectures that don't have unaligned access and 64 bit pointers. 2008-03-22 14:56:17 +0000 Sebastian Dröge Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and use it everywhere for GParamSpecs that use static... Original commit message from CVS: * docs/pwg/advanced-dparams.xml: * docs/pwg/building-props.xml: * docs/pwg/other-source.xml: * gst/glib-compat.h: * gst/gstbin.c: (gst_bin_class_init): * gst/gstclock.c: (gst_clock_class_init): * gst/gstindex.c: (gst_index_class_init): * gst/gstobject.c: (gst_object_class_init): * gst/gstpad.c: (gst_pad_class_init): * gst/gstpipeline.c: (gst_pipeline_class_init): * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init): * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init): * libs/gst/base/gstbasetransform.c: (gst_base_transform_class_init): * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init): * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore), (_gst_check_fault_handler_sighandler), (_gst_check_fault_handler_setup), (gst_check_init): * libs/gst/controller/gstcontroller.c: (_gst_controller_class_init): * libs/gst/controller/gstlfocontrolsource.c: (gst_lfo_control_source_class_init): * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init): * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_class_init): * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init): * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init): * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init): * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init): * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init): * plugins/elements/gstfilesink.c: (gst_file_sink_class_init): * plugins/elements/gstfilesrc.c: (gst_file_src_class_init): * plugins/elements/gstidentity.c: (gst_identity_class_init): * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init): * plugins/elements/gstqueue.c: (gst_queue_class_init): * plugins/elements/gsttee.c: (gst_tee_class_init): * plugins/elements/gsttypefindelement.c: (gst_type_find_element_class_init): * plugins/indexers/gstfileindex.c: (gst_file_index_class_init): Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and use it everywhere for GParamSpecs that use static strings (i.e. all). This gives us less memory usage, fewer allocations and thus less memory defragmentation. Fixes bug #523806. 2008-03-22 14:51:17 +0000 Sebastian Dröge API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT Original commit message from CVS: * gst/gstminiobject.c: (gst_value_dup_mini_object), (gst_param_spec_mini_object): * gst/gstminiobject.h: * win32/common/libgstreamer.def: * docs/gst/gstreamer-sections.txt: API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move GstParamSpecMiniObject into a public header for this. This make GstMiniObject a bit more consistent with GObject and makes it possible to extend the param specs. gst_value_dup_mini_object is mainly useful for set_property methods. Fixes bug #523798. * tools/gst-inspect.c: (print_element_properties_info): Print something useful for GstMiniObject properties and not just "unknown type". 2008-03-21 16:11:51 +0000 Sebastian Dröge Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent and add it to the (private part) of the docs to f... Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic), (gst_registry_binary_check_magic): * gst/gstregistrybinary.h: Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent and add it to the (private part) of the docs to fix the build. 2008-03-21 15:52:14 +0000 Sebastian Dröge gst/gstregistrybinary.*: Don't use GST_MAJORMINOR for the binary registry version. Instead hardcode a value that must... Original commit message from CVS: * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic), (gst_registry_binary_check_magic), (gst_registry_binary_read_cache): * gst/gstregistrybinary.h: Don't use GST_MAJORMINOR for the binary registry version. Instead hardcode a value that must be changed whenever the format changes in an incompatible way. Also don't GST_ERROR when there is a version mismatch, just regenerate the registry silently. 2008-03-21 00:35:10 +0000 Jan Schmidt configure.ac: Back to development - 0.10.18.1 Original commit message from CVS: * configure.ac: Back to development - 0.10.18.1 === release 0.10.18 === 2008-03-21 00:20:59 +0000 Jan Schmidt * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * gstreamer.doap: * win32/common/config.h: Release 0.10.18 Original commit message from CVS: Release 0.10.18 2008-03-20 23:26:05 +0000 Jan Schmidt * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/it.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files Original commit message from CVS: Update .po files 2008-03-18 12:17:58 +0000 Jan Schmidt 0.10.17.4 pre-release Original commit message from CVS: * configure.ac: * win32/common/config.h: 0.10.17.4 pre-release 2008-03-18 10:54:52 +0000 Ole André Vadla Ravnås Add new function gst_poll_fd_ignored() for improved Windows compatibility. Original commit message from CVS: Patch by: Ole André Vadla Ravnås * docs/gst/gstreamer-sections.txt: * gst/gstpoll.c: (gst_poll_winsock_error_to_errno), (gst_poll_update_winsock_event_mask), (gst_poll_prepare_winsock_active_sets), (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free), (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write), (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored), (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked), (gst_poll_check_ctrl_commands), (gst_poll_wait): * gst/gstpoll.h: * win32/common/libgstreamer.def: Add new function gst_poll_fd_ignored() for improved Windows compatibility. Various minor fixes and cleanups. See #520808. 2008-03-17 10:21:59 +0000 Tim-Philipp Müller gst/gstindex.*: Don't free key strings which we don't own. Fixes crash in gst_index_entry_free() (#522741). Original commit message from CVS: * gst/gstindex.c: (gst_index_entry_free): * gst/gstindex.h: Don't free key strings which we don't own. Fixes crash in gst_index_entry_free() (#522741). * tests/check/Makefile.am: * tests/check/gst/.cvsignore: * tests/check/gst/gstindex.c: (test_index_entries), (gst_index_suite), (gst_index): Add unit test for the above. 2008-03-11 14:09:46 +0000 Sebastian Dröge win32/common/libgstreamer.def: Remove symbols that were removed recently. Fixes bug #521740. Original commit message from CVS: * win32/common/libgstreamer.def: Remove symbols that were removed recently. Fixes bug #521740. 2008-03-11 00:24:18 +0000 Jan Schmidt 0.10.17.3 pre-release Original commit message from CVS: * configure.ac: * win32/common/config.h: 0.10.17.3 pre-release 2008-03-11 00:23:02 +0000 Jan Schmidt configure.ac: Release 0.10.17.3 Original commit message from CVS: * configure.ac: Release 0.10.17.3 2008-03-07 15:39:45 +0000 Ole André Vadla Ravnås Remove GstPollMode from the API, it does not make sense to let the application control this. Original commit message from CVS: Patch by: Ole André Vadla Ravnås * docs/gst/gstreamer-sections.txt: * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event), (gst_poll_update_winsock_event_mask), (gst_poll_new), (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked), (gst_poll_remove_fd), (gst_poll_fd_ctl_write), (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed), (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_write), (gst_poll_wait), (gst_poll_set_controllable), (gst_poll_restart), (gst_poll_set_flushing): * gst/gstpoll.h: * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new): * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start), (gst_net_time_provider_new): * plugins/elements/gstfdsink.c: (gst_fd_sink_start): * plugins/elements/gstfdsrc.c: (gst_fd_src_start): * tests/benchmarks/gstpollstress.c: (main): * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite): Remove GstPollMode from the API, it does not make sense to let the application control this. Add support for Win32. Fix the testsuite. Fixes #520671. 2008-03-07 13:19:12 +0000 Ole André Vadla Ravnås gst/gstregistrybinary.c: Include io.h for write() and close() when building with MSVC. Fixes bug #520877. Original commit message from CVS: Patch by: Ole André Vadla Ravnås * gst/gstregistrybinary.c: Include io.h for write() and close() when building with MSVC. Fixes bug #520877. 2008-03-07 11:12:59 +0000 Stefan Kost Move registry backend API to private headers where we can. Add fixme-0.11 comments for the others. Add stubs for the ... Original commit message from CVS: * configure.ac: * gst/gst_private.h: * gst/gstconfig.h.in: * gst/gstregistry.h: * gst/gstregistrybinary.c: * win32/common/gstconfig.h: Move registry backend API to private headers where we can. Add fixme-0.11 comments for the others. Add stubs for the xml backend when using the binary to ensure they functions exists (they should not be used though). Fixes #520756. 2008-03-04 00:14:52 +0000 Jan Schmidt 0.10.17.2 prelease Original commit message from CVS: * configure.ac: * win32/common/config.h: 0.10.17.2 prelease 2008-03-03 18:42:04 +0000 Edward Hervey Switch to using portabl gsize/gssize instead of size_t/ssize_t Original commit message from CVS: * gst/gstregistrybinary.c: (gst_registry_binary_write), (gst_registry_binary_read_cache): * gst/gstregistryxml.c: (gst_registry_save): * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol): * plugins/elements/gstfilesink.c: (gst_file_sink_open_file): * plugins/elements/gstfilesrc.c: (gst_file_src_map_region), (gst_file_src_map_small_region), (gst_file_src_create_mmap): Switch to using portabl gsize/gssize instead of size_t/ssize_t Fixes #520152 2008-03-03 18:14:33 +0000 Edward Hervey gst/gstminiobject.c: Import gst_private.h before any other header that might include other glib headers. This fixes t... Original commit message from CVS: * gst/gstminiobject.c: Import gst_private.h before any other header that might include other glib headers. This fixes the build on windows using native compilers. 2008-03-03 14:48:50 +0000 Tim-Philipp Müller win32/common/gstconfig.h: Add here too, just for completeness. Original commit message from CVS: * win32/common/gstconfig.h: Add here too, just for completeness. 2008-03-03 14:43:26 +0000 Tim-Philipp Müller Fix broken use of config.h-defined preprocessor directive in a public header file. Add a corresponding define to gstc... Original commit message from CVS: * configure.ac: * gst/gstconfig.h.in: * gst/gstregistry.h: Fix broken use of config.h-defined preprocessor directive in a public header file. Add a corresponding define to gstconfig.h, since we can't really remove those function declarations from the header file now (or can we? and why are they there in the first place?). 2008-03-03 10:07:21 +0000 Andy Wingo tests/check/gst/gststructure.c (GST_START_TEST): Add a check for the new warning. Original commit message from CVS: 2008-03-03 Andy Wingo * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for the new warning. * gst/gststructure.c (gst_structure_from_string): Warn if structure_from_string didn't consume the whole string, but the caller did not provide an end pointer. 2008-03-01 11:21:30 +0000 Fabrizio Gennari gst/gstregistryxml.c: Strings allocated by libxml2 should be freed with xmlFree(), not with g_free(). Fixes issues on... Original commit message from CVS: Patch by: Fabrizio Gennari * gst/gstregistryxml.c: (read_string), (load_feature): Strings allocated by libxml2 should be freed with xmlFree(), not with g_free(). Fixes issues on windows in certain contexts (#519698). 2008-02-29 18:38:54 +0000 Tim-Philipp Müller gst/gstinterface.c: Don't crash if the element supports the interface queried, but does not implement GstImplementsIn... Original commit message from CVS: * gst/gstinterface.c: (gst_element_implements_interface): Don't crash if the element supports the interface queried, but does not implement GstImplementsInterface. Fixes #519584. * tests/check/Makefile.am: * tests/check/gst/.cvsignore: * tests/check/gst/gstinterface.c: Add unit test for the above. 2008-02-29 15:39:44 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Small doc update. Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init): Small doc update. 2008-02-29 15:22:34 +0000 Wim Taymans gst/gstsegment.c: Improve some comment. Original commit message from CVS: * gst/gstsegment.c: (gst_segment_set_seek), (gst_segment_to_stream_time): Improve some comment. Update variables where it makes more sense. 2008-02-29 14:23:17 +0000 Rene Stadler gst/gsturi.c: Use the get_protocols_full vfunc if get_protocols is NULL. Fixes Original commit message from CVS: * gst/gsturi.c: (gst_uri_handler_get_protocols): Use the get_protocols_full vfunc if get_protocols is NULL. Fixes URIHandlers implemented using language bindings. 2008-02-29 13:59:24 +0000 Sebastian Dröge And correct even more valid sparse warnings. Original commit message from CVS: * gst/gstelementfactory.h: * tests/check/elements/fakesink.c: * tests/check/elements/fakesrc.c: (setup_fakesrc): * tests/check/elements/fdsrc.c: (setup_fdsrc): * tests/check/elements/filesink.c: (setup_filesink): * tests/check/elements/filesrc.c: (setup_filesrc): * tests/check/elements/identity.c: (setup_identity): * tests/check/elements/tee.c: * tests/check/generic/sinks.c: * tests/check/generic/states.c: (setup), (teardown): * tests/check/gst/gst.c: * tests/check/gst/gstabi.c: * tests/check/gst/gstbin.c: * tests/check/gst/gstbus.c: (pull_messages): * tests/check/gst/gstcaps.c: * tests/check/gst/gstelement.c: * tests/check/gst/gstevent.c: * tests/check/gst/gstghostpad.c: * tests/check/gst/gstiterator.c: * tests/check/gst/gstmessage.c: * tests/check/gst/gstminiobject.c: (my_foo_init): * tests/check/gst/gstobject.c: (thread_name_object), (gst_object_suite): * tests/check/gst/gstpad.c: * tests/check/gst/gstplugin.c: * tests/check/gst/gstpoll.c: * tests/check/gst/gstquery.c: * tests/check/gst/gstsegment.c: * tests/check/gst/gststructure.c: * tests/check/gst/gstsystemclock.c: * tests/check/gst/gsttask.c: * tests/check/gst/gstutils.c: * tests/check/gst/gstvalue.c: * tests/check/gst/struct_hppa.h: * tests/check/gst/struct_i386.h: * tests/check/gst/struct_ppc32.h: * tests/check/gst/struct_ppc64.h: * tests/check/gst/struct_x86_64.h: * tests/check/libs/adapter.c: (create_and_fill_adapter): * tests/check/libs/basesrc.c: * tests/check/libs/controller.c: (GST_START_TEST): * tests/check/libs/gdp.c: * tests/check/libs/gstnetclientclock.c: * tests/check/libs/gstnettimeprovider.c: * tests/check/libs/libsabi.c: * tests/check/libs/struct_hppa.h: * tests/check/libs/struct_i386.h: * tests/check/libs/struct_ppc32.h: * tests/check/libs/struct_ppc64.h: * tests/check/libs/struct_x86_64.h: * tests/check/pipelines/cleanup.c: * tests/check/pipelines/simple-launch-lines.c: * tests/check/pipelines/stress.c: And correct even more valid sparse warnings. * win32/common/libgstreamer.def: Add gst_poll_fd_init to the list of symbols. 2008-02-29 12:41:33 +0000 Sebastian Dröge Correct all relevant warnings found by the sparse semantic code analyzer. This include marking several symbols static... Original commit message from CVS: * gst/gstconfig.h.in: * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer): * libs/gst/check/gstcheck.c: (gst_check_log_message_func), (gst_check_log_critical_func), (gst_check_drop_buffers), (gst_check_element_push_buffer_list): * libs/gst/controller/gstcontroller.c: (gst_controller_get), (gst_controller_get_type): * libs/gst/controller/gsthelper.c: (gst_object_control_properties), (gst_object_get_controller), (gst_object_get_control_source): * libs/gst/controller/gstinterpolationcontrolsource.c: (gst_interpolation_control_source_new): * libs/gst/controller/gstlfocontrolsource.c: (gst_lfo_control_source_new): * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_event_from_packet_0_2): * plugins/elements/gstfdsrc.c: * plugins/elements/gstmultiqueue.c: * plugins/elements/gsttee.c: * plugins/elements/gsttypefindelement.c: * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml), (gst_file_index_add_association): * plugins/indexers/gstmemindex.c: * tests/benchmarks/gstpollstress.c: (mess_some_more): * tests/check/elements/queue.c: (setup_queue): * tests/check/gst/gstpipeline.c: * tests/check/libs/collectpads.c: (setup), (teardown), (gst_collect_pads_suite): * tests/examples/adapter/adapter_test.c: * tests/examples/metadata/read-metadata.c: (make_pipeline): * tests/examples/xml/createxml.c: * tests/examples/xml/runxml.c: * tools/gst-inspect.c: * tools/gst-run.c: Correct all relevant warnings found by the sparse semantic code analyzer. This include marking several symbols static, using NULL instead of 0 for pointers, not using variable sized arrays on the stack, moving variable declarations to the beginning of a block and using "foo (void)" instead of "foo ()" for declarations. 2008-02-29 12:05:55 +0000 Sebastian Dröge plugins/elements/: Don't reset GstPollFDs, this is not necessary at all. Original commit message from CVS: * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd): * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd): Don't reset GstPollFDs, this is not necessary at all. * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST), (delayed_restart), (delayed_control): Use GST_POLL_FD_INIT. 2008-02-29 11:57:42 +0000 Wim Taymans gst/gstpoll.*: Added Since tags. Original commit message from CVS: * gst/gstpoll.c: (gst_poll_fd_init): * gst/gstpoll.h: Added Since tags. * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd): Use some more init macros. 2008-02-29 11:20:01 +0000 Wim Taymans plugins/elements/: Use init macros and functions. Original commit message from CVS: * plugins/elements/gstfdsink.c: (gst_fd_sink_start): * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd): Use init macros and functions. 2008-02-29 11:00:43 +0000 Wim Taymans Add INIT macro and _init method for initializing the GstPollFD. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstpoll.c: (gst_poll_fd_init): * gst/gstpoll.h: Add INIT macro and _init method for initializing the GstPollFD. 2008-02-28 19:58:26 +0000 Sebastian Dröge Initialize some uninitialized variables as spotted by valgrind. Original commit message from CVS: * plugins/elements/gstfdsink.c: (gst_fd_sink_start), (gst_fd_sink_update_fd): * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd): * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST), (delayed_restart), (delayed_control): Initialize some uninitialized variables as spotted by valgrind. 2008-02-28 15:25:59 +0000 Wim Taymans tests/benchmarks/: Add poll stress test. Original commit message from CVS: * tests/benchmarks/Makefile.am: * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test), (main): Add poll stress test. 2008-02-28 10:18:02 +0000 Peter Kjellerstedt plugins/elements/: Port to GstPoll. See #505417. Original commit message from CVS: Patch by: Peter Kjellerstedt * plugins/elements/gstfdsink.c: (gst_fd_sink_render), (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd): * plugins/elements/gstfdsink.h: * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock), (gst_fd_src_unlock_stop), (gst_fd_src_create), (gst_fd_src_uri_set_uri): * plugins/elements/gstfdsrc.h: Port to GstPoll. See #505417. 2008-02-27 21:18:33 +0000 Jan Schmidt win32/common/libgstreamer.def: Add new gst_poll_ symbols to win32 defs. Original commit message from CVS: * win32/common/libgstreamer.def: Add new gst_poll_ symbols to win32 defs. 2008-02-27 19:01:12 +0000 Wim Taymans Use a private stuct to not break ABI. Original commit message from CVS: * docs/libs/gstreamer-libs-sections.txt: * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init), (gst_net_client_clock_init), (gst_net_client_clock_finalize), (gst_net_client_clock_do_select), (gst_net_client_clock_thread), (gst_net_client_clock_start), (gst_net_client_clock_stop), (gst_net_client_clock_new): * libs/gst/net/gstnetclientclock.h: * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_class_init), (gst_net_time_provider_init), (gst_net_time_provider_finalize), (gst_net_time_provider_thread), (gst_net_time_provider_start), (gst_net_time_provider_stop), (gst_net_time_provider_new): * libs/gst/net/gstnettimeprovider.h: Use a private stuct to not break ABI. 2008-02-27 18:27:59 +0000 Peter Kjellerstedt libs/gst/net/: Massive code removal and cleanups because of GstPoll. Original commit message from CVS: Patch by: Peter Kjellerstedt * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init), (gst_net_client_clock_finalize), (gst_net_client_clock_do_select), (gst_net_client_clock_thread), (gst_net_client_clock_start), (gst_net_client_clock_stop), (gst_net_client_clock_new): * libs/gst/net/gstnetclientclock.h: * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init), (gst_net_time_provider_finalize), (gst_net_time_provider_thread), (gst_net_time_provider_start), (gst_net_time_provider_stop), (gst_net_time_provider_new): * libs/gst/net/gstnettimeprovider.h: Massive code removal and cleanups because of GstPoll. Fixes #505417. 2008-02-27 18:00:04 +0000 Wim Taymans configure.ac: Add checks for poll, ppoll and pselect. Original commit message from CVS: * configure.ac: Add checks for poll, ppoll and pselect. * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: Add docs for GstPoll. * gst/Makefile.am: * gst/gst.h: * gst/gstpoll.c: (find_index), (selectable_fds), (pollable_timeout), (choose_mode), (pollfd_to_fd_set), (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free), (gst_poll_set_mode), (gst_poll_get_mode), (gst_poll_add_fd_unlocked), (gst_poll_add_fd), (gst_poll_remove_fd), (gst_poll_fd_ctl_write), (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read), (gst_poll_fd_has_closed), (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read), (gst_poll_fd_can_write), (gst_poll_wait), (gst_poll_set_controllable), (gst_poll_restart), (gst_poll_set_flushing): * gst/gstpoll.h: Add generic poll abstraction. We ideally don't want to have this in core here but in glib intead... This code will be used in various network elements and ultimately for the nanosecond precision monotonic clock (that's why it's here in core). It'll allow us to implement cancelable socket operations for windows too. * tests/check/Makefile.am: * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST), (delayed_stop), (delayed_restart), (delayed_flush), (delayed_control), (gst_poll_suite): Add GstPoll unit test. 2008-02-25 15:37:36 +0000 Tim-Philipp Müller gst/gstfilter.c: Improve documentation of gst_filter_run(). Fixes #518627. Original commit message from CVS: * gst/gstfilter.c: Improve documentation of gst_filter_run(). Fixes #518627. 2008-02-23 16:03:37 +0000 Tim-Philipp Müller docs/README: Add a few lines about the new 'check-inspected-versions' target. Original commit message from CVS: * docs/README: Add a few lines about the new 'check-inspected-versions' target. 2008-02-21 10:30:50 +0000 Stefan Kost tests/check/gst/gstevent.c: Add qos to the event test. Rename tcase/tsuite; is not only about custom events. Original commit message from CVS: * tests/check/gst/gstevent.c: Add qos to the event test. Rename tcase/tsuite; is not only about custom events. 2008-02-21 10:22:36 +0000 Stefan Kost plugins/elements/gstqueue.c: Ensure that buffer metadata is writeable, before modifying. Spotted by Original commit message from CVS: * plugins/elements/gstqueue.c: Ensure that buffer metadata is writeable, before modifying. Spotted by Mike. 2008-02-20 15:44:33 +0000 Stefan Kost plugins/elements/gstqueue.*: When dropping buffers in leaky modes, mark next buffers we sent as Original commit message from CVS: * plugins/elements/gstqueue.c: * plugins/elements/gstqueue.h: When dropping buffers in leaky modes, mark next buffers we sent as DISCONT. 2008-02-20 12:31:50 +0000 Tim-Philipp Müller plugins/elements/gstfilesrc.c: Also, if mmap() fails that would be a READ error, not OPEN_READ. Original commit message from CVS: * plugins/elements/gstfilesrc.c: (gst_file_src_map_region): Also, if mmap() fails that would be a READ error, not OPEN_READ. 2008-02-20 12:26:19 +0000 Tim-Philipp Müller plugins/elements/: Remove GstBufferStore, no idea why we were still building it. Original commit message from CVS: * plugins/elements/Makefile.am: * plugins/elements/gstbufferstore.c: * plugins/elements/gstbufferstore.h: * plugins/elements/gsttypefindelement.h: Remove GstBufferStore, no idea why we were still building it. It's not used anywhere and superseded by GstAdapter. * plugins/elements/gstfilesrc.c: (gst_file_src_map_region), (gst_file_src_create_mmap): * plugins/indexers/gstfileindex.c: (gst_file_index_add_association): Printf format fixes for 64-bit integers. 2008-02-19 13:00:14 +0000 Sebastian Dröge configure.ac: Don't set GST_CACHE_DIR and allow to set it by a configure parameter. Original commit message from CVS: * configure.ac: Don't set GST_CACHE_DIR and allow to set it by a configure parameter. We're not in 0.8 times anymore. 2008-02-19 12:56:28 +0000 Jan Schmidt libs/gst/check/gstcheck.*: Make the declaration in the header for gst_check_element_push_buffer_list match the implem... Original commit message from CVS: * libs/gst/check/gstcheck.c: (gst_check_drop_buffers), (gst_check_element_push_buffer_list): * libs/gst/check/gstcheck.h: Make the declaration in the header for gst_check_element_push_buffer_list match the implementation. Fix up spelling, grammar and wording of the documentation in a few places, and add the Since keyword to new API functions. Use g_list_delete_link instead of g_list_remove in gst_check_drop_buffers, since it's immeasurably more efficient. * tests/check/elements/fakesrc.c: (GST_START_TEST): Use new gst_check_drop_buffers function where appropriate. * win32/common/libgstbase.def: * win32/common/libgstreamer.def: Add new symbols gst_collect_pads_take_buffer, gst_collect_pads_read_buffer, gst_index_set_resolver_full to the exports Changelog surgery to add API keyword to new gst_check API. 2008-02-19 08:05:15 +0000 Sebastian Dröge gst/parse/lex._gst_parse_yy.pre.c: Update pre-generated flex files with flex 2.3.34. Original commit message from CVS: * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer), (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra): Update pre-generated flex files with flex 2.3.34. 2008-02-19 05:49:32 +0000 Sebastian Dröge gst/gstminiobject.c: Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more friendly to subclasses and not ... Original commit message from CVS: * gst/gstminiobject.c: Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more friendly to subclasses and not require them to know all internals of their parent class. 2008-02-15 13:15:17 +0000 Stefan Kost Add sub-buffer functions to collectpads. Fixes #516187. Original commit message from CVS: * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstcollectpads.c: * libs/gst/base/gstcollectpads.h: Add sub-buffer functions to collectpads. Fixes #516187. API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer() 2008-02-15 12:33:00 +0000 Stefan Kost gst/gstbuffer.c: Copy selected buffer-flags when creating subbuffers. Original commit message from CVS: * gst/gstbuffer.c: Copy selected buffer-flags when creating subbuffers. Fixes #516395. 2008-02-12 12:04:43 +0000 Sebastian Dröge Properly chain up finalize functions to the parent class. Original commit message from CVS: * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize): * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize): * gst/gstmessage.c: (gst_message_class_init), (gst_message_finalize): * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize): * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init), (gst_mmap_buffer_finalize): Properly chain up finalize functions to the parent class. 2008-02-11 17:53:57 +0000 Siavash Safi gst/gstindex.*: Add new function with option to dispose of user_data in resolver. Original commit message from CVS: Patch by: Siavash Safi * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver), (gst_index_set_resolver_full): * gst/gstindex.h: Add new function with option to dispose of user_data in resolver. Actually call the dispose function when finalizing the object and not just when changing the resolver/filter. API: GstIndex::gst_index_set_resolver_full() * docs/gst/gstreamer-sections.txt: Add new function to docs. Fixes #515469. 2008-02-11 08:53:04 +0000 Sebastian Dröge gst/gstindex.c: Chain up finalize to the parent class. Fixes leaking the GstObject name and other things. Original commit message from CVS: * gst/gstindex.c: (gst_index_finalize): Chain up finalize to the parent class. Fixes leaking the GstObject name and other things. 2008-02-10 19:48:04 +0000 Jan Schmidt * ChangeLog: * common: ChangeLog surgery: Fix Josep's surname in previous commits Original commit message from CVS: ChangeLog surgery: Fix Josep's surname in previous commits 2008-02-08 00:54:28 +0000 Jan Schmidt configure.ac: Make DISABLE_DEPRECATED defined *only* during CVS, not during pre-releases or releases. Original commit message from CVS: * configure.ac: Make DISABLE_DEPRECATED defined *only* during CVS, not during pre-releases or releases. * docs/faq/gst-uninstalled: Add gst-plugins-gl * docs/random/release: Change one of the steps - we only upload core & base to Gnome FTP 2008-02-06 12:21:05 +0000 Stefan Kost gst/gstconfig.h.in: Add 'id' for example. Original commit message from CVS: * gst/gstconfig.h.in: Add 'id' for example. * gst/gstpad.c: * gst/gstutils.c: * plugins/elements/gstfdsink.c: Link to signals. Doc and comment fixes. 2008-02-05 21:22:47 +0000 Tim-Philipp Müller gst/: Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is unused and unimplemented; finally, it is plugi... Original commit message from CVS: * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL): * gst/gstpluginfeature.h: (GstPluginFeatureClass): Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is unused and unimplemented; finally, it is plugin features, not plugins, that have ranks. 2008-02-05 19:42:31 +0000 Stefan Kost gst/gstpluginfeature.h: Clarify GstRank range docs. Original commit message from CVS: * gst/gstpluginfeature.h: Clarify GstRank range docs. 2008-02-05 18:37:08 +0000 David Schleef gst/gst.c: Add a separate gst_deinitialized that prevents gst_init() from being called after gst_deinit(). Fixes #50... Original commit message from CVS: * gst/gst.c: Add a separate gst_deinitialized that prevents gst_init() from being called after gst_deinit(). Fixes #509559 2008-02-05 14:15:15 +0000 Sebastian Dröge Revert previous changes to the behaviour of GstPadTemplates, etc and the possiblity to call them in class_init as it ... Original commit message from CVS: * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init), (gst_bin_class_init): * gst/gstelement.c: (gst_element_base_class_init), (gst_element_class_add_pad_template): * gst/gstpadtemplate.c: (gst_pad_template_init): * gst/gstpipeline.c: (gst_pipeline_get_type), (gst_pipeline_base_init), (gst_pipeline_class_init): * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type), (gst_base_src_base_init), (gst_base_src_class_init): * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init), (gst_capsfilter_class_init): * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init), (gst_fake_sink_class_init): * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init), (gst_fake_src_class_init): * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init), (gst_fd_sink_class_init): * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init), (gst_fd_src_class_init): * plugins/elements/gstfilesink.c: (gst_file_sink_base_init), (gst_file_sink_class_init): * plugins/elements/gstfilesrc.c: (gst_file_src_base_init), (gst_file_src_class_init): * plugins/elements/gstidentity.c: (gst_identity_base_init), (gst_identity_class_init): * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init), (gst_multi_queue_class_init): * plugins/elements/gstqueue.c: (gst_queue_base_init), (gst_queue_class_init): * plugins/elements/gsttee.c: (gst_tee_base_init), (gst_tee_class_init): * plugins/elements/gsttypefindelement.c: (gst_type_find_element_base_init), (gst_type_find_element_class_init): * tests/check/gst/gstelement.c: (gst_element_suite): Revert previous changes to the behaviour of GstPadTemplates, etc and the possiblity to call them in class_init as it breaks too many elements. Reopens bug #491501. Should be applied again for 0.11, thus added a few FIXME 0.11 at several places. 2008-02-05 09:24:18 +0000 Stefan Kost tools/gst-launch.c: Dump one graph per pipeline state-change and state change name (if GST_DEBUG_DUMP_DOT_DIR is set). Original commit message from CVS: * tools/gst-launch.c: Dump one graph per pipeline state-change and state change name (if GST_DEBUG_DUMP_DOT_DIR is set). 2008-02-04 14:14:42 +0000 Thijs Vermeir Be sure that we have a new copy of the caps and not reffed caps from a template Original commit message from CVS: * gst/gstpad.c: * tests/check/gst/gstpad.c: Be sure that we have a new copy of the caps and not reffed caps from a template 2008-02-03 12:04:37 +0000 Sebastian Dröge Don't use base_init where not absolutely necessary. For example it's not necessary anymore for adding pad templates o... Original commit message from CVS: * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init): * gst/gstpipeline.c: (gst_pipeline_get_type), (gst_pipeline_class_init): * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type), (gst_base_sink_class_init): * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type), (gst_base_src_class_init): * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type), (gst_base_transform_class_init): * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init), (gst_collect_pads_class_init): * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type): * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_base_init), (gst_net_time_provider_class_init): * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init), (gst_capsfilter_class_init): * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init), (gst_fake_sink_class_init): * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init), (gst_fake_src_class_init): * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init), (gst_fd_sink_class_init): * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init), (gst_fd_src_class_init): * plugins/elements/gstfilesink.c: (gst_file_sink_base_init), (gst_file_sink_class_init): * plugins/elements/gstfilesrc.c: (gst_file_src_base_init), (gst_file_src_class_init): * plugins/elements/gstidentity.c: (gst_identity_base_init), (gst_identity_class_init): * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init), (gst_multi_queue_class_init): * plugins/elements/gstqueue.c: (gst_queue_base_init), (gst_queue_class_init): * plugins/elements/gsttee.c: (gst_tee_base_init), (gst_tee_class_init): * plugins/elements/gsttypefindelement.c: (gst_type_find_element_base_init), (gst_type_find_element_class_init): Don't use base_init where not absolutely necessary. For example it's not necessary anymore for adding pad templates or setting element details. Leave empty base_init functions in several places as GST_BOILERPLATE still defines and uses them. 2008-02-03 10:48:01 +0000 Sebastian Dröge gst/: Make it possible (and recommended) to set element details and add pad templates in the class_init functions by ... Original commit message from CVS: * gst/gstelement.c: (gst_element_base_class_init), (gst_element_class_add_pad_template): * gst/gstpadtemplate.c: Make it possible (and recommended) to set element details and add pad templates in the class_init functions by copying the details/pad templates in GstElement's base_init. Also make it possible to replace existing pad templates by adding a new one with the same name. This was done in a hackish fashion in same elements before already. Don't reference pad templates that are added a second time. A new pad template has a refcount of one and is not floating anymore and to be owned by the element's class. Make this more explicit by mentioning it in the docs of gst_element_class_add_pad_template(). These changes are backwards compatible. Fixes bug #491501. * tests/check/gst/gstelement.c: Add unit test for setting element details, adding pad templates and replacing them in a subclass. 2008-02-02 06:48:37 +0000 Sebastian Dröge tools/gst-inspect.c: Fix a few memory leaks. Original commit message from CVS: * tools/gst-inspect.c: (print_interfaces), (print_element_properties_info), (print_pad_info), (print_signal_info), (print_element_info): Fix a few memory leaks. 2008-02-01 17:16:26 +0000 Thijs Vermeir Add more functions for unit testing: gst_check_drop_buffers, gst_check_caps_equal, gst_check_element_push_buffer_list... Original commit message from CVS: * docs/libs/gstreamer-libs-sections.txt: * libs/gst/check/gstcheck.c: * libs/gst/check/gstcheck.h: Add more functions for unit testing: gst_check_drop_buffers, gst_check_caps_equal, gst_check_element_push_buffer_list, gst_check_element_push_buffer 2008-02-01 16:37:22 +0000 Julien Moutte docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs Original commit message from CVS: 2008-02-01 Julien Moutte * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer), (gst_index_finalize), (gst_index_entry_free), (gst_index_add_association): Fix memory leaks. * gst/gstversion.h.in: Add GST_CHECK_VERSION macro. * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init), (gst_mem_index_free_format), (gst_mem_index_free_id), (gst_mem_index_finalize): Fix memory leaks. * win32/common/config.h: Updated to CVS HEAD. 2008-02-01 12:25:17 +0000 Stefan Kost docs/README: Some more details about how the plugin docs works. Original commit message from CVS: * docs/README: Some more details about how the plugin docs works. * docs/plugins/gstreamer-plugins-sections.txt: Whitespace cleanup. 2008-02-01 12:10:17 +0000 Stefan Kost gst/parse/: Add delayed set-property. This allows to set properties on dynamicaly created objects (pads in videomxer). Original commit message from CVS: * gst/parse/grammar.tab.pre.c: * gst/parse/grammar.tab.pre.h: * gst/parse/grammar.y: * gst/parse/lex._gst_parse_yy.pre.c: Add delayed set-property. This allows to set properties on dynamicaly created objects (pads in videomxer). 2008-02-01 11:27:32 +0000 Thijs Vermeir gst/gstutils.c: Check if caps are not NULL (fix bug #510194) Original commit message from CVS: * gst/gstutils.c: Check if caps are not NULL (fix bug #510194) 2008-02-01 10:27:10 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Add fixme regarding EOS in pull mode. Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_loop), (gst_base_sink_get_position_paused): Add fixme regarding EOS in pull mode. Fix position reporting in PAUSED for negative rates. 2008-02-01 10:23:56 +0000 Wim Taymans gst/gstminiobject.c: When replacing a miniobject, do a quick equality check first so that we can avoid a ref/unref pair. Original commit message from CVS: * gst/gstminiobject.c: (gst_mini_object_replace): When replacing a miniobject, do a quick equality check first so that we can avoid a ref/unref pair. 2008-02-01 10:17:40 +0000 Wim Taymans docs/design/part-synchronisation.txt: Update some docs. Original commit message from CVS: * docs/design/part-synchronisation.txt: Update some docs. * docs/plugins/Makefile.am: * docs/plugins/gstreamer-plugins-docs.sgml: * docs/plugins/gstreamer-plugins-sections.txt: * plugins/elements/gstmultiqueue.c: Add multiqueue to the docs. 2008-01-30 14:38:43 +0000 Jan Schmidt configure.ac: Back to CVS Original commit message from CVS: * configure.ac: Back to CVS === release 0.10.17 === 2008-01-30 14:05:45 +0000 Jan Schmidt * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * gstreamer.doap: * win32/common/config.h: Release 0.10.17 Original commit message from CVS: Release 0.10.17 2008-01-30 13:13:49 +0000 Jan Schmidt * ChangeLog: add ChangeLog entry for previous commit Original commit message from CVS: add ChangeLog entry for previous commit 2008-01-30 13:12:24 +0000 Jan Schmidt gst/gstutils.c: Check if caps are not NULL (fix bug #510194) Original commit message from CVS: * gst/gstutils.c: Check if caps are not NULL (fix bug #510194) 2008-01-30 12:55:42 +0000 Thijs Vermeir gst/gstutils.c: Check if caps are not NULL (fix bug #510194) Original commit message from CVS: * gst/gstutils.c: Check if caps are not NULL (fix bug #510194) 2008-01-30 12:44:13 +0000 Cygwin Ports maintainer gst/gstutils.c: Fix compilation on systems that have posix timers but no monotonic clock. Original commit message from CVS: * gst/gstutils.c: Fix compilation on systems that have posix timers but no monotonic clock. Fixes: #512715 Patch By: Cygwin Ports maintainer 2008-01-30 12:39:51 +0000 Jan Schmidt tools/gst-inspect.c: Revert previous commit in preparation for an impromptu 0.10.17 release Original commit message from CVS: * tools/gst-inspect.c: Revert previous commit in preparation for an impromptu 0.10.17 release 2008-01-29 09:43:11 +0000 Sebastian Dröge tools/gst-inspect.c: Fix a few memory leaks. Original commit message from CVS: * tools/gst-inspect.c: (print_interfaces), (print_element_properties_info), (print_pad_info), (print_signal_info), (print_element_info): Fix a few memory leaks. 2008-01-28 23:30:45 +0000 Jan Schmidt configure.ac: Back to CVS Original commit message from CVS: * configure.ac: Back to CVS === release 0.10.16 === 2008-01-28 23:27:13 +0000 Jan Schmidt * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/gstreamer-plugins.args: * docs/plugins/gstreamer-plugins.hierarchy: * docs/plugins/gstreamer-plugins.interfaces: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * gstreamer.doap: * po/LINGUAS: * win32/common/config.h: Release 0.10.16 Original commit message from CVS: Release 0.10.16 2008-01-28 21:20:16 +0000 Jan Schmidt * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/it.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files Original commit message from CVS: Update .po files 2008-01-24 23:28:54 +0000 Tim-Philipp Müller configure.ac: Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes ... Original commit message from CVS: * configure.ac: Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure not fail when trying to crosscompile on OpenEmbedded (#511750). 2008-01-20 17:08:54 +0000 Sebastian Dröge docs/manuals.mak: Use $(MAKE) instead of make to fix the build if GNU make is called different. Fixes bug #510747. Original commit message from CVS: * docs/manuals.mak: Use $(MAKE) instead of make to fix the build if GNU make is called different. Fixes bug #510747. 2008-01-20 15:04:33 +0000 Tim-Philipp Müller gst/gstplugin.c: Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC again, which I broke two commits ago when ... Original commit message from CVS: * gst/gstplugin.c: (_gst_plugin_initialize): Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC again, which I broke two commits ago when changing the API of gst_plugin_register_static(): the g_list_foreach() in _gst_plugin_register_static still assumed the old function signature and would therefore fail (re-fixes #510187). * gst/gstplugin.c: (_num_static_plugins), (_static_plugins), (_gst_plugin_register_static), (gst_plugin_register_static): Revert the (technically correct) change to call g_thread_init() from the pre-main() constructor. This will break programs which call g_thread_init() without an if (!g_thread_supported()) guard in their main function. We could just blame it on GLib or the application, but it's probably best to just avoid this altogether and simply not use any GLib functions here and use plain old malloc() with a simple array to store the plugins to register later when gst_init() is finally called (re-fixes #510187). * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED), (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter), (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST), (GST_START_TEST), (gst_plugin_suite): Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still works. 2008-01-17 22:22:58 +0000 Tim-Philipp Müller gst/gstplugin.h: Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC. Original commit message from CVS: * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC): Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC. This makes gtk-doc complain, but results in slightly better compiler errors. The old _gst_plugin_register_static() is still guarded, so there'll be a compiler warning about that instead. Fixes #510187 too. 2008-01-17 22:17:15 +0000 Tim-Philipp Müller gst/: Change API of gst_plugin_register_static() to not take a GstPluginDesc, but rather just take all the arguments ... Original commit message from CVS: * gst/gst.c: (init_post): * gst/gstplugin.c: (_gst_plugin_register_static), (gst_plugin_register_static), (_gst_plugin_initialize): * gst/gstplugin.h: (GstPluginFilter): Change API of gst_plugin_register_static() to not take a GstPluginDesc, but rather just take all the arguments in a GstPluginDesc directly. This is more intuitive and avoids certain mistakes when porting code from GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static(). Fixes #510187. * tests/check/gst/gstplugin.c: Fix up for changed API. 2008-01-17 18:50:31 +0000 Thomas Vander Stichele docs/faq/legal.xml: Update FAQ, Totem actually has an exception these days. Original commit message from CVS: * docs/faq/legal.xml: Update FAQ, Totem actually has an exception these days. 2008-01-14 22:20:44 +0000 Jan Schmidt win32/common/libgstreamer.def: Add new API declarations Original commit message from CVS: * win32/common/libgstreamer.def: Add new API declarations 2008-01-14 13:18:37 +0000 Stefan Kost gst/gstminiobject.c: Spelling fixes for the API docs. Original commit message from CVS: * gst/gstminiobject.c: Spelling fixes for the API docs. 2008-01-14 11:47:32 +0000 Jan Schmidt * ChangeLog: Add API keyword for gst_util_get_timestamp, and remove the tag for GST_GET_TIMESTMAP which didn't survive. Original commit message from CVS: Add API keyword for gst_util_get_timestamp, and remove the tag for GST_GET_TIMESTMAP which didn't survive. 2008-01-14 11:40:55 +0000 Stefan Kost libs/gst/base/gstbasetransform.c: Fix long property description for QoS. Original commit message from CVS: * libs/gst/base/gstbasetransform.c: Fix long property description for QoS. 2008-01-12 20:22:30 +0000 Jan Schmidt gst/gst.c: _gst_trace_on is already provided by gsttrace.h, no need to declare it ourselves. Original commit message from CVS: * gst/gst.c: _gst_trace_on is already provided by gsttrace.h, no need to declare it ourselves. * docs/libs/gstreamer-libs-sections.txt: Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck and remove strange tcase_add_test which is outputting a warning. * libs/gst/check/gstcheck.c: * libs/gst/check/gstcheck.h: Properly declare 'buffers', 'check_cond', 'check_mutex' extern and define them in gstcheck.c instead of having every .c file whcih includes gstcheck.h be defining its own copy and relying on symbol interposing to marry them all, which doesn't work on Solaris. * tests/check/elements/identity.c: (GST_START_TEST): Don't define 'buffers' locally, it comes from libgstcheck. * tests/check/generic/sinks.c: (send_buffer): Fix type of variable (GstFlowReturn, not GstStateChangeReturn) * tests/check/gst/gststructure.c: (GST_START_TEST): * tests/check/gst/gstsystemclock.c: (GST_START_TEST): * tests/check/gst/gstutils.c: (GST_START_TEST): * tests/check/gst/gstvalue.c: (GST_START_TEST): Add a bunch of casts to make various constants fit the types they're being assigned to. 2008-01-10 21:06:58 +0000 Stefan Kost gst/gstchildproxy.c: Improve docs and add some ideas for making this more general-purpose. Original commit message from CVS: * gst/gstchildproxy.c: Improve docs and add some ideas for making this more general-purpose. 2008-01-10 15:55:32 +0000 Tim-Philipp Müller gst/gst_private.h: Add GST_CAT_TYPES, for consistency, and so that the other debug categories don't make fun of it. S... Original commit message from CVS: * gst/gst_private.h: (GST_CAT_TYPES): Add GST_CAT_TYPES, for consistency, and so that the other debug categories don't make fun of it. Spotted by Saur on IRC. 2008-01-10 13:03:35 +0000 Sebastian Dröge gst/parse/Makefile.am: Move types.h from EXTRA_DIST to noinst_HEADERS. Original commit message from CVS: * gst/parse/Makefile.am: Move types.h from EXTRA_DIST to noinst_HEADERS. 2008-01-10 12:14:04 +0000 Sebastian Dröge autogen.sh: Add -Wno-portability to the automake parameters to stop warnings about GNU make extensions being used. We... Original commit message from CVS: * autogen.sh: Add -Wno-portability to the automake parameters to stop warnings about GNU make extensions being used. We require GNU make in almost every Makefile anyway. * configure.ac: Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o at the same time is required for per target flags. 2008-01-09 18:23:39 +0000 Tim-Philipp Müller API: add gst_plugin_register_static() and deprecate Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gst.c: (init_post): * gst/gstplugin.c: (_gst_plugin_register_static), (gst_plugin_register_static), (_gst_plugin_initialize), (gst_plugin_register_func): * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC): API: add gst_plugin_register_static() and deprecate GST_PLUGIN_DEFINE_STATIC, since it's not portable (#498924). Also, in _gst_plugin_register_static(), make sure to call g_thread_init() before calling GLib functions such as g_list_append() if we're not initialised yet, since that may lead to random crashes with older GSlice/GLib versions. * tests/check/gst/gstplugin.c: Adapt unit test to above changes. 2008-01-09 16:36:34 +0000 Tim-Philipp Müller gst/: Yet another gratuitous GString micro-optimisation: add a (private) function that serialises a structure appendi... Original commit message from CVS: * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN): * gst/gstcaps.c: (gst_caps_to_string): * gst/gststructure.c: (GST_ASCII_IS_STRING), (priv_gst_structure_append_to_gstring), (gst_structure_to_string): Yet another gratuitous GString micro-optimisation: add a (private) function that serialises a structure appending to an existing GString, so that when we serialise caps we don't need to alloc+free a throwaway GString for each structure (each of which also entailing multiple reallocs on the way); also use g_string_sized_new() in various places with an approximate string length to avoid reallocs within GString. See #500143. 2008-01-09 15:05:21 +0000 Tim-Philipp Müller gst/gststructure.c: Always check UTF-8 conformance of structure strings and not only if the debugging system is enabl... Original commit message from CVS: * gst/gststructure.c: (gst_structure_id_set_value): Always check UTF-8 conformance of structure strings and not only if the debugging system is enabled; reasoning: the behaviour of the actual code shouldn't really change depending on whether the debugging system is enabled or not (#508291). 2008-01-09 13:48:03 +0000 Stefan Kost Makefile.am: Remove old coverage target in favour of "make lcov". Original commit message from CVS: * Makefile.am: Remove old coverage target in favour of "make lcov". 2008-01-09 12:25:17 +0000 Wim Taymans libs/gst/base/gstbasesrc.c: The start segment for reverse playback goes from start to last_stop. Original commit message from CVS: * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek), (gst_base_src_loop): The start segment for reverse playback goes from start to last_stop. 2008-01-09 12:22:22 +0000 Peter Kjellerstedt gst/gstclock.h: Cast the results from the timeval/spec_to_time macros to what the docs say it casts to, a GstClockTim... Original commit message from CVS: Patch by: Peter Kjellerstedt * gst/gstclock.h: Cast the results from the timeval/spec_to_time macros to what the docs say it casts to, a GstClockTime. fixes #508175. 2008-01-09 12:19:31 +0000 Wim Taymans gst/gstbuffer.c: Update some comments. Original commit message from CVS: * gst/gstbuffer.c: Update some comments. * tools/gst-inspect.c: (print_element_properties_info): Improve printing of flags. 2008-01-08 21:13:58 +0000 Tim-Philipp Müller libs/gst/base/gstbasetransform.c: Print element name with g_warning() if there's a problem with the unit size. Original commit message from CVS: * libs/gst/base/gstbasetransform.c: (gst_base_transform_transform_size): Print element name with g_warning() if there's a problem with the unit size. 2008-01-08 02:07:38 +0000 Damien Lespiau libs/gst/: Fix empty prototypes. Fixes bug #507957. Original commit message from CVS: Patch by: Damien Lespiau * libs/gst/controller/gstcontroller.h: * libs/gst/controller/gstcontrolsource.h: * libs/gst/controller/gstinterpolationcontrolsource.h: * libs/gst/controller/gstlfocontrolsource.h: * libs/gst/dataprotocol/dataprotocol.h: Fix empty prototypes. Fixes bug #507957. 2008-01-08 02:01:34 +0000 David Schleef docs/faq/dependencies.xml: Fix typo. Original commit message from CVS: * docs/faq/dependencies.xml: Fix typo. 2008-01-07 11:23:00 +0000 Wim Taymans libs/gst/base/gstbasesrc.c: Don't update the last_stop position in do_seek, that's the position we did a seek to. Original commit message from CVS: * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek), (gst_base_src_loop): Don't update the last_stop position in do_seek, that's the position we did a seek to. Read backwards when we have a negative rate. * tests/check/elements/filesrc.c: (event_func), (wait_eos), (setup_filesrc), (cleanup_filesrc), (GST_START_TEST), (filesrc_suite): Add check for reverse reading. 2008-01-07 09:47:49 +0000 Alexis Ballier tests/check/: Decide which header to include based on the userland ABI target and not the kernel/cpu. Fix up structur... Original commit message from CVS: Patch by: Alexis Ballier * tests/check/gst/gstabi.c: * tests/check/gst/struct_ppc64.h: * tests/check/libs/libsabi.c: * tests/check/libs/struct_ppc64.h: Decide which header to include based on the userland ABI target and not the kernel/cpu. Fix up structure sizes of ppc64 header for 64-bit userland (#503590). Might need something similar for x86 too. 2008-01-05 13:45:22 +0000 Tim-Philipp Müller gst/gstdebugutils.c: Log the reason why fopen fails in addition to the fact that it failed. Original commit message from CVS: * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file): Log the reason why fopen fails in addition to the fact that it failed. 2008-01-04 18:44:03 +0000 Sebastian Dröge gst/parse/parse.l: Use "%option never-interactive" to prevent useless calls to isatty() on every input when parsing. ... Original commit message from CVS: * gst/parse/parse.l: Use "%option never-interactive" to prevent useless calls to isatty() on every input when parsing. Also use "%option noinput" to not define the static input/yyinput functions which we don't use anyway. This removes a compiler warning with gcc 4.3 and saves some bytes in the library. * gst/parse/lex._gst_parse_yy.pre.c: Regenerated for the above change. 2008-01-04 18:39:15 +0000 Wim Taymans gst/gstpad.c: Don't crash when trying to fixate and empty list. Original commit message from CVS: * gst/gstpad.c: (fixate_value): Don't crash when trying to fixate and empty list. Fixes #506643. 2008-01-03 09:43:41 +0000 Sebastian Dröge docs/faq/gst-uninstalled: Clarify the comments to make the usage of this script and what it does easier to understand. Original commit message from CVS: * docs/faq/gst-uninstalled: Clarify the comments to make the usage of this script and what it does easier to understand. 2008-01-01 17:10:32 +0000 Thijs Vermeir tools/gst-plot-timeline.py: Add more options to gst-plot-timeline Original commit message from CVS: * tools/gst-plot-timeline.py: Add more options to gst-plot-timeline 2007-12-31 19:11:39 +0000 Wim Taymans docs/design/part-synchronisation.txt: Some more info on how the stream_time in GstBaseSink is done. Original commit message from CVS: * docs/design/part-synchronisation.txt: Some more info on how the stream_time in GstBaseSink is done. 2007-12-30 13:36:30 +0000 Tim-Philipp Müller * ChangeLog: ChangeLog surgery: remove bogus changelog entry Original commit message from CVS: ChangeLog surgery: remove bogus changelog entry 2007-12-30 13:31:17 +0000 Tim-Philipp Müller tests/check/generic/sinks.c: Put back the tcase_set_timeout(), apparently it's needed after all; fix it up in a way t... Original commit message from CVS: * tests/check/generic/sinks.c: (gst_sinks_suite): Put back the tcase_set_timeout(), apparently it's needed after all; fix it up in a way that makes things work with valgrind too. 2007-12-30 12:22:49 +0000 Thijs Vermeir gst/gstdebugutils.c: add warning when failed to open file for writing Original commit message from CVS: * gst/gstdebugutils.c: add warning when failed to open file for writing 2007-12-28 14:34:34 +0000 Laurent Glayal gst/gstvalue.c: Optimisation: bail out of the loop as early as possible (#500143). Original commit message from CVS: Based on patch by: Laurent Glayal * gst/gstvalue.c: (gst_value_is_fixed): Optimisation: bail out of the loop as early as possible (#500143). 2007-12-28 14:15:53 +0000 Tim-Philipp Müller gst/: Bunch of gratuitous nano-optimisations. Original commit message from CVS: * gst/gstcaps.c: (gst_caps_to_string): * gst/gstinfo.c: (gst_debug_construct_term_color): * gst/gstparse.c: (gst_parse_launchv): * gst/gstutils.c: (gst_util_dump_mem): * gst/gstvalue.c: (gst_value_serialize_any_list), (gst_value_transform_any_list_string): Bunch of gratuitous nano-optimisations. 2007-12-28 13:57:05 +0000 Tim-Philipp Müller tests/check/generic/sinks.c: Fix leak in unit test (bus sync handler must unref the message if it returns GST_BUS_DRO... Original commit message from CVS: * tests/check/generic/sinks.c: (async_done_func), (async_done_eos_func): Fix leak in unit test (bus sync handler must unref the message if it returns GST_BUS_DROP). Don't fiddle with the default test timeout, this is smaller than the current preconfigured value via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind because it overrides the value specified in CK_DEFAULT_TIMEOUT. 2007-12-24 19:21:32 +0000 Wim Taymans * ChangeLog: Add bug that was fixed with last commit. Original commit message from CVS: Add bug that was fixed with last commit. 2007-12-24 19:11:29 +0000 Laurent Glayal configure.ac: Check for stdio_ext.h for the filesink changes. Original commit message from CVS: Based on Patch by: Laurent Glayal * configure.ac: Check for stdio_ext.h for the filesink changes. * plugins/elements/gstfilesink.c: (buffer_mode_get_type), (gst_file_sink_class_init), (gst_file_sink_init), (gst_file_sink_dispose), (gst_file_sink_set_property), (gst_file_sink_get_property), (gst_file_sink_open_file), (gst_file_sink_close_file): * plugins/elements/gstfilesink.h: Add two properties to control the buffering mode and size. API: GstFileSink::buffer-mode API: GstFileSink::buffer-size 2007-12-24 14:35:24 +0000 Wim Taymans gst/gstsystemclock.c: Add some more docs to explain why a FIXME was wrongly added. Original commit message from CVS: * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked): Add some more docs to explain why a FIXME was wrongly added. 2007-12-22 12:48:26 +0000 Sebastian Dröge gst/gstobject.c: Fix typo in the gst_object_{ref,unref} documentation. Original commit message from CVS: * gst/gstobject.c: Fix typo in the gst_object_{ref,unref} documentation. 2007-12-21 21:17:32 +0000 Tim-Philipp Müller tests/check/: Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is going to be deprecated (see #498924). Original commit message from CVS: * tests/check/libs/controller.c: * tests/check/libs/typefindhelper.c: * tests/check/pipelines/parse-launch.c: Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is going to be deprecated (see #498924). 2007-12-21 20:58:23 +0000 Tim-Philipp Müller gst/gsttypefind.c: Make gst_type_find_register work for static typefind functions, ie. allow passing plugin == NULL (... Original commit message from CVS: * gst/gsttypefind.c: (gst_type_find_register): Make gst_type_find_register work for static typefind functions, ie. allow passing plugin == NULL (prerequisite for #498924). * gst/gstelementfactory.c: (gst_element_register): Small docs addition. 2007-12-21 13:54:07 +0000 Wim Taymans gst/gstpad.c: Really unlink the peer pad instead of setting the peer pointer to NULL when we dispose the pad. Original commit message from CVS: * gst/gstpad.c: (gst_pad_dispose): Really unlink the peer pad instead of setting the peer pointer to NULL when we dispose the pad. This correctly calls the unlink functions and makes sure that the peer does not have a handle to invalid memory. See #504671. * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite): Add testsuite for above case. 2007-12-20 09:20:27 +0000 Peter Kjellerstedt libs/gst/check/gstcheck.h: Fix detection of the check version we're compiling against (would otherwise break if check... Original commit message from CVS: Patch by: Peter Kjellerstedt * libs/gst/check/gstcheck.h: Fix detection of the check version we're compiling against (would otherwise break if check goes v0.10.0); correctly report the name of the failed test again in case of failure, instead of just 'tf' (fixes #504499). 2007-12-19 17:49:38 +0000 Wim Taymans libs/gst/base/gstbasesrc.c: Allow sending EOS to the source to make it send out an EOS event from the streaming thread. Original commit message from CVS: * 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): Allow sending EOS to the source to make it send out an EOS event from the streaming thread. Update docs and deprecate the old NULL/READY shutdown method. * tests/check/libs/basesrc.c: (GST_START_TEST), (gst_basesrc_suite): Add unit test for controlled shutdown. 2007-12-19 12:48:18 +0000 Wim Taymans docs/design/part-synchronisation.txt: Small updates. Original commit message from CVS: * docs/design/part-synchronisation.txt: Small updates. * gst/gstsegment.c: (gst_segment_set_seek), (gst_segment_set_newsegment_full), (gst_segment_to_stream_time), (gst_segment_to_running_time): The seek format can be different from the segment format when the start and stop values are not to be updated, when we only do a rate change for example. * tests/check/gst/gstsegment.c: (GST_START_TEST), (gst_segment_suite): Add a testcase for the rate-only seeks, checking that the format is correctly ignored when start and stop are not updated. 2007-12-18 13:38:31 +0000 Sebastian Dröge * ChangeLog: ChangeLog surgery, gstenumtypes.c changes were not committed because there were none Original commit message from CVS: * ChangeLog surgery, gstenumtypes.c changes were not committed because there were none 2007-12-18 13:18:35 +0000 Matthias Bolte win32/common/gstenumtypes.c: Some indention fixes by gst-indent. Original commit message from CVS: * win32/common/gstenumtypes.c: (register_gst_buffer_flag), (register_gst_buffer_copy_flags), (register_gst_clock_flags), (register_gst_debug_graph_details), (register_gst_state_change_return), (register_gst_state_change), (register_gst_element_flags), (register_gst_core_error), (register_gst_library_error), (register_gst_resource_error), (register_gst_stream_error), (register_gst_event_type_flags), (register_gst_event_type), (register_gst_index_entry_type), (register_gst_assoc_flags), (register_gst_message_type), (register_gst_mini_object_flags), (register_gst_pad_link_return), (register_gst_flow_return), (register_gst_pad_template_flags), (register_gst_pipeline_flags), (register_gst_plugin_error), (register_gst_tag_merge_mode), (register_gst_alloc_trace_flags), (register_gst_type_find_probability), (register_gst_parse_error): Some indention fixes by gst-indent. Patch by: Matthias Bolte * win32/vs8/grammar.vcproj: * win32/vs8/libgstcontroller.vcproj: * win32/vs8/libgstreamer.vcproj: Fix compilation with VS8 and include some missing files. 2007-12-18 12:03:18 +0000 Tim-Philipp Müller gst/gsttaglist.c: Small docs addition: mention that the strings returned by gst_tag_list_get_string*() are in UTF-8 e... Original commit message from CVS: * gst/gsttaglist.c: Small docs addition: mention that the strings returned by gst_tag_list_get_string*() are in UTF-8 encoding. 2007-12-17 19:59:42 +0000 Tim-Philipp Müller Makefile.am: The check-exports stuff moved to common/win32.mak, so include that. Original commit message from CVS: * Makefile.am: The check-exports stuff moved to common/win32.mak, so include that. 2007-12-17 16:38:40 +0000 Wim Taymans libs/gst/base/gstbasesrc.c: Make _wait_playing() not check any variables so that we can call this function from subcl... Original commit message from CVS: * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing), (gst_base_src_perform_seek), (gst_base_src_get_range), (gst_base_src_set_playing), (gst_base_src_change_state): Make _wait_playing() not check any variables so that we can call this function from subclasses. Move the checks elsewhere similar to _wait_preroll() in basesink. Add some debugging. Only signal the LIVE cond when we are going back to PLAYING. 2007-12-16 18:29:25 +0000 Tim-Philipp Müller gst/gstregistrybinary.c: Use g_remove() and g_rename(). Check result of g_rename(), and don't leak the open file desc... Original commit message from CVS: * gst/gstregistrybinary.c: (gst_registry_binary_write_cache): Use g_remove() and g_rename(). Check result of g_rename(), and don't leak the open file descriptor if we error out when writing. * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache): Must check the return value of close() after writing out the new registry file. Sometimes write problems such as out-of-diskspace are only reported when the file is closed and not already during the write. This may have caused partial/broken registry files in some rare circumstances. Should fix #503675. 2007-12-16 17:37:11 +0000 Edward Hervey docs/: Ignore files generated by new common/* modifications Original commit message from CVS: * docs/gst/.cvsignore: * docs/libs/.cvsignore: * docs/plugins/.cvsignore: Ignore files generated by new common/* modifications 2007-12-15 15:19:32 +0000 Stefan Kost win32/common/libgstbase.def: Yes, you can also have a if you want. Original commit message from CVS: * win32/common/libgstbase.def: Yes, you can also have a if you want. 2007-12-15 14:58:59 +0000 Stefan Kost win32/common/libgstbase.def: Add new basetransform API to win export file. Original commit message from CVS: * win32/common/libgstbase.def: Add new basetransform API to win export file. 2007-12-15 14:42:25 +0000 Stefan Kost tests/check/gst/gstbin.c: Adjust the test to the refcount change two days ago. Original commit message from CVS: * tests/check/gst/gstbin.c: Adjust the test to the refcount change two days ago. 2007-12-14 21:36:50 +0000 David Schleef docs/faq/getting.xml: Fix typo. Original commit message from CVS: * docs/faq/getting.xml: Fix typo. 2007-12-14 16:52:38 +0000 Sebastian Dröge API: Add gst_base_transform_set_gap_aware() to control whether the element correctly handles GST_BUFFER_FLAG_GAP or s... Original commit message from CVS: * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstbasetransform.c: (gst_base_transform_init), (gst_base_transform_prepare_output_buffer), (gst_base_transform_set_gap_aware): * libs/gst/base/gstbasetransform.h: API: Add gst_base_transform_set_gap_aware() to control whether the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't get buffers with this flag at all. Fixes #503231. 2007-12-13 16:49:54 +0000 Stefan Kost libs/gst/base/: Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming thread. Correct log message in gstba... Original commit message from CVS: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming thread. Correct log message in gstbasesrc.c. 2007-12-13 13:59:04 +0000 Tim-Philipp Müller gst/gstutils.c: Fix possible compiler warning (#503417). Original commit message from CVS: * gst/gstutils.c: (element_find_unconnected_pad): Fix possible compiler warning (#503417). 2007-12-13 11:41:05 +0000 Tim-Philipp Müller gst/gstobject.c: Don't use GST_CAT_EVENT here for logging, it makes no sense. Original commit message from CVS: * gst/gstobject.c: (gst_object_dispatch_properties_changed): Don't use GST_CAT_EVENT here for logging, it makes no sense. 2007-12-13 10:31:33 +0000 Sebastian Dröge tools/gst-inspect.c: Add support for GstFraction properties. Original commit message from CVS: * tools/gst-inspect.c: (print_element_properties_info): Add support for GstFraction properties. 2007-12-12 23:20:00 +0000 Tim-Philipp Müller Makefile.am: Add check-exports target and run it as part of 'make check' (see #499140 and #493983). Original commit message from CVS: * Makefile.am: Add check-exports target and run it as part of 'make check' (see #499140 and #493983). * gst/gst_private.h: * gst/gstelementfactory.h: * gst/gstghostpad.c: (gst_proxy_pad_class_init): * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init), (_priv_gst_in_valgrind): * gst/gstinfo.h: (GstLogFunction): * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT), (gst_type_find_register): * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT), (gst_type_find_factory_get_type): * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT), (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key), (gst_controller_new_valist), (gst_controller_new_list), (_gst_controller_dispose), (_gst_controller_class_init): * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT): * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT), (GST_CAT_DEFAULT), (gst_object_uncontrol_properties), (gst_object_get_controller), (gst_object_set_controller), (gst_object_suggest_next_sync), (gst_object_sync_values), (gst_object_set_control_source), (gst_object_get_control_source), (gst_object_get_value_arrays), (gst_object_get_value_array), (gst_object_get_control_rate), (gst_object_set_control_rate): * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT): * libs/gst/controller/lib.c: (GST_CAT_DEFAULT): Make some functions that should be static static; rename some private symbols so that they don't get exported; add some FIXME comments so we can move accidentally exported functions into our private section in 0.11. * win32/common/libgstreamer.def: Add gst_utils_get_timestamp(). 2007-12-12 14:04:14 +0000 Stefan Kost gst/gstvalue.*: Add more missing "Since:" tags to docs. Original commit message from CVS: * gst/gstvalue.c: * gst/gstvalue.h: Add more missing "Since:" tags to docs. 2007-12-12 06:58:56 +0000 Stefan Kost gst/gstutils.c: Add mising "Since:" to docs. Original commit message from CVS: * gst/gstutils.c: Add mising "Since:" to docs. 2007-12-11 22:03:58 +0000 Stefan Kost gst/gstplugin.c: Include "glib-compat-private.h" to fix the build on system with glib < 2.10. Fixes #503131. Original commit message from CVS: * gst/gstplugin.c: Include "glib-compat-private.h" to fix the build on system with glib < 2.10. Fixes #503131. 2007-12-11 20:32:29 +0000 Stefan Kost gst/gstutils.*: Actually its not PURE as it gets the time from elsewhere. Original commit message from CVS: * gst/gstutils.c: * gst/gstutils.h: Actually its not PURE as it gets the time from elsewhere. 2007-12-11 20:23:58 +0000 Stefan Kost Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all uses as we don't have HAVE_POSIX_TIMERS in publi... Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstclock.h: * gst/gstdebugutils.c: * gst/gstinfo.c: * gst/gstutils.c: * gst/gstutils.h: * libs/gst/base/gstbasesink.c: * tools/gst-launch.c: Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all uses as we don't have HAVE_POSIX_TIMERS in public headers. Thanks Tim for spotting. 2007-12-11 15:29:26 +0000 Christian Schaller * gstreamer.spec.in: update spec file by mirroring latest Fedora one Original commit message from CVS: update spec file by mirroring latest Fedora one 2007-12-09 04:28:03 +0000 Sebastian Dröge configure.ac: Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181. Original commit message from CVS: * configure.ac: Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181. 2007-12-08 12:54:53 +0000 Tim-Philipp Müller gst/gststructure.c: Don't crash in _from_string() if the structure name is not valid (fixes #501560). Allow structur... Original commit message from CVS: * gst/gststructure.c: (gst_structure_validate_name), (gst_structure_new_valist), (gst_structure_parse_value), (gst_structure_from_string): Don't crash in _from_string() if the structure name is not valid (fixes #501560). Allow structure names to start with a number again (this apparently broke the ubuntu codec installer). * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST), (GST_START_TEST): Add unit test for the crash; update unit tests for new behaviour. 2007-12-03 11:04:09 +0000 Wim Taymans gst/gstutils.c: Clarify gst_element_get_compatible_pad() documentation. Original commit message from CVS: * gst/gstutils.c: Clarify gst_element_get_compatible_pad() documentation. Fixes #500919. 2007-12-02 20:33:49 +0000 Sebastian Dröge tests/check/Makefile.am: Don't forget to dist {gst,libs}/struct_hppa.h. Original commit message from CVS: * tests/check/Makefile.am: Don't forget to dist {gst,libs}/struct_hppa.h. 2007-11-28 13:02:30 +0000 Stefan Kost libs/gst/base/gstbasesink.c: Use new API to get elapsed time. Original commit message from CVS: * libs/gst/base/gstbasesink.c: Use new API to get elapsed time. 2007-11-28 12:52:42 +0000 Stefan Kost gst/: Fix wrong order of args in GST_CLOCK_DIFF() usage. Original commit message from CVS: * gst/gstdebugutils.c: * gst/gstinfo.c: Fix wrong order of args in GST_CLOCK_DIFF() usage. * tools/gst-launch.c: Use new API to get elapsed time. 2007-11-28 12:35:14 +0000 Stefan Kost Rename new API + ChangeLog surgery to remove old name from last entry.. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstclock.h: * gst/gstdebugutils.c: * gst/gstinfo.c: Rename new API + ChangeLog surgery to remove old name from last entry.. API: GST_GET_TIMESTAMP 2007-11-28 12:11:59 +0000 Stefan Kost Now hide the different clock stuff behind a macro. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstclock.h: * gst/gstdebugutils.c: * gst/gstinfo.c: Now hide the different clock stuff behind a macro. API: GST_GET_CURRENT_TIME 2007-11-28 11:39:35 +0000 Stefan Kost Apply the posix-timer check from #361155. Conditionally use the posix timer for logging. This gives better timestamp ... Original commit message from CVS: * configure.ac: * gst/gstdebugutils.c: * gst/gstinfo.c: Apply the posix-timer check from #361155. Conditionally use the posix timer for logging. This gives better timestamp precission, less overhead and no ntp jitter. 2007-11-28 11:11:58 +0000 Sebastian Dröge gst/gstminiobject.c: Some cleanup and checking against invalid function parameters. Original commit message from CVS: * gst/gstminiobject.c: (gst_mini_object_get_type), (gst_mini_object_class_init), (gst_mini_object_copy_default), (gst_mini_object_finalize), (gst_mini_object_copy), (gst_mini_object_is_writable), (gst_mini_object_make_writable), (gst_mini_object_replace), (param_mini_object_validate), (gst_param_spec_mini_object_get_type): Some cleanup and checking against invalid function parameters. 2007-11-28 10:58:39 +0000 Wim Taymans Start merging in the easy bits of #361155, the monotonic clock patch. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstclock.h: * tests/check/gst/gstsystemclock.c: (GST_START_TEST), (gst_systemclock_suite): Start merging in the easy bits of #361155, the monotonic clock patch. This one adds a few handy macros with docs and a testsuite. 2007-11-27 18:45:38 +0000 Wim Taymans plugins/elements/gstfilesink.c: Be a bit smarter when seeking, like, don't try to do a seek when it's not needed. Thi... Original commit message from CVS: * plugins/elements/gstfilesink.c: (gst_file_sink_event): Be a bit smarter when seeking, like, don't try to do a seek when it's not needed. This avoids errors when the file is not seekable. Fixes #499771. 2007-11-26 13:16:00 +0000 Stefan Kost Due to popular request remove preset interface again. :-(. Original commit message from CVS: * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * docs/gst/gstreamer.types.in: * gst/Makefile.am: * gst/gst.h: * gst/gstpreset.c: * gst/gstpreset.h: * plugins/elements/gstqueue.c: Due to popular request remove preset interface again. :-(. 2007-11-22 21:32:09 +0000 Stefan Kost tools/gst-inspect.c: Print 'default value' for enums and flags too. Original commit message from CVS: * tools/gst-inspect.c: Print 'default value' for enums and flags too. 2007-11-22 15:59:01 +0000 Stefan Kost docs/random/ensonic/profiling.txt: More ideas. Original commit message from CVS: * docs/random/ensonic/profiling.txt: More ideas. * gst/gstbin.c: Fix typo and give better log output. * gst/gstdebugutils.c: * gst/gstdebugutils.h: More ideas, make graphs a bit smaller and fix param name in macro. 2007-11-22 13:56:24 +0000 Stefan Kost gst/gstpreset.c: Try harder to use the return value from fgets(). Original commit message from CVS: * gst/gstpreset.c: Try harder to use the return value from fgets(). 2007-11-21 16:08:25 +0000 Stefan Kost gst/gstpreset.c: For theses two fgets we handle the error below. Original commit message from CVS: * gst/gstpreset.c: For theses two fgets we handle the error below. 2007-11-21 13:47:52 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Only send upstream events upstream. Fixes #498746. Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event): Only send upstream events upstream. Fixes #498746. 2007-11-21 13:27:50 +0000 Laurent Glayal plugins/elements/gstidentity.*: Add property to disable handoff signal emission. Fixes #498694. Original commit message from CVS: Patch by: Laurent Glayal * plugins/elements/gstidentity.c: (gst_identity_class_init), (gst_identity_init), (gst_identity_transform_ip), (gst_identity_set_property), (gst_identity_get_property): * plugins/elements/gstidentity.h: Add property to disable handoff signal emission. Fixes #498694. API: GstIdentity::signal-handoffs 2007-11-21 09:46:50 +0000 Julien Moutte docs/faq/gst-uninstalled: Yet another missing library for the uninstalled script (fft) Original commit message from CVS: 2007-11-21 Julien Moutte * docs/faq/gst-uninstalled: Yet another missing library for the uninstalled script (fft) 2007-11-21 00:24:04 +0000 Jan Schmidt docs/faq/developing.xml: Add a question about how to submit new translations. Original commit message from CVS: * docs/faq/developing.xml: Add a question about how to submit new translations. * docs/random/release: Update the contact email address for the Translation Project * plugins/elements/gstfdsrc.c: The parent_class for fdsrc is pushsrc, not GstElement. 2007-11-20 16:34:38 +0000 Stefan Kost gst/gstpreset.c: Plug a leak and fix saving. Original commit message from CVS: * gst/gstpreset.c: Plug a leak and fix saving. 2007-11-20 16:10:21 +0000 Sebastian Dröge docs/gst/gstreamer-sections.txt: Add new gst_preset__get_property_names() function to the docs to fix the build. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: Add new gst_preset__get_property_names() function to the docs to fix the build. 2007-11-20 15:46:39 +0000 Stefan Kost gst/gstpreset.*: Change _get_preset_names API to return a strv with copies. Add _get_property_names to allow implemen... Original commit message from CVS: * gst/gstpreset.c: * gst/gstpreset.h: Change _get_preset_names API to return a strv with copies. Add _get_property_names to allow implementations to filter and provide good default implementation. 2007-11-20 11:46:35 +0000 Julien Moutte docs/faq/gst-uninstalled: Add another library to the uninstalled script (sdp). Original commit message from CVS: 2007-11-20 Julien MOUTTE * docs/faq/gst-uninstalled: Add another library to the uninstalled script (sdp). 2007-11-19 15:23:44 +0000 Stefan Kost gst/gstpreset.c: More cleanups, docs, and TODOs from comments that now slowly come in. Original commit message from CVS: * gst/gstpreset.c: More cleanups, docs, and TODOs from comments that now slowly come in. 2007-11-19 14:38:49 +0000 Julien Moutte docs/faq/gst-uninstalled: Add new base libraries in the LD search path. Original commit message from CVS: 2007-11-19 Julien MOUTTE * docs/faq/gst-uninstalled: Add new base libraries in the LD search path. 2007-11-19 11:54:13 +0000 Stefan Kost gst/gstpreset.c: Fix bogus warning and make the property type specific code more similar. Original commit message from CVS: * gst/gstpreset.c: Fix bogus warning and make the property type specific code more similar. 2007-11-19 09:33:05 +0000 Julien Moutte gst/gstpreset.c: Make it build on OS X. Original commit message from CVS: 2007-11-19 Julien MOUTTE * gst/gstpreset.c: (gst_preset_default_create_preset): Make it build on OS X. 2007-11-19 08:50:04 +0000 Wim Taymans gst/gstbin.c: Change email, cleanups add some more debug and comments. Original commit message from CVS: * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_change_state_func), (gst_bin_continue_func): Change email, cleanups add some more debug and comments. Also set bus and clock on new elements when the pipeline was in error. 2007-11-18 19:30:10 +0000 Stefan Kost gst/: Fix build with --disable-gst-debug. Fixes #497859. Original commit message from CVS: * gst/gstbin.c: * gst/gstdebugutils.c: Fix build with --disable-gst-debug. Fixes #497859. Spotted by Sameer Naik. 2007-11-17 17:50:21 +0000 Stefan Kost gst/gstevent.c: Little documentation improvment. Original commit message from CVS: * gst/gstevent.c: Little documentation improvment. * gst/gstpreset.c: More TODO cleanups. Remove c++ comments. * libs/gst/controller/gstcontroller.c: Add TODO and use quark from static string. * tests/check/gst/gstmessage.c: * tests/check/gst/gststructure.c: Use quark from static string. 2007-11-17 17:24:53 +0000 Stefan Kost gst/gstpreset.c: Add some comments and TODOs. Original commit message from CVS: * gst/gstpreset.c: Add some comments and TODOs. * gst/gstpreset.h: Add padding for future changes. * plugins/elements/gstqueue.c: Implement the iface. 2007-11-17 16:43:12 +0000 Stefan Kost Add the preset interface (Fixes #396779). Do some doc cleanups along. Original commit message from CVS: * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * docs/gst/gstreamer.types.in: * gst/Makefile.am: * gst/gst.h: * gst/gstpreset.c: * gst/gstpreset.h: Add the preset interface (Fixes #396779). Do some doc cleanups along. 2007-11-16 00:23:18 +0000 Jan Schmidt configure.ac: Back to CVS Original commit message from CVS: * configure.ac: Back to CVS === release 0.10.15 === 2007-11-16 00:07:54 +0000 Jan Schmidt configure.ac: releasing 0.10.15, "October" Original commit message from CVS: === release 0.10.15 === 2007-11-15 Jan Schmidt * configure.ac: releasing 0.10.15, "October" 2007-11-15 23:31:11 +0000 Jan Schmidt * po/af.po: * po/az.po: * po/be.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/it.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/ru.po: * po/rw.po: * po/sk.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files Original commit message from CVS: Update .po files 2007-11-14 12:24:09 +0000 Jan Schmidt win32/vs6/libgstreamer.dsp: Convert line endings back to DOS. Original commit message from CVS: * win32/vs6/libgstreamer.dsp: Convert line endings back to DOS. 2007-11-13 11:30:09 +0000 Stefan Kost docs/: Update fast tagreading draft and performance profiling ideas. Original commit message from CVS: * docs/design/draft-tagreading.txt: * docs/random/ensonic/profiling.txt: Update fast tagreading draft and performance profiling ideas. 2007-11-09 14:05:02 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Don't hold the object lock when unreffing a buffer because it could cause a deadlock whe... Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer): Don't hold the object lock when unreffing a buffer because it could cause a deadlock when the finalize function wants to grab the object lock too. Fixes #495133. 2007-11-09 11:56:41 +0000 Wim Taymans gst/gstsegment.c: Also accumulate time correctly when doing reverse playback. Fixes #488201, Original commit message from CVS: * gst/gstsegment.c: (gst_segment_set_newsegment_full), (gst_segment_to_stream_time), (gst_segment_to_running_time): Also accumulate time correctly when doing reverse playback. Fixes #488201, When converting to running and stream time, use default values for start/stop/time/accum when comparing different formats. Fixes #494245. * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times): Do running/stream time in TIME format. * tests/check/gst/gstsegment.c: (GST_START_TEST), (gst_segment_suite): 2 new unit tests for segment accumulation. 2007-11-07 15:53:52 +0000 Tim-Philipp Müller gst/: Move getenv() back into gst_init, so everyone can live happily ever after. Make sure the symbol isn't exported ... Original commit message from CVS: * gst/gst.c: (init_pre): * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element), (_gst_debug_bin_to_dot_file): Move getenv() back into gst_init, so everyone can live happily ever after. Make sure the symbol isn't exported though. 2007-11-06 23:17:09 +0000 Sebastien Moutte win32/common/gstenumtypes.*: Update enum types. Original commit message from CVS: Patch by: Sebastien Moutte * win32/common/gstenumtypes.c: * win32/common/gstenumtypes.h: Update enum types. * win32/vs6/libgstreamer.dsp: Update vs6 project files (#494343). 2007-11-06 17:18:14 +0000 Wim Taymans libs/gst/base/gstbasesrc.c: Unify flushing code, remove some old unlock code that is no longer used. Original commit message from CVS: * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query), (gst_base_src_perform_seek), (gst_base_src_default_event), (gst_base_src_set_flushing), (gst_base_src_activate_push), (gst_base_src_activate_pull): Unify flushing code, remove some old unlock code that is no longer used. Take the streaming lock when seeking to avoid races. Fixes #492729. Added some more comments. 2007-11-06 15:10:36 +0000 Tim-Philipp Müller gst/gst.c: Make _gst_disable_segtrap static, it's only used in gstplugin.c and we can use gst_segtrap_is_enabled() t... Original commit message from CVS: * gst/gst.c: (_gst_disable_segtrap): Make _gst_disable_segtrap static, it's only used in gstplugin.c and we can use gst_segtrap_is_enabled() there now that we have that API. Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason to do the getenv here (and export the variable). * gst/gstdebugutils.c: (debug_dump_element), (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts): Don't use VLAs which is a C99ism and throws off MSVC (#493983). * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init), (gst_debug_log_default): Rename _gst_info_start_time to priv_gst_info_start_time so it doesn't get exported (was never in any header). * gst/gstplugin.c: (_gst_plugin_fault_handler_setup), (gst_plugin_loading_mutex): Make static mutex gst_plugin_loading_mutex really static (was never in any header), and use gst_segtrap_is_enabled() instead of _gst_disable_segtrap. * gst/gsttrace.c: (_gst_trace_default): Make local _gst_trace_default static (was never in any header). 2007-11-06 14:43:14 +0000 Ole André Vadla Ravnås win32/common/: Add more missing symbols, remove some duplicates, and sort as the 'sort' command sorts it (partially f... Original commit message from CVS: Patch by: Ole André Vadla Ravnås * win32/common/libgstbase.def: * win32/common/libgstcontroller.def: * win32/common/libgstdataprotocol.def: * win32/common/libgstnet.def: * win32/common/libgstreamer.def: Add more missing symbols, remove some duplicates, and sort as the 'sort' command sorts it (partially fixes #493983). 2007-11-06 12:28:17 +0000 Wim Taymans gst/gstelement.c: Only change the state cookie if a different state was set on the element. See #492729. Original commit message from CVS: * gst/gstelement.c: (gst_element_set_state_func): Only change the state cookie if a different state was set on the element. See #492729. 2007-11-06 11:41:32 +0000 Tim-Philipp Müller gst/gstvalue.c: Remove unused and uninitialised type variables that were still exported for some reason (they were ne... Original commit message from CVS: * gst/gstvalue.c: Remove unused and uninitialised type variables that were still exported for some reason (they were never in any header files though). 2007-11-06 10:33:22 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Don't try to report a 0 position when we don't know, return -1 and FALSE instead. This m... Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times), (gst_base_sink_do_sync), (gst_base_sink_preroll_object), (gst_base_sink_event), (gst_base_sink_get_position_last), (gst_base_sink_get_position_paused), (gst_base_sink_get_position), (gst_base_sink_change_state): Don't try to report a 0 position when we don't know, return -1 and FALSE instead. This mostly happens when we are prerolling. Make sure we can report the right position before we post the ASYNC_DONE message so that a message handler can query position without races. * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST), (async_done_handoff), (async_done_func), (send_buffer), (async_done_eos_func), (gst_sinks_suite): Add two tests for the above. 2007-11-06 10:21:01 +0000 Wim Taymans MAINTAINERS: Update with new email address. Original commit message from CVS: * MAINTAINERS: Update with new email address. * docs/design/part-TODO.txt: Add some more info about future pad-block and negotiation changes. * docs/design/part-buffering.txt: Add some ideas about buffering reporting. 2007-11-06 10:01:07 +0000 Christian Schaller * Makefile.am: * common: * gstreamer.spec.in: update SPEC file with latest changes, also add MAINTAINERS file to EXTRA_DIST, the ommission of this cause a weird RP... Original commit message from CVS: update SPEC file with latest changes, also add MAINTAINERS file to EXTRA_DIST, the ommission of this cause a weird RPM build error on FC8 2007-11-06 00:59:54 +0000 Jan Schmidt tests/check/gst/gstobject.c: Disable silly racy test that always fails on this combination of CPU and kernel. Original commit message from CVS: * tests/check/gst/gstobject.c: Disable silly racy test that always fails on this combination of CPU and kernel. 2007-11-04 10:16:38 +0000 Tim-Philipp Müller * ChangeLog: ChangeLog surgery: mention bug number Original commit message from CVS: ChangeLog surgery: mention bug number 2007-11-04 10:13:33 +0000 Murray Cumming gst/gstobject.c: Corrected the registration of the parent-set and parent-unset signals: The parameter is a GstObject,... Original commit message from CVS: Patch by: Murray Cumming * gst/gstobject.c: Corrected the registration of the parent-set and parent-unset signals: The parameter is a GstObject, not a GObject. 2007-11-02 18:35:37 +0000 Tim-Philipp Müller gst/: Move declaration of private _gst_foo_initialize() functions into our private header file where they should have... Original commit message from CVS: * gst/gst_private.h: * gst/gstbuffer.h: * gst/gstevent.h: * gst/gstformat.h: * gst/gstmessage.h: * gst/gstplugin.h: * gst/gstquery.h: * gst/gsttaglist.h: * gst/gstvalue.h: Move declaration of private _gst_foo_initialize() functions into our private header file where they should have been all along. 2007-11-02 17:43:25 +0000 Tim-Philipp Müller gtk-doc fixes; trailing-comma-in-enum fix. Original commit message from CVS: * docs/plugins/gstreamer-plugins-sections.txt: * gst/gstdebugutils.h: * gst/gstxml.h: * plugins/elements/gstqueue.c: gtk-doc fixes; trailing-comma-in-enum fix. 2007-11-02 16:27:56 +0000 Tim-Philipp Müller gst/gst.c: Clean up on deinit (not the external ones though, doesn't seem to be needed for some reason). Original commit message from CVS: * gst/gst.c: (gst_deinit): Clean up on deinit (not the external ones though, doesn't seem to be needed for some reason). 2007-11-01 23:51:55 +0000 Tim-Philipp Müller gst/gstinfo.h: Remove __declspec(dllimport) for MSVC that was copied over into core from a plugin, obviously without ... Original commit message from CVS: * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN): Remove __declspec(dllimport) for MSVC that was copied over into core from a plugin, obviously without ever having been tested (note the single underscore in _declspec in the initial commit), and that doesn't really make sense. See #492077. 2007-11-01 21:50:05 +0000 Tim-Philipp Müller g_type_class_ref() other types as well, see #349410 and #64764. Original commit message from CVS: * gst/gst.c: (init_post): * gst/gstevent.c: (_gst_event_initialize): * gst/gstquery.c: (_gst_query_initialize): * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init): g_type_class_ref() other types as well, see #349410 and #64764. * gst/gstbuffer.c: (_gst_buffer_initialize): * gst/gstmessage.c: (_gst_message_initialize): Simplify existing g_type_class_ref(). 2007-11-01 20:10:48 +0000 Tim-Philipp Müller gst/gstformat.c: g_type_class_ref() our GstFormat type to make sure we avoid the thread-unsafe bits of the GObject/GT... Original commit message from CVS: * gst/gstformat.c: (_gst_format_initialize): g_type_class_ref() our GstFormat type to make sure we avoid the thread-unsafe bits of the GObject/GType system, ie. bug #349410 and bug #64764. Should fix intermittent tee unit test failures (#474823). 2007-11-01 19:19:10 +0000 Tim-Philipp Müller tests/check/elements/tee.c: Simplify, simplify, simplify - or not. Rewrite unit test not to use gst_parse_launch(); ... Original commit message from CVS: * tests/check/elements/tee.c: (test_num_buffers): Simplify, simplify, simplify - or not. Rewrite unit test not to use gst_parse_launch(); allow N sub-streams. Increasing the number of sub-streams seems to reproduce #474823 more easily. 2007-10-31 22:01:03 +0000 Ole André Vadla Ravnås Fix a couple of missing includes for MSVC2005 and a C99 issue. Also, starting with 2.14.0, GLib won't provide a pipe(... Original commit message from CVS: Patch by: Ole André Vadla Ravnås * gst/gsttrace.c: * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new): * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send): * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new): Fix a couple of missing includes for MSVC2005 and a C99 issue. Also, starting with 2.14.0, GLib won't provide a pipe() macro any longer, so use _pipe() directly (#492077). * win32/common/dirent.c: (_treaddir): Add a couple of casts to make it build without warnings with MSVC. * win32/common/libgstreamer.def: Add some more symbols that need to be exported. 2007-10-31 18:08:21 +0000 Tim-Philipp Müller tests/examples/metadata/read-metadata.c: Use _KEEP as merge mode rather than _KEEP_ALL, so tags arriving in a second ... Original commit message from CVS: * tests/examples/metadata/read-metadata.c: (message_loop): Use _KEEP as merge mode rather than _KEEP_ALL, so tags arriving in a second or third tag message are added to the tag list as well. 2007-10-31 13:01:34 +0000 Stefan Kost libs/gst/base/gstbasesrc.c: Its "Since:" and not "@Since:". And remove an superflous cast. Original commit message from CVS: * libs/gst/base/gstbasesrc.c: Its "Since:" and not "@Since:". And remove an superflous cast. 2007-10-30 18:30:13 +0000 Wim Taymans Add a new last-buffer property that contains the last buffer used in basesink for preroll or rendering. useful for ma... Original commit message from CVS: * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init), (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer), (gst_base_sink_get_property), (gst_base_sink_render_object), (gst_base_sink_preroll_object), (gst_base_sink_queue_object_unlocked), (gst_base_sink_event), (gst_base_sink_change_state): * libs/gst/base/gstbasesink.h: Add a new last-buffer property that contains the last buffer used in basesink for preroll or rendering. useful for making snapshots. API: gst_base_sink_get_last_buffer() API: GstBaseSink::last-buffer 2007-10-29 13:46:25 +0000 Stefan Kost Improve bin graph dumping, by using the envvar to specify a path. Original commit message from CVS: * docs/gst/running.xml: * gst/gst.c: * gst/gstdebugutils.c: * gst/gstdebugutils.h: * tools/gst-launch.c: Improve bin graph dumping, by using the envvar to specify a path. Rename the envvar to GST_DEBUG_DUMP_DOT_DIR. 2007-10-29 13:10:01 +0000 Tim-Philipp Müller plugins/elements/gsttypefindelement.c: Post special error message if we can't determine the type of a stream because ... Original commit message from CVS: * plugins/elements/gsttypefindelement.c: (gst_type_find_element_handle_event), (gst_type_find_element_activate): Post special error message if we can't determine the type of a stream because it's empty. 2007-10-29 10:05:55 +0000 Stefan Kost Document new env-var. Add one log-line after dumpng a graph. Original commit message from CVS: * docs/gst/running.xml: * gst/gstdebugutils.c: Document new env-var. Add one log-line after dumpng a graph. 2007-10-26 18:39:03 +0000 Tim-Philipp Müller configure.ac: Ugly hack to put the (recently removed and non-portable, apparently) Original commit message from CVS: * configure.ac: Ugly hack to put the (recently removed and non-portable, apparently) -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using GNU ld, because without that 'make check' fails miserably on my debian stable box. Someone with more knowledge of linker intricacies and portability issues than me fix this properly please. 2007-10-25 17:20:47 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Reset last seen position after flushing so that we don't report the old position anymore. Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_event): Reset last seen position after flushing so that we don't report the old position anymore. 2007-10-25 16:19:05 +0000 Alessandro Decina gst/: Patch from Alessandro Decina adding get_type_full and get_protocols_full private vfuncs to the URIHandler inter... Original commit message from CVS: * gst/gstelementfactory.c: (gst_element_register): * gst/gsturi.h: Patch from Alessandro Decina adding get_type_full and get_protocols_full private vfuncs to the URIHandler interface to allow bindings to support creating URI handlers. Partially fixes: #339279 API: GstURIHandlerInterface::get_type_full API: GstURIHandlerInterface::get_protocols_full 2007-10-25 15:14:02 +0000 Jan Schmidt plugins/elements/gstmultiqueue.c: Make it so that pads are considered linked until a buffer is pushed and discovered ... Original commit message from CVS: * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property), (gst_multi_queue_request_new_pad), (gst_single_queue_flush), (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push): Make it so that pads are considered linked until a buffer is pushed and discovered otherwise. This avoids problems with decodebin2 hanging after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink case. Make sure we lock the multiqueue when updating the max-size properties. Fix a crash on Solaris in a debug statement in get_request_pad that passes a NULL string to GST_DEBUG. * tests/check/elements/multiqueue.c: (mq_dummypad_chain), (run_output_order_test): Fix the test to allow the first buffer on not-linked pads to come out of sequence while multiqueue discovers that they are not-linked. 2007-10-25 14:50:48 +0000 Jan Schmidt Use a custom export symbol regex for libgstcheck, as it needs to export symbols that don't match the standard GStream... Original commit message from CVS: * configure.ac: * libs/gst/check/Makefile.am: Use a custom export symbol regex for libgstcheck, as it needs to export symbols that don't match the standard GStreamer gst_* pattern, and --export-dynamic is not portable (only works on GNU ld) * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad), (gst_check_setup_sink_pad): Make sure to pass a message parameter to the fail_* macros. * tests/check/gst/gstinfo.c: (GST_START_TEST): Fix some compiler warnings. 2007-10-25 14:41:01 +0000 Tim-Philipp Müller tests/check/gst/gststructure.c: Disable test that checks that white spaces are not allowed in structure names or fiel... Original commit message from CVS: * tests/check/gst/gststructure.c: (test_to_string): Disable test that checks that white spaces are not allowed in structure names or field names, since we need to support that for now for backwards compatibility reasons. 2007-10-24 13:13:56 +0000 Tim-Philipp Müller API: add GST_TAG_ARTIST_SORTNAME Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gsttaglist.c: * gst/gsttaglist.h: API: add GST_TAG_ARTIST_SORTNAME API: add GST_TAG_ALBUM_SORTNAME API: add GST_TAG_TITLE_SORTNAME Add tag variants for sorting (#414539). 2007-10-24 13:00:58 +0000 Tim-Philipp Müller gst/gststructure.c: Also allow white space for names so we don't break backwards compatibility. Original commit message from CVS: * gst/gststructure.c: Also allow white space for names so we don't break backwards compatibility. 2007-10-22 15:37:43 +0000 Wim Taymans docs/design/: Small updates. Original commit message from CVS: * docs/design/part-TODO.txt: * docs/design/part-segments.txt: * docs/design/part-streams.txt: Small updates. 2007-10-22 11:32:14 +0000 Edgard Lima docs/gst/gstreamer-sections.txt: Fixed documentation from my previous commit (added new API add gst_value_set_structu... Original commit message from CVS: * docs/gst/gstreamer-sections.txt: Fixed documentation from my previous commit (added new API add gst_value_set_structure(), add gst_value_get_structure() and GST_VALUE_HOLDS_STRUCTURE). 2007-10-22 11:10:28 +0000 Stefan Kost gst/gstdebugutils.c: Reflow code to fix uninitialized variable warning. Original commit message from CVS: * gst/gstdebugutils.c: Reflow code to fix uninitialized variable warning. 2007-10-22 08:53:26 +0000 Edgard Lima Added GstStructure to gst_value_table and its related functions. Original commit message from CVS: * gst/gstcaps.c: (gst_caps_to_string), (gst_caps_from_string_inplace): * gst/gststructure.c: (gst_structure_get_abbrs), (gst_structure_to_string), (gst_structure_from_string): * gst/gstvalue.c: (gst_value_set_structure), (gst_value_get_structure), (gst_value_serialize_structure), (gst_value_deserialize_structure), (_gst_value_initialize): * gst/gstvalue.h: * tests/check/gst/gststructure.c: (GST_START_TEST), (gst_structure_suite): * tests/check/gst/gstvalue.c: (GST_START_TEST): Added GstStructure to gst_value_table and its related functions. Changed gst_structure_to_string to print ';' in the end. Changed gst_caps_to_string to not print ';' beteween its fields (structures) anymore and remove the lastes ';' from latest structure. Now it is possible to have nested structures. In addition, backward compatibilty is assured by accepting '\0' as end delimiter. Fixes: #487969. API: add gst_value_set_structure() API: add gst_value_get_structure() 2007-10-19 09:48:38 +0000 Tim-Philipp Müller gst/gstbus.c: When no GSource callback has been set up, tell developer to use a function that actually exists. Original commit message from CVS: * gst/gstbus.c: When no GSource callback has been set up, tell developer to use a function that actually exists. 2007-10-17 12:58:23 +0000 Stefan Kost Allow dumping pipelines as dot graphs. Fixes #456573. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/Makefile.am: * gst/gst.c: * gst/gst.h: * gst/gstdebugutils.c: * gst/gstdebugutils.h: * gst/gstinfo.c: * gst/gstinfo.h: * tools/gst-launch.c: Allow dumping pipelines as dot graphs. Fixes #456573. 2007-10-16 21:48:23 +0000 Tim-Philipp Müller gst/gststructure.c: Allow '+' as well, it can be part of media or mime types such as image/svg+xml. Original commit message from CVS: * gst/gststructure.c: Allow '+' as well, it can be part of media or mime types such as image/svg+xml. 2007-10-16 20:30:13 +0000 Tim-Philipp Müller API: add gst_bus_pop_filtered Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstbus.c: * gst/gstbus.h: API: add gst_bus_pop_filtered API: add gst_bus_timed_pop_filtered Two new functions for waiting for specific message types on the bus for a specified amount of time without iterating any main loops or main contexts. * tests/check/gst/gstbus.c: Some tests for the new functions. 2007-10-16 17:21:38 +0000 Tim-Philipp Müller docs/libs/gstreamer-libs-sections.txt: Make gtk-doc ignore stuff it should ignore. Original commit message from CVS: * docs/libs/gstreamer-libs-sections.txt: Make gtk-doc ignore stuff it should ignore. 2007-10-16 16:12:36 +0000 Tim-Philipp Müller libs/gst/check/gstcheck.*: Allow runtime selection of unit tests to run via the GST_CHECKS environment variable (test... Original commit message from CVS: * libs/gst/check/gstcheck.c: * libs/gst/check/gstcheck.h: Allow runtime selection of unit tests to run via the GST_CHECKS environment variable (test case function names, comma-separated). 2007-10-16 13:58:43 +0000 Stefan Kost Revert serialisation change and constrain structure-names after consensus on irc. Update api documentation to reflect... Original commit message from CVS: * gst/gststructure.c: * tests/check/gst/gststructure.c: Revert serialisation change and constrain structure-names after consensus on irc. Update api documentation to reflect the change. 2007-10-16 06:32:07 +0000 Stefan Kost gst/gststructure.c: Improve serialization and fix tests. Original commit message from CVS: * gst/gststructure.c: Improve serialization and fix tests. * tests/check/gst/gststructure.c: Add another test that covers why I actually did the previous structure change. 2007-10-15 14:33:16 +0000 Wim Taymans tools/gst-inspect.c: Don't crash when inspecting an element. Original commit message from CVS: * tools/gst-inspect.c: (print_element_info): Don't crash when inspecting an element. 2007-10-15 11:58:16 +0000 Tim-Philipp Müller tests/check/gst/gststructure.c: Add unit test for escaping of structure name when serialising and deserialising to/fr... Original commit message from CVS: * tests/check/gst/gststructure.c: Add unit test for escaping of structure name when serialising and deserialising to/from strings. 2007-10-15 11:36:37 +0000 Wim Taymans plugins/elements/: Fix queue negotiation. If acceptcaps unconditionally returns TRUE, upstream is tricked into thinki... Original commit message from CVS: * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one), (gst_single_queue_new): * plugins/elements/gstqueue.c: (gst_queue_init), (gst_queue_push_one): Fix queue negotiation. If acceptcaps unconditionally returns TRUE, upstream is tricked into thinking it can suggest a format downstream while downstream does not support that format. The real problem is that core calls acceptcaps when pushing a buffer with new caps, for which we do a little workaround by setting the caps on the srcpad ourselves before pushing the buffer (until this is figured out). Fixes #486758. 2007-10-15 11:19:36 +0000 Stefan Kost gst/: Add some more comments and debug output. Quote structure name to fix deserialisation of some strings. Original commit message from CVS: * gst/gststructure.c: * gst/gstvalue.c: Add some more comments and debug output. Quote structure name to fix deserialisation of some strings. 2007-10-15 07:37:37 +0000 Stefan Kost gst/gstbuffer.h: Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based on it. Fix docs for GST_BUFFE... Original commit message from CVS: * gst/gstbuffer.h: Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data. 2007-10-15 07:11:04 +0000 Stefan Kost tools/gst-inspect.c: Save approx. 400 1 byte allocs when printing. Use API to acces element details. Original commit message from CVS: * tools/gst-inspect.c: Save approx. 400 1 byte allocs when printing. Use API to acces element details. * tools/gst-run.c: Avoid a strdup. * tools/gst-xmlinspect.c: Use API to acces element details. 2007-10-15 06:52:01 +0000 Stefan Kost gst/gstinfo.c: Fix some spelling errors. Original commit message from CVS: * gst/gstinfo.c: Fix some spelling errors. 2007-10-14 15:54:02 +0000 Wim Taymans gst/gstbin.c: Correctly set the next state if all of our async children commited their state. This makes sure we can ... Original commit message from CVS: * gst/gstbin.c: (bin_handle_async_done): Correctly set the next state if all of our async children commited their state. This makes sure we can actually cancel the state change in progress. Fixes a regression in Rhythmbox when seeking. 2007-10-13 17:43:27 +0000 Tim-Philipp Müller gst/gstbin.c: Don't shadow local variable. Original commit message from CVS: * gst/gstbin.c: Don't shadow local variable. * gst/gstinfo.c: Don't shadow global function name. 2007-10-13 17:20:09 +0000 Tim-Philipp Müller gst/: Use already-interned string for the private GstPluginFeature plugin_name field. Original commit message from CVS: * gst/gstelementfactory.c: * gst/gstpluginfeature.c: * gst/gstpluginfeature.h: * gst/gstregistrybinary.c: * gst/gstregistryxml.c: * gst/gsttypefind.c: Use already-interned string for the private GstPluginFeature plugin_name field. 2007-10-10 22:43:11 +0000 Tim-Philipp Müller docs/libs/gstreamer-libs-sections.txt: Add new API to docs; fixes the build. Original commit message from CVS: * docs/libs/gstreamer-libs-sections.txt: Add new API to docs; fixes the build. 2007-10-10 15:18:44 +0000 Wim Taymans libs/gst/base/gstbasesink.*: Add function to wait for EOS, subclasses can use this to correctly wait for devices to d... Original commit message from CVS: Patch inspired by: Benoit Fouet * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos), (gst_base_sink_event): * libs/gst/base/gstbasesink.h: Add function to wait for EOS, subclasses can use this to correctly wait for devices to drain before performing the EOS logic. Fixes #485343. API: gst_base_sink_wait_eos() 2007-10-10 10:53:39 +0000 Tim-Philipp Müller gst/gstplugin.h: Cast description string constants in GST_PLUGIN_DEFINE macros to a (gchar*) to make C++ code using t... Original commit message from CVS: * gst/gstplugin.h: Cast description string constants in GST_PLUGIN_DEFINE macros to a (gchar*) to make C++ code using these macros compile without warning with g++-4.2 (see #462737). Even if slightly ugly, this seems preferable to putting the description strings into the GLib quark table or making the structure member a const gchar * and doing casts in core code that allocs and frees these strings, or requiring a cast in the C++ code. 2007-10-09 20:45:13 +0000 Tim-Philipp Müller gst/gstinfo.h: Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly to print the entire class/function signatu... Original commit message from CVS: * gst/gstinfo.h: Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly to print the entire class/function signature into the log file for C++ code. This only affects C++ code, for C code everything remains the same. 2007-10-09 16:20:59 +0000 Wim Taymans gst/gstbin.c: Work around a problem with pipelines containing (semi)loops until a proper, more complicated solution i... Original commit message from CVS: * gst/gstbin.c: (remove_from_queue): Work around a problem with pipelines containing (semi)loops until a proper, more complicated solution is ready. See #475455. 2007-10-09 14:18:39 +0000 Tim-Philipp Müller gst/: Put more strings into the GLib quark table. No need to keep a hundred-something copies of identical version str... Original commit message from CVS: * gst/gstplugin.c: * gst/gstplugin.h: * gst/gstregistrybinary.c: * gst/gstregistryxml.c: Put more strings into the GLib quark table. No need to keep a hundred-something copies of identical version strings, license strings, package name strings and package origin strings around. 2007-10-09 10:41:41 +0000 Tim-Philipp Müller docs/manual/advanced-dataaccess.xml: Don't imply that it's okay to unconditionally change buffer data or buffer metad... Original commit message from CVS: * docs/manual/advanced-dataaccess.xml: Don't imply that it's okay to unconditionally change buffer data or buffer metadata in a pad probe callback, and a bunch of other comments. Fixes #430031. 2007-10-08 20:45:07 +0000 Tim-Philipp Müller win32/common/: Update generated files. Original commit message from CVS: * win32/common/gstenumtypes.c: * win32/common/gstenumtypes.h: * win32/common/gstversion.h: Update generated files. 2007-10-08 17:59:35 +0000 Tim-Philipp Müller docs/manual/advanced-autoplugging.xml: Prefix section with broken code with a warning (see #342432). Original commit message from CVS: * docs/manual/advanced-autoplugging.xml: Prefix section with broken code with a warning (see #342432). 2007-10-08 17:26:09 +0000 Tim-Philipp Müller docs/manual/: Call g_thread_init() before g_option_context_new() to avoid warnings. Spotted by Ritesh Khadgaray. Fixe... Original commit message from CVS: * docs/manual/appendix-integration.xml: * docs/manual/basics-init.xml: Call g_thread_init() before g_option_context_new() to avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225. 2007-10-08 17:05:06 +0000 Wim Taymans libs/gst/base/gstbasesink.c: When we received EOS and are waiting for when to post the EOS message, our state is prer... Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush), (gst_base_sink_queue_object_unlocked), (gst_base_sink_queue_object), (gst_base_sink_event), (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked): When we received EOS and are waiting for when to post the EOS message, our state is prerolled and we should not return ASYNC. Reorganize some code paths to implement this behavior. * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST), (gst_sinks_suite): Add unit test to verify above EOS fix. 2007-10-08 10:28:18 +0000 Wim Taymans plugins/elements/gsttypefindelement.c: Move detecting the input caps of the sinkpad to the setcaps function. Original commit message from CVS: * plugins/elements/gsttypefindelement.c: (gst_type_find_element_have_type), (gst_type_find_element_init), (gst_type_find_element_setcaps), (gst_type_find_element_chain): Move detecting the input caps of the sinkpad to the setcaps function. This allows us to update the output caps when we receive new input caps instead of always using the first detected caps. 2007-10-08 10:21:15 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Don't try to preroll non-async elements after a flush. Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_event), (gst_base_sink_get_position): Don't try to preroll non-async elements after a flush. Subtract latency form clock times when reporting position. 2007-10-05 14:44:18 +0000 Wim Taymans gst/: Small comment and documentation update. Original commit message from CVS: * gst/gstpad.c: (gst_pad_pause_task): * gst/gstutils.c: Small comment and documentation update. 2007-10-05 14:40:06 +0000 Wim Taymans libs/gst/base/gstbasesrc.c: Rework the locking of basesrc in a similar fashion to basesink. We basically have one loc... Original commit message from CVS: * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing), (gst_base_src_set_live), (gst_base_src_is_live), (gst_base_src_query_latency), (gst_base_src_perform_seek), (gst_base_src_default_event), (gst_base_src_wait), (gst_base_src_do_sync), (gst_base_src_get_range), (gst_base_src_pad_get_range), (gst_base_src_loop), (gst_base_src_unlock), (gst_base_src_unlock_stop), (gst_base_src_set_flushing), (gst_base_src_set_playing), (gst_base_src_activate_push), (gst_base_src_activate_pull), (gst_base_src_change_state): Rework the locking of basesrc in a similar fashion to basesink. We basically have one lock (LIVE_LOCK) protecting the dataflow. This allows us to handle live sources and semi live ones much better. Simplify flushing. Fix unlocking when seeking, shutting down and pausing in live sources. 2007-10-05 11:52:39 +0000 Wim Taymans tests/check/pipelines/simple-launch-lines.c: Fix compilation again. Original commit message from CVS: * tests/check/pipelines/simple-launch-lines.c: (run_pipeline): Fix compilation again. 2007-10-03 15:27:24 +0000 Stefan Kost gst/gstelement.c: Use meaningful categories for the logs to clean the default one. Original commit message from CVS: * gst/gstelement.c: Use meaningful categories for the logs to clean the default one. 2007-10-03 15:05:30 +0000 Stefan Kost tests/check/pipelines/cleanup.c: Print message name and not just number. Original commit message from CVS: * tests/check/pipelines/cleanup.c: Print message name and not just number. 2007-10-03 15:02:43 +0000 Stefan Kost docs/design/draft-tagreading.txt: Add some more thoughts. Original commit message from CVS: * docs/design/draft-tagreading.txt: Add some more thoughts. 2007-10-03 14:51:03 +0000 Stefan Kost tests/check/pipelines/simple-launch-lines.c: Print message name and not just number. Original commit message from CVS: * tests/check/pipelines/simple-launch-lines.c: Print message name and not just number. 2007-10-03 12:05:17 +0000 Stefan Kost libs/gst/base/gsttypefindhelper.c: Speedup typefinding. This is work in progress (see #459862). Original commit message from CVS: * libs/gst/base/gsttypefindhelper.c: Speedup typefinding. This is work in progress (see #459862). 2007-10-03 11:36:14 +0000 Stefan Kost gst/gstplugin.c: Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'. Original commit message from CVS: * gst/gstplugin.c: Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'. Spotted by Josep Torra Valles . 2007-10-03 11:16:48 +0000 Tim-Philipp Müller gst/gstclock.h: Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags field has moved to GstObject. Original commit message from CVS: * gst/gstclock.h: Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags field has moved to GstObject. 2007-10-02 15:20:58 +0000 Wim Taymans libs/gst/base/gstbasesrc.c: Call unlock for live sources so that they can't get stuck in _create and produce a buffer... Original commit message from CVS: * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync), (gst_base_src_get_range), (gst_base_src_change_state): Call unlock for live sources so that they can't get stuck in _create and produce a buffer before they are set back to PLAYING. 2007-10-02 09:21:48 +0000 Edward Hervey plugins/elements/gstqueue.c: Comment the segment-related code... in the PROPER function. Original commit message from CVS: * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue), (gst_queue_locked_dequeue): Comment the segment-related code... in the PROPER function. See #482147 and my commit from yesterday. 2007-10-01 17:59:21 +0000 Wim Taymans libs/gst/base/gstbasesrc.c: Also initialize the counter that calculates the first timestamp on a buffer correctly for... Original commit message from CVS: * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state): Also initialize the counter that calculates the first timestamp on a buffer correctly for non-live sources. 2007-10-01 12:31:28 +0000 Edward Hervey plugins/elements/gstqueue.c: Disable code that's breaking the current-time-level reporting. Original commit message from CVS: * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue): Disable code that's breaking the current-time-level reporting. See #482147 2007-09-30 18:16:34 +0000 Sebastian Dröge docs/gst/gstreamer-sections.txt: Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section as they should... Original commit message from CVS: * docs/gst/gstreamer-sections.txt: Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section as they shouldn't show up. Fixes the docs build. 2007-09-29 11:46:31 +0000 Sébastien Moutte gst/gstinfo.h: Add an explicit variable importation needed on VS6 (only for MSC_VER) Original commit message from CVS: * gst/gstinfo.h: Add an explicit variable importation needed on VS6 (only for MSC_VER) Define M_PI which is used in files which are including gstinfo.h. VS6 includes doesn't define it. * win32/common/libgstbase.def: * win32/common/libgstcontroller.def: * win32/common/libgstreamer.def: Add new exported functions and variables. * win32/vs6/libgstcontroller.dsp: * win32/vs6/libgstreamer.dsp: Update the list of files to build. 2007-09-28 10:22:40 +0000 Felipe Contreras plugins/elements/gstqueue.c: Improve debugging. Fixes #480858. Original commit message from CVS: Patch by: Felipe Contreras * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer), (gst_queue_locked_dequeue), (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push): Improve debugging. Fixes #480858. 2007-09-28 10:15:23 +0000 Felipe Contreras plugins/elements/gstqueue.c: First patch of code cleanups, use the macros and right arguments in the macros to signal... Original commit message from CVS: Patch by: Felipe Contreras * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event): First patch of code cleanups, use the macros and right arguments in the macros to signal and lock the queue. See #480858. 2007-09-26 18:06:42 +0000 Wim Taymans gst/gstbus.c: Improve debugging when dealing with _poll(). Original commit message from CVS: * gst/gstbus.c: (poll_func): Improve debugging when dealing with _poll(). 2007-09-26 18:04:42 +0000 Tim-Philipp Müller gst/gstregistryxml.c: Fix memory leak I introduced a few days ago. Original commit message from CVS: * gst/gstregistryxml.c: Fix memory leak I introduced a few days ago. 2007-09-26 17:00:22 +0000 Michael Smith gst/gstbuffer.c: Make it once again possible to free GstBuffers in the default build. Original commit message from CVS: * gst/gstbuffer.c: (gst_buffer_finalize): Make it once again possible to free GstBuffers in the default build. The poisoning scribbles on parts of the miniobject we need in order to free it. Fixes #480341 2007-09-25 18:35:39 +0000 Tim-Philipp Müller API: add GST_TAG_COMPOSER, fixes #459809. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gsttaglist.c: * gst/gsttaglist.h: API: add GST_TAG_COMPOSER, fixes #459809. 2007-09-24 17:41:25 +0000 Sebastian Dröge gst/gstplugin.*: Add the 3-clause BSD license and the MIT/X11 license to the license list. Fixes #479784. Original commit message from CVS: * gst/gstplugin.c: * gst/gstplugin.h: Add the 3-clause BSD license and the MIT/X11 license to the license list. Fixes #479784. 2007-09-24 17:22:21 +0000 Tim-Philipp Müller docs/faq/getting.xml: Add Q+A about different GStreamer versions (#364056). Original commit message from CVS: * docs/faq/getting.xml: Add Q+A about different GStreamer versions (#364056). 2007-09-24 12:46:17 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Return correct gboolean from query function. Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency), (gst_base_sink_event), (gst_base_sink_change_state): Return correct gboolean from query function. 2007-09-24 12:29:23 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Simplify latency query. Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency), (gst_base_sink_event), (gst_base_sink_query), (gst_base_sink_change_state): Simplify latency query. When not synchronizing, we can report latency without querying the peer element. 2007-09-24 11:46:35 +0000 Wim Taymans gst/: Fix small typos in the docs. Original commit message from CVS: * gst/gstobject.h: * gst/gstvalue.c: Fix small typos in the docs. 2007-09-24 11:22:26 +0000 Wim Taymans docs/design/: Documentation updates and typo fixes. Original commit message from CVS: * docs/design/draft-latency.txt: * docs/design/draft-push-pull.txt: * docs/design/draft-tagreading.txt: * docs/design/part-MT-refcounting.txt: * docs/design/part-activation.txt: * docs/design/part-block.txt: * docs/design/part-element-source.txt: * docs/design/part-events.txt: * docs/design/part-gstbin.txt: * docs/design/part-gstelement.txt: * docs/design/part-gstobject.txt: * docs/design/part-gstpipeline.txt: * docs/design/part-messages.txt: * docs/design/part-preroll.txt: * docs/design/part-push-pull.txt: * docs/design/part-qos.txt: * docs/design/part-query.txt: * docs/design/part-scheduling.txt: * docs/design/part-seeking.txt: * docs/design/part-segments.txt: * docs/design/part-states.txt: Documentation updates and typo fixes. 2007-09-23 10:16:49 +0000 Tim-Philipp Müller plugins/elements/gstfakesink.c: Add some debug text to error message to indicate that we errored out on request. Original commit message from CVS: * plugins/elements/gstfakesink.c: Add some debug text to error message to indicate that we errored out on request. * tools/gst-launch.c: When the state change to PLAYING fails, check for an error message on the bus and print it. 2007-09-22 17:22:10 +0000 Thomas Vander Stichele * po/cs.po: * po/hu.po: * po/uk.po: updated translations Original commit message from CVS: updated translations 2007-09-22 17:18:52 +0000 Thomas Vander Stichele po/: Added Spanish translation. Original commit message from CVS: translated by: Jorge González González * po/LINGUAS: * po/es.po: Added Spanish translation. 2007-09-21 14:37:38 +0000 Wim Taymans plugins/elements/gstqueue.c: Fix printf arguments. Original commit message from CVS: * plugins/elements/gstqueue.c: (gst_queue_push_one): Fix printf arguments. 2007-09-20 10:36:23 +0000 Stefan Kost tests/check/generic/states.c: Improved state change unit test. Original commit message from CVS: * tests/check/generic/states.c: Improved state change unit test. 2007-09-20 07:42:35 +0000 Stefan Kost gst/gstbin.h: Move priv to the right place. Original commit message from CVS: * gst/gstbin.h: Move priv to the right place. * gst/gstsystemclock.c: Add FIXME: and improve log. * tests/check/Makefile.am: * tests/examples/manual/Makefile.am: Work with all types of registries. 2007-09-19 20:39:52 +0000 Wim Taymans libs/gst/base/gstbasesrc.c: Don't unref the event after pushing it. Fixes #478401. Original commit message from CVS: * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event): Don't unref the event after pushing it. Fixes #478401. 2007-09-19 18:07:18 +0000 Stefan Kost Ignore registries in any format. Original commit message from CVS: * .cvsignore: * tests/examples/manual/.cvsignore: Ignore registries in any format. 2007-09-19 13:28:40 +0000 Tim-Philipp Müller gst/glib-compat-private.h: Add compatibility macro for g_intern_string() for Original commit message from CVS: * gst/glib-compat-private.h: Add compatibility macro for g_intern_string() for GLib-2.8 (any reason we can't just bump the requirement to at least 2.10?) * gst/gstpadtemplate.h: * gst/gstelementfactory.c: * gst/gstregistryxml.c: * gst/gstregistrybinary.c: Make GstStaticPadTemplate's templ_name field a const gchar * and fix up the internal code accordingly. This shouldn't be a problem, since there is no reason external code could ever assume the string in such a structure is dynamically allocated unless it did that itself; the use of g_strdup() is private to element factories. The new code also saves some memory by putting pad template name strings into the GLib quark table instead of allocating them dynamically. Declaring this field constant fixes warnings with g++-4.2 when using the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092). 2007-09-19 12:31:16 +0000 Stefan Kost gst/gstelementfactory.c: Release static caps. Fixes #475723. Original commit message from CVS: * gst/gstelementfactory.c: Release static caps. Fixes #475723. 2007-09-18 22:13:57 +0000 Tim-Philipp Müller gst/gstinfo.*: Make some internal API take const gchar * instead of just gchar * to avoid compiler warnings with g++-... Original commit message from CVS: * gst/gstinfo.c: * gst/gstinfo.h: Make some internal API take const gchar * instead of just gchar * to avoid compiler warnings with g++-4.2.2 when passing string constants (partially fixes #478092). 2007-09-17 20:55:23 +0000 Wim Taymans gst/gstbin.c: A latency query fails when one of the sinks fail. Original commit message from CVS: * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query): A latency query fails when one of the sinks fail. * gst/gstelement.c: (gst_element_set_base_time): Improve debugging. 2007-09-17 17:17:29 +0000 Jan Schmidt Fix minor compilation warnings shown with Forte. Original commit message from CVS: * gst/gstbin.c: (gst_bin_continue_func): * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync): * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full): * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop): Fix minor compilation warnings shown with Forte. 2007-09-17 06:01:53 +0000 Wim Taymans plugins/elements/gstqueue.c: Measure queue level based on the diff between head and tail timestamps even when pushing... Original commit message from CVS: * plugins/elements/gstqueue.c: (apply_buffer), (gst_queue_locked_enqueue), (gst_queue_locked_dequeue): Measure queue level based on the diff between head and tail timestamps even when pushing the first buffer. 2007-09-14 23:06:31 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Sinks that don't preroll can always be queried for the latency. Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush), (gst_base_sink_event), (gst_base_sink_change_state): Sinks that don't preroll can always be queried for the latency. Don't post ASYNC start when we are not async. 2007-09-14 20:24:22 +0000 Wim Taymans plugins/elements/gstqueue.*: When downstream returns UNEXPECTED from pushing a buffer, don't try to push more buffers... Original commit message from CVS: * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue), (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_push_one), (gst_queue_handle_src_query), (gst_queue_sink_activate_push), (gst_queue_src_activate_push): * plugins/elements/gstqueue.h: When downstream returns UNEXPECTED from pushing a buffer, don't try to push more buffers but allow pushing of EOS and NEWSEGMENT. Add some more debug info here and there. Fixes #476514. 2007-09-14 15:52:27 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Latency query is allowed after we are prerolled. Introduce a new flag for this and stop ... Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_init), (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state), (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll), (gst_base_sink_set_flushing), (gst_base_sink_query), (gst_base_sink_change_state): Latency query is allowed after we are prerolled. Introduce a new flag for this and stop abusing other variables. 2007-09-13 23:53:48 +0000 Wim Taymans libs/gst/base/gstbasesrc.c: Push OOB events downstream when we get them in send_event. This allows the application to... Original commit message from CVS: * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event): Push OOB events downstream when we get them in send_event. This allows the application to insert events in the pipeline. Add some more comments. 2007-09-13 21:27:33 +0000 Wim Taymans gst/: Move latency query from GstPipeline to GstBin so that we can also use it when async-handling is enabled on bins. Original commit message from CVS: * gst/gstbin.c: (gst_bin_class_init), (clear_queue), (do_bin_latency), (gst_bin_change_state_func): * gst/gstpipeline.c: (gst_pipeline_change_state): Move latency query from GstPipeline to GstBin so that we can also use it when async-handling is enabled on bins. 2007-09-13 21:19:08 +0000 Wim Taymans libs/gst/base/gstbasesrc.c: Update docs. Original commit message from CVS: * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency), (gst_base_src_do_sync), (gst_base_src_change_state): Update docs. Clean up the timestamping and syncing code for pseudo live sources. 2007-09-13 19:27:53 +0000 Steve Fink docs/manual/appendix-checklist.xml: Mention less -R switch in the section about debug output (#474055). Original commit message from CVS: Patch by: Steve Fink * docs/manual/appendix-checklist.xml: Mention less -R switch in the section about debug output (#474055). 2007-09-13 17:15:38 +0000 Wim Taymans plugins/elements/gstqueue.c: Queue can latency to the pipeline up to the configured max size in time. Original commit message from CVS: * plugins/elements/gstqueue.c: (gst_queue_handle_src_query): Queue can latency to the pipeline up to the configured max size in time. Report this fact in the latency query. 2007-09-13 09:08:23 +0000 Sebastien Moutte libs/gst/controller/: Use gst_guint64_to_gdouble() when converting from a uint64 or Original commit message from CVS: Patch by: Sebastien Moutte * libs/gst/controller/gstinterpolation.c: * libs/gst/controller/gstlfocontrolsource.c: Use gst_guint64_to_gdouble() when converting from a uint64 or GstClockTime to double to fix the build on win32. Fixes #474371. 2007-09-13 08:42:55 +0000 Sebastian Dröge gst/gstbuffer.c: Implement poisoning for GstBuffer if --enable-poisoning is specified. Original commit message from CVS: * gst/gstbuffer.c: (gst_buffer_finalize): Implement poisoning for GstBuffer if --enable-poisoning is specified. When finalizing a buffer the complete struct is filled with 0xff, thus making a use of the buffer after the final unref impossible. 2007-09-13 08:36:37 +0000 Sebastian Dröge tests/check/libs/controller.c: Use fail_unless_equals_int(a, b) instead of fail_unless_equals (a == b) to get better ... Original commit message from CVS: * tests/check/libs/controller.c: (GST_START_TEST): Use fail_unless_equals_int(a, b) instead of fail_unless_equals (a == b) to get better output on failures. 2007-09-12 16:35:48 +0000 Tim-Philipp Müller tests/check/gst/gsturi.c: Also check for the other file URI variant on win32. Original commit message from CVS: * tests/check/gst/gsturi.c: Also check for the other file URI variant on win32. 2007-09-12 12:36:51 +0000 Tim-Philipp Müller gst/gsturi.c: If there's no hostname, we want to return 'c:/foo/bar.txt' and not '/c:/foo/bar.txt' on Windows. Fixes ... Original commit message from CVS: * gst/gsturi.c: (gst_uri_get_location): If there's no hostname, we want to return 'c:/foo/bar.txt' and not '/c:/foo/bar.txt' on Windows. Fixes #469402. * tests/check/gst/gsturi.c: Unit test for the above and a few more things. 2007-09-11 23:27:42 +0000 Wim Taymans docs/design/part-live-source.txt: Add docs on how live sources should timestamp. Original commit message from CVS: * docs/design/part-live-source.txt: Add docs on how live sources should timestamp. * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync): Add some more debug info. For subclasses that are live and like to sync, add aditional startup latency to sync time and timestamps so that we timstamp according to the design doc. 2007-09-11 18:59:09 +0000 Tim-Philipp Müller gst/gstbuffer.c: Also do a g_type_class_ref() for the subbuffer type in the init function. Original commit message from CVS: * gst/gstbuffer.c: Also do a g_type_class_ref() for the subbuffer type in the init function. 2007-09-11 15:55:50 +0000 Wim Taymans Add function to perform a query on the peer of a pad. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstpad.c: (gst_pad_peer_query): * gst/gstpad.h: Add function to perform a query on the peer of a pad. API: gst_pad_peer_query() 2007-09-11 13:43:53 +0000 Stefan Kost tests/check/gst/gstsystemclock.c: Cleanup the test a little (use gst-logging and not g_message). Improve test to chec... Original commit message from CVS: * tests/check/gst/gstsystemclock.c: Cleanup the test a little (use gst-logging and not g_message). Improve test to check if a wait reached the target. 2007-09-11 10:33:14 +0000 Tim-Philipp Müller docs/libs/gstreamer-libs-sections.txt: Add new API to docs and fix the build. Original commit message from CVS: * docs/libs/gstreamer-libs-sections.txt: Add new API to docs and fix the build. 2007-09-10 16:50:11 +0000 Wim Taymans libs/gst/base/gstbasesrc.*: Add property to make the basesrc timestamp buffers based on the current running time. Original commit message from CVS: * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init), (gst_base_src_init), (gst_base_src_set_do_timestamp), (gst_base_src_get_do_timestamp), (gst_base_src_set_property), (gst_base_src_get_property), (gst_base_src_do_sync): * libs/gst/base/gstbasesrc.h: Add property to make the basesrc timestamp buffers based on the current running time. API: GstBaseSrc::do-timestamp API: gst_base_src_set_do_timestamp() API: gst_base_src_get_do_timestamp() 2007-09-08 20:25:57 +0000 Tim-Philipp Müller docs/random/release: Really make sure translations are up-to-date before a release (#465010). Original commit message from CVS: * docs/random/release: Really make sure translations are up-to-date before a release (#465010). 2007-09-07 14:46:52 +0000 Christian Schaller * gstreamer.spec.in: add latest header files Original commit message from CVS: add latest header files 2007-09-07 04:50:23 +0000 Sebastian Dröge gst/gstregistrybinary.c: Always destroy the timer, also in error cases. Original commit message from CVS: * gst/gstregistrybinary.c: (gst_registry_binary_read_cache): Always destroy the timer, also in error cases. 2007-09-05 22:29:58 +0000 Wim Taymans docs/manual/highlevel-xml.xml: Fix XML example code. Fixes #472714. Original commit message from CVS: * docs/manual/highlevel-xml.xml: Fix XML example code. Fixes #472714. 2007-09-05 22:12:42 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Protect eos and have_preroll with the OBJECT lock so we don't need to take the PREROLL l... Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush), (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll), (gst_base_sink_query): Protect eos and have_preroll with the OBJECT lock so we don't need to take the PREROLL lock when querying the latency. Fixes #473846. 2007-09-05 13:24:31 +0000 Stefan Kost gst/gstelement.c: Give some log-messages a category. Original commit message from CVS: * gst/gstelement.c: Give some log-messages a category. 2007-09-05 01:00:50 +0000 Wim Taymans gst/gststructure.c: Fix fraction list fixation code. Take the fraction with the smallest difference with the target i... Original commit message from CVS: * gst/gststructure.c: (gst_structure_fixate_field_nearest_fraction): Fix fraction list fixation code. Take the fraction with the smallest difference with the target instead of the first one in the list. * tests/check/gst/gststructure.c: (GST_START_TEST), (gst_structure_suite): Added test to verify correct fraction list fixation behaviour. 2007-09-02 20:30:16 +0000 Tim-Philipp Müller win32/common/libgstreamer.def: Export gst_bus_add_signal_watch too. Original commit message from CVS: * win32/common/libgstreamer.def: Export gst_bus_add_signal_watch too. 2007-08-30 17:50:54 +0000 Wim Taymans docs/libs/gstreamer-libs-sections.txt: Add new methods to docs. Original commit message from CVS: * docs/libs/gstreamer-libs-sections.txt: Add new methods to docs. * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init), (gst_base_sink_init), (gst_base_sink_set_ts_offset), (gst_base_sink_get_ts_offset), (gst_base_sink_set_property), (gst_base_sink_get_property), (gst_base_sink_wait_clock): * libs/gst/base/gstbasesink.h: Add ts-offset property to fine-tune the synchronisation. API: GstBaseSink::ts-offset property API: gst_base_sink_set_ts_offset() API: gst_base_sink_get_ts_offset() 2007-08-29 20:57:58 +0000 Wim Taymans libs/gst/base/gstbasesink.*: Add async property to instruct the sink never to inform the parent about Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init), (gst_base_sink_init), (gst_base_sink_set_sync), (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness), (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled), (gst_base_sink_is_async_enabled), (gst_base_sink_set_property), (gst_base_sink_get_property), (gst_base_sink_change_state): * libs/gst/base/gstbasesink.h: Add async property to instruct the sink never to inform the parent about ASYNC state changes, update docs. Check argument with g_return_* for the public functions. API: GstBaseSink::async property API: gst_base_sink_set_async_enabled() API: gst_base_sink_is_async_enabled() 2007-08-28 15:02:19 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Improve debugging. Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_loop): Improve debugging. * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency), (gst_base_src_default_query), (gst_base_src_wait), (gst_base_src_do_sync), (gst_base_src_change_state): Rearrange some code so that we can add support for measuring the startup latency. 2007-08-27 20:00:39 +0000 Stefan Kost docs/random/ensonic/dynlink.txt: More thoughs on this. Original commit message from CVS: * docs/random/ensonic/dynlink.txt: More thoughs on this. * plugins/elements/gstcapsfilter.c: Add bugzilla ticket number to FIXME comment. 2007-08-26 18:30:55 +0000 Thomas Vander Stichele * MAINTAINERS: remove temp files again Original commit message from CVS: remove temp files again 2007-08-26 16:42:36 +0000 Thomas Vander Stichele * MAINTAINERS: test commit Original commit message from CVS: test commit 2007-08-26 15:58:18 +0000 Thomas Vander Stichele * AUTHORS: * MAINTAINERS: test commit Original commit message from CVS: test commit 2007-08-24 21:53:39 +0000 Wim Taymans docs/design/: Update some docs. Original commit message from CVS: * docs/design/part-TODO.txt: * docs/design/part-block.txt: Update some docs. 2007-08-24 16:39:06 +0000 Jan Schmidt gst/Makefile.am: Revert patch which uses $(gst_headers) instead of $^ because it breaks make dist. Original commit message from CVS: * gst/Makefile.am: Revert patch which uses $(gst_headers) instead of $^ because it breaks make dist. 2007-08-24 14:55:46 +0000 Jan Schmidt tests/check/gst/gstbin.c: Fix leaks in the new unit test. Original commit message from CVS: * tests/check/gst/gstbin.c: (GST_START_TEST): Fix leaks in the new unit test. 2007-08-23 20:41:30 +0000 Tim-Philipp Müller gst/gst.c: Don't use GST_INFO before the debug system is actually initialised (shouldn't do any harm, but won't print... Original commit message from CVS: * gst/gst.c: Don't use GST_INFO before the debug system is actually initialised (shouldn't do any harm, but won't print anything either, so we can just as well remove it). * gst/gstinfo.h: GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for compilers that don't support variadic macros (such as MSVC), should check for debug_level <= __gst_debug_min as well, since that's the function called from all the level-specific GST_CAT_*_LOG_OBJECT() inline helper functions. Should improve performance a bit, but also makes sure uses of GST_INFO et.al are ignored if the debugging system isn't initialised yet (instead of printing an assertion failure). 2007-08-23 07:10:33 +0000 David Nečas gst/Makefile.am: Replace some non portable makefile constructs. Original commit message from CVS: patch by: David Nečas * gst/Makefile.am: Replace some non portable makefile constructs. 2007-08-21 14:10:09 +0000 Stefan Kost common/gtk-doc-plugins.mak: Grrrrr. Don't remove the types file on make clean. Original commit message from CVS: * common/gtk-doc-plugins.mak: Grrrrr. Don't remove the types file on make clean. 2007-08-20 17:51:35 +0000 Wim Taymans tools/gst-launch.1.in: Add colorspace to example pipeline. Fixes #458274. Original commit message from CVS: * tools/gst-launch.1.in: Add colorspace to example pipeline. Fixes #458274. 2007-08-20 12:31:54 +0000 Tim-Philipp Müller docs/random/release: The release manager should run 'make download-po' before making a release to make sure translati... Original commit message from CVS: * docs/random/release: The release manager should run 'make download-po' before making a release to make sure translations are up-to-date. * po/LINGUAS: * po/be.po: * po/pl.po: * po/rw.po: Add some new translations. 2007-08-17 13:48:24 +0000 Wim Taymans tools/gst-launch.c: Don´t try to do any state management when a live pipeline posts buffering messages. Original commit message from CVS: * tools/gst-launch.c: (event_loop), (main): Don´t try to do any state management when a live pipeline posts buffering messages. Also make the buffering string translatable. 2007-08-16 11:04:40 +0000 Wim Taymans gst/gstbin.c: Improve debugging. Original commit message from CVS: * gst/gstbin.c: (is_eos), (gst_bin_add_func), (bin_handle_async_start), (gst_bin_handle_message_func): Improve debugging. When adding elements, insert messages into the bus of the newly added element and make sure the element is the source of the message. This allows the parent bin to intercept the message and do the right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE messages to the app (which is not allowed). Update some docs. * tests/check/gst/gstghostpad.c: (GST_START_TEST): Fix testsuite so that is does not work around messages that should not have been posted in the first place. 2007-08-16 10:27:16 +0000 Wim Taymans gst/gstbin.c: Fix annoying bug in the sorted iterator where a sink that is not really a sink (when it has downstream ... Original commit message from CVS: * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue), (update_degree), (gst_bin_sort_iterator_next): Fix annoying bug in the sorted iterator where a sink that is not really a sink (when it has downstream links) screwed up the iterator. * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite): Unit test to verify the fix. 2007-08-16 10:07:48 +0000 Wim Taymans gst/gstmessage.h: Add some more docs for the messages. Original commit message from CVS: * gst/gstmessage.h: Add some more docs for the messages. * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state), (gst_base_sink_query): Add some more debugging. * tools/gst-launch.c: (event_loop): When interrupting, don't try to set pipeline to PAUSED twice. 2007-08-14 14:10:36 +0000 Wim Taymans gst/gstbin.c: Move ASYNC_START message posting to where it belongs, similar to async_done. Original commit message from CVS: * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state), (bin_handle_async_start), (gst_bin_handle_message_func): Move ASYNC_START message posting to where it belongs, similar to async_done. Don't post ASYNC_START when we are in error. Post ASYNC_START when we added an async element to a bin. 2007-08-14 13:43:44 +0000 Julien Moutte gst/gstindex.c: Fix index entry generation from vargs. Fixes #466595. Original commit message from CVS: 2007-08-14 Julien MOUTTE * gst/gstindex.c: (gst_index_add_association): Fix index entry generation from vargs. Fixes #466595. 2007-08-14 13:37:16 +0000 Wim Taymans gst/gstbin.c: Always change the state of a NO_PREROLL element even if it has ASYNC elements inside (in case of a bin). Original commit message from CVS: * gst/gstbin.c: (gst_bin_element_set_state): Always change the state of a NO_PREROLL element even if it has ASYNC elements inside (in case of a bin). * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite): Unit test for this case. 2007-08-13 13:33:07 +0000 Stefan Kost Add more missing docs. Original commit message from CVS: * libs/gst/check/gstbufferstraw.c: * libs/gst/check/gstcheck.h: * libs/gst/controller/gstcontroller.c: * libs/gst/controller/gstcontrolsource.h: * libs/gst/controller/gstlfocontrolsource.h: * plugins/elements/gstcapsfilter.h: * plugins/elements/gstfdsink.h: * plugins/elements/gstfdsrc.h: Add more missing docs. 2007-08-12 16:44:07 +0000 Wim Taymans gst/gststructure.c: Add Since tag to docs. Original commit message from CVS: * gst/gststructure.c: Add Since tag to docs. 2007-08-12 16:40:59 +0000 Wim Taymans Add function to get uint from a structure. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gststructure.c: (gst_structure_get_uint): * gst/gststructure.h: Add function to get uint from a structure. API: gst_structure_get_uint() 2007-08-12 16:38:40 +0000 Wim Taymans gst/gstcaps.c: Fix proper check for simple caps. Original commit message from CVS: * gst/gstcaps.c: (gst_caps_set_simple_valist), (gst_caps_intersect): Fix proper check for simple caps. 2007-08-10 17:35:30 +0000 Stefan Kost docs/: Remove cruft and do some cleanups. Original commit message from CVS: * docs/gst/Makefile.am: * docs/libs/Makefile.am: Remove cruft and do some cleanups. * docs/gst/gstreamer-docs.sgml: * docs/libs/gstreamer-libs-docs.sgml: Prepare for comming gtkdoc features (rebase against online docs). 2007-08-10 14:52:41 +0000 Michael Smith docs/gst/gstreamer-sections.txt: Add gst_registry_add_path to docs. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: Add gst_registry_add_path to docs. Also fix formatting of an older changelog entry 2007-08-10 14:40:26 +0000 Michael Smith gst/gstregistry.h: Add gst_registry_add_path, which was missing from this header. Original commit message from CVS: * gst/gstregistry.h: Add gst_registry_add_path, which was missing from this header. 2007-08-10 10:30:22 +0000 Tim-Philipp Müller libs/gst/controller/gstlfocontrolsource.c: Printf format fix. Original commit message from CVS: * libs/gst/controller/gstlfocontrolsource.c: Printf format fix. 2007-08-09 21:50:19 +0000 Philippe Kalaf libs/gst/base/gstbasesink.c: Don't send an async_start message during downwards state change if target state is less ... Original commit message from CVS: * libs/gst/base/gstbasesink.c: Don't send an async_start message during downwards state change if target state is less than READY 2007-08-09 10:50:22 +0000 Thomas Vander Stichele po/: Added Hungarian translation. Original commit message from CVS: translated by: Gabor Kelemen * po/LINGUAS: * po/hu.po: Added Hungarian translation. 2007-08-09 10:48:53 +0000 Thomas Vander Stichele po/: Updated translations. Original commit message from CVS: * po/fi.po: * po/it.po: * po/nl.po: * po/sv.po: * po/uk.po: Updated translations. 2007-08-07 16:06:47 +0000 Jan Schmidt libs/gst/controller/Makefile.am: Dist gstlfocontrolsourceprivate.h Original commit message from CVS: * libs/gst/controller/Makefile.am: Dist gstlfocontrolsourceprivate.h 2007-08-07 15:15:40 +0000 Jan Schmidt docs/libs/gstreamer-libs.types: Don't register the enum type gst_lfo_waveform_get_type() in the .types file - only GO... Original commit message from CVS: * docs/libs/gstreamer-libs.types: Don't register the enum type gst_lfo_waveform_get_type() in the .types file - only GObject derived types belong. 2007-08-07 14:04:22 +0000 Wim Taymans gst/gstbuffer.h: Remove comma from last element in enum to avoid compile errors when using -pendantic. Fixes #464366. Original commit message from CVS: Patch by: * gst/gstbuffer.h: Remove comma from last element in enum to avoid compile errors when using -pendantic. Fixes #464366. 2007-08-07 09:56:08 +0000 Wim Taymans docs/design/part-TODO.txt: Add some more TODO items Original commit message from CVS: * docs/design/part-TODO.txt: Add some more TODO items * gst/gstbin.c: (find_message), (gst_bin_change_state_func): Improve debugging. * gst/gstcaps.c: (gst_caps_intersect): Optimize trivial intersection case between identical caps pointers. * gst/gstelement.c: (gst_element_continue_state), (gst_element_set_state_func): * gst/gstpad.c: Fix spelling and grammar mistakes. 2007-08-05 14:48:06 +0000 Stefan Kost po/POTFILES.*: Update POTFILES. Fixes #461599. Original commit message from CVS: * po/POTFILES.in: * po/POTFILES.skip: Update POTFILES. Fixes #461599. 2007-08-03 19:25:45 +0000 Sebastian Dröge gst/gst.c: Fix confusing typo in debug output. Original commit message from CVS: * gst/gst.c: Fix confusing typo in debug output. 2007-08-03 15:47:17 +0000 Sebastian Dröge libs/gst/controller/: API: Add GstLFOControlSource, a control source that gives values for specific timestamps based ... Original commit message from CVS: reviewed by: Stefan Kost * libs/gst/controller/Makefile.am: * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos), (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset), (gst_lfo_control_source_new), (gst_lfo_control_source_set_waveform), (gst_lfo_control_source_bind), (gst_lfo_control_source_init), (gst_lfo_control_source_finalize), (gst_lfo_control_source_dispose), (gst_lfo_control_source_set_property), (gst_lfo_control_source_get_property), (gst_lfo_control_source_class_init): * libs/gst/controller/gstlfocontrolsource.h: * libs/gst/controller/gstlfocontrolsourceprivate.h: API: Add GstLFOControlSource, a control source that gives values for specific timestamps based on several periodic waveforms. Fixes #459717. * tests/check/libs/controller.c: (GST_START_TEST), (gst_controller_suite): * docs/libs/gstreamer-libs-docs.sgml: * docs/libs/gstreamer-libs-sections.txt: * docs/libs/gstreamer-libs.types: Add documentation and unit tests for GstLFOControlSource. 2007-08-03 14:40:22 +0000 Jan Schmidt configure.ac: Back to CVS Original commit message from CVS: * configure.ac: Back to CVS === release 0.10.14 === 2007-08-03 14:39:15 +0000 Jan Schmidt * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/gstreamer-plugins.args: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * docs/random/release: * gstreamer.doap: * win32/common/config.h: Release 0.10.14 Original commit message from CVS: Release 0.10.14 2007-08-03 13:20:50 +0000 Jan Schmidt * po/af.po: * po/az.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/fi.po: * po/fr.po: * po/it.po: * po/nb.po: * po/nl.po: * po/ru.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files Original commit message from CVS: Update .po files 2007-08-02 11:51:17 +0000 Tim-Philipp Müller gst/gstelement.*: Make strings passed to gst_element_class_set_details_simple() constant, as they should be (#462752). Original commit message from CVS: * gst/gstelement.c: (gst_element_class_set_details_simple): * gst/gstelement.h: Make strings passed to gst_element_class_set_details_simple() constant, as they should be (#462752). 2007-08-02 11:15:46 +0000 Wim Taymans gst/gstbin.c: Don't forget about the fact that some element went ASYNC even after a resync. This makes us post the AS... Original commit message from CVS: * gst/gstbin.c: (gst_bin_change_state_func), (bin_handle_async_done), (gst_bin_handle_message_func): Don't forget about the fact that some element went ASYNC even after a resync. This makes us post the ASYNC_DONE message correctly. Fixes #462558. 2007-07-31 11:51:38 +0000 Jan Schmidt gst/gstregistry.c: When replacing an existing feature in the registry, make sure to continue holding a reference unti... Original commit message from CVS: * gst/gstregistry.c: (gst_registry_add_feature): When replacing an existing feature in the registry, make sure to continue holding a reference until we've replaced the name string within our feature hash table. Make sure to use g_hash_table_replace instead of g_hash_table_insert to ensure the new name string is used as a key instead of the old one that we're about to free. Fixes: #462085 2007-07-31 10:10:27 +0000 Jan Schmidt gst/gstpluginfeature.c: Revert patch from #459466 until after the release and we can work out exactly what the proble... Original commit message from CVS: * gst/gstpluginfeature.c: (gst_plugin_feature_finalize), (gst_plugin_feature_set_name): Revert patch from #459466 until after the release and we can work out exactly what the problem is (if any). 2007-07-26 15:48:40 +0000 Tim-Philipp Müller API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939). Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gsttaglist.c: * gst/gsttaglist.h: API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939). 2007-07-26 14:05:23 +0000 Jan Schmidt docs/libs/Makefile.am: Include our build-prefix libs and includes before the generic ones to avoid linking against th... Original commit message from CVS: * docs/libs/Makefile.am: Include our build-prefix libs and includes before the generic ones to avoid linking against the installed libs when we want the build-tree ones. 2007-07-26 08:46:46 +0000 Steve Fink docs/pwg/building-testapp.xml: Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed if people try to bui... Original commit message from CVS: Patch by: Steve Fink * docs/pwg/building-testapp.xml: Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed if people try to build or install the example from the plugin template against a GStreamer from package using the configure defaults. 2007-07-25 22:29:57 +0000 Steve Fink tools/gst-inspect.1.in: Document --print-all and --print-plugin-auto-install-info command line options in man page. Original commit message from CVS: Patch by: Steve Fink * tools/gst-inspect.1.in: Document --print-all and --print-plugin-auto-install-info command line options in man page. 2007-07-25 18:46:49 +0000 Wim Taymans docs/gst/gstreamer-sections.txt: Add docs for new api function. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: Add docs for new api function. 2007-07-25 18:37:12 +0000 Wim Taymans gst/gstelementfactory.*: API: gst_element_factory_has_interface() Original commit message from CVS: * gst/gstelementfactory.c: (gst_element_factory_has_interface): * gst/gstelementfactory.h: API: gst_element_factory_has_interface() Added method to check if an element factory implements a named interface. 2007-07-25 13:00:23 +0000 Stefan Kost Another conditional doc check. Original commit message from CVS: * configure.ac: * docs/gst/gstreamer.types.in: Another conditional doc check. * gst/gstmessage.c: * gst/gstparamspecs.h: * gst/gstregistrybinary.c: (gst_registry_binary_read_cache): * gst/gstvalue.c: * gst/gstxml.h: API-doc fixes. 2007-07-24 13:44:04 +0000 Stefan Kost gst/gstregistrybinary.c: Print error just once and with additional info. Original commit message from CVS: * gst/gstregistrybinary.c: (gst_registry_binary_check_magic), (gst_registry_binary_load_feature), (gst_registry_binary_load_plugin), (gst_registry_binary_read_cache): Print error just once and with additional info. 2007-07-24 13:38:21 +0000 Stefan Kost libs/gst/base/gsttypefindhelper.c: Cleanup the typefindhelper code and add private doc comments. Original commit message from CVS: * libs/gst/base/gsttypefindhelper.c: (helper_find_peek), (helper_find_suggest), (helper_find_get_length), (gst_type_find_helper_get_range), (buf_helper_find_suggest), (gst_type_find_helper_for_buffer): Cleanup the typefindhelper code and add private doc comments. 2007-07-24 12:32:31 +0000 Edward Hervey plugins/elements/gstcapsfilter.c: Fix capsfilter for cases where the caps set on capsfilter will provide additional i... Original commit message from CVS: * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init), (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf): Fix capsfilter for cases where the caps set on capsfilter will provide additional information. Fixes #449197 2007-07-24 11:31:09 +0000 Stefan Kost gst/gsttypefindfactory.c: Fix docs that recommened wrong function to use. Original commit message from CVS: * gst/gsttypefindfactory.c: Fix docs that recommened wrong function to use. 2007-07-23 13:03:43 +0000 Stefan Kost tools/gst-inspect.c: Also give media-type for typefinders in element output. Original commit message from CVS: * tools/gst-inspect.c: (print_plugin_features): Also give media-type for typefinders in element output. 2007-07-23 11:42:12 +0000 Stefan Kost gst/gstregistry.*: Speed up gst_registry_lookup_feature_locked() by using a hashmap. Original commit message from CVS: * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize), (gst_registry_remove_features_for_plugin_unlocked), (gst_registry_add_feature), (gst_registry_remove_feature), (gst_registry_lookup_feature_locked): * gst/gstregistry.h: Speed up gst_registry_lookup_feature_locked() by using a hashmap. Fixes #459501. 2007-07-23 10:39:10 +0000 Stefan Kost gst/gstpluginfeature.c: Avoid double memory usage for pluginfeature names. Fixes #459466. Original commit message from CVS: * gst/gstpluginfeature.c: (gst_plugin_feature_finalize), (gst_plugin_feature_set_name): Avoid double memory usage for pluginfeature names. Fixes #459466. 2007-07-22 18:26:32 +0000 Tim-Philipp Müller gst/gstpad.h: Small addition to GST_FLOW_IS_FATAL() docs: mention that elements driving the pipeline may need to expl... Original commit message from CVS: * gst/gstpad.h: Small addition to GST_FLOW_IS_FATAL() docs: mention that elements driving the pipeline may need to explicitly check for NOT_LINKED as well, since IS_FATAL doesn't cover that. 2007-07-22 18:16:19 +0000 Tim-Philipp Müller docs/pwg/advanced-types.xml: Fix typo and duplicate entry in video formats list. Original commit message from CVS: * docs/pwg/advanced-types.xml: Fix typo and duplicate entry in video formats list. 2007-07-22 12:18:46 +0000 Sebastian Dröge libs/gst/controller/gstinterpolation.c: Also round to the nearest int when using cubic interpolation. Original commit message from CVS: * libs/gst/controller/gstinterpolation.c: Also round to the nearest int when using cubic interpolation. 2007-07-21 21:20:37 +0000 Jan Schmidt libs/gst/controller/gstinterpolation.c: When linearly interpolating integer types, round to the nearest int by adding... Original commit message from CVS: * libs/gst/controller/gstinterpolation.c: When linearly interpolating integer types, round to the nearest int by adding 0.5. Don't do it for float/double types. Fixes the failing controller test on my machine, which is somehow rounding differently than on the buildbots. 2007-07-20 07:36:44 +0000 Stefan Kost tools/gst-plot-timeline.py: Better log parsing (categories can have -). Adjust text vs. lines, so that they span the ... Original commit message from CVS: * tools/gst-plot-timeline.py: Better log parsing (categories can have -). Adjust text vs. lines, so that they span the same y-range. 2007-07-20 07:26:39 +0000 Stefan Kost docs/random/ensonic/: Save my thoughts. Original commit message from CVS: * docs/random/ensonic/audiobaseclasses.txt: * docs/random/ensonic/dynlink.txt: * docs/random/ensonic/profiling.txt: Save my thoughts. * docs/random/moving-plugins: Add note to use g_assert type macros. 2007-07-20 07:09:11 +0000 Stefan Kost Add libm check as we use in for plugins. Original commit message from CVS: * configure.ac: * libs/gst/check/Makefile.am: Add libm check as we use in for plugins. 2007-07-18 14:31:21 +0000 Jan Schmidt gst/gstbin.c: Check that the state_cookie hasn't changed since the continue_func was scheduled. Avoids problems where... Original commit message from CVS: * gst/gstbin.c: (gst_bin_continue_func): Check that the state_cookie hasn't changed since the continue_func was scheduled. Avoids problems where the state changes back to something it shouldn't be because it was changed in the meantime. 2007-07-17 09:44:51 +0000 Stefan Kost gst/gstregistrybinary.c: Fix memory leak. Be less verbose in the log. Original commit message from CVS: * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string), (gst_registry_binary_save_string), (gst_registry_binary_save_pad_template), (gst_registry_binary_save_feature), (gst_registry_binary_save_plugin), (gst_registry_binary_load_feature), (gst_registry_binary_load_plugin), (gst_registry_binary_read_cache): Fix memory leak. Be less verbose in the log. 2007-07-16 16:44:31 +0000 Jan Schmidt tests/check/elements/.cvsignore: Add file to cvsignore as commanded. Original commit message from CVS: * tests/check/elements/.cvsignore: Add file to cvsignore as commanded. 2007-07-16 16:04:49 +0000 Jan Schmidt tests/check/elements/multiqueue.c: Use a GStaticMutex to protect all cases where libcheck fail_if/fail_unless macros ... Original commit message from CVS: * tests/check/elements/multiqueue.c: (mq_dummypad_chain), (mq_dummypad_event), (run_output_order_test): Use a GStaticMutex to protect all cases where libcheck fail_if/fail_unless macros might be called from multiple threads simultaneously to avoid errors like: "check_pack.c:107: :-1081725400:Bad message type arg" 2007-07-16 15:19:06 +0000 Jan Schmidt tests/check/pipelines/stress.c: Make sure we set the pipeline back to the NULL state before dropping our final refere... Original commit message from CVS: * tests/check/pipelines/stress.c: (GST_START_TEST): Make sure we set the pipeline back to the NULL state before dropping our final reference. 2007-07-16 14:55:26 +0000 Jan Schmidt tests/check/elements/tee.c: Make the tee stress-test a little less stressful so it doesn't just time out on slow-mach... Original commit message from CVS: * tests/check/elements/tee.c: (GST_START_TEST): Make the tee stress-test a little less stressful so it doesn't just time out on slow-machines, and remove a small race when it's starting up by adding a get_state() call. 2007-07-16 12:36:18 +0000 Stefan Kost gst/gst.c: Avoid reading registry twice on startup. Fixes #457322. Original commit message from CVS: * gst/gst.c: Avoid reading registry twice on startup. Fixes #457322. 2007-07-13 14:11:22 +0000 Jan Schmidt pkgconfig/: Substitute the CFLAGS for libcheck into our .pc file too so that dependent modules will pick it up proper... Original commit message from CVS: * pkgconfig/gstreamer-check-uninstalled.pc.in: * pkgconfig/gstreamer-check.pc.in: Substitute the CFLAGS for libcheck into our .pc file too so that dependent modules will pick it up properly if libcheck is installed into some other prefix. 2007-07-13 13:49:14 +0000 Jan Schmidt configure.ac: Revert the pkg-config check for libcheck, since it pulls in the wrong non-PIC libcheck.a on Ubuntu and ... Original commit message from CVS: * configure.ac: Revert the pkg-config check for libcheck, since it pulls in the wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need a proper solution, either from the check project, or something else. 2007-07-12 11:10:22 +0000 Stefan Kost configure.ac: Use pkg-config to locate check. Original commit message from CVS: * configure.ac: Use pkg-config to locate check. 2007-07-10 20:10:16 +0000 Stefan Kost gst/gsttaglist.c: Fix doc syntax. Original commit message from CVS: * gst/gsttaglist.c: Fix doc syntax. * gst/gstutils.c: * gst/gstutils.h: Add deprecation guards. * libs/gst/base/gstcollectpads.h: Don't document object (this is implicitly private). 2007-07-08 14:11:53 +0000 Tim-Philipp Müller gst/gststructure.c: When deserialising foo=bar without a type cast, check if it's a boolean before falling back to a ... Original commit message from CVS: * gst/gststructure.c: (gst_structure_parse_value): When deserialising foo=bar without a type cast, check if it's a boolean before falling back to a string type, otherwise things like audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work, because the filtercaps end up having a signed=(string)true field, which causes problems later when intersection caps. * tests/check/gst/gststructure.c: (GST_START_TEST): Add a unit test for this. 2007-07-06 21:50:02 +0000 Sebastian Dröge libs/gst/controller/: API: Refactor GstController into the core controller which can take a GstControlSource for prov... Original commit message from CVS: Reviewed by: Stefan Kost * libs/gst/controller/Makefile.am: * libs/gst/controller/gstcontroller.c: (gst_controlled_property_add_interpolation_control_source), (gst_controlled_property_new), (gst_controlled_property_free), (gst_controller_find_controlled_property), (gst_controller_new_valist), (gst_controller_new_list), (gst_controller_new), (gst_controller_remove_properties_valist), (gst_controller_remove_properties_list), (gst_controller_remove_properties), (gst_controller_set_property_disabled), (gst_controller_set_disabled), (gst_controller_set_control_source), (gst_controller_get_control_source), (gst_controller_get), (gst_controller_sync_values), (gst_controller_get_value_array), (_gst_controller_dispose), (gst_controller_get_type), (gst_controlled_property_set_interpolation_mode), (gst_controller_set), (gst_controller_set_from_list), (gst_controller_unset), (gst_controller_unset_all), (gst_controller_get_all), (gst_controller_set_interpolation_mode): * libs/gst/controller/gstcontroller.h: * libs/gst/controller/gstcontrollerprivate.h: * libs/gst/controller/gstcontrolsource.c: (gst_control_source_class_init), (gst_control_source_init), (gst_control_source_get_value), (gst_control_source_get_value_array), (gst_control_source_bind): * libs/gst/controller/gstcontrolsource.h: * libs/gst/controller/gsthelper.c: (gst_object_set_control_source), (gst_object_get_control_source): * libs/gst/controller/gstinterpolation.c: (gst_interpolation_control_source_find_control_point_node), (gst_interpolation_control_source_get_first_value), (_interpolate_none_get), (interpolate_none_get), (interpolate_none_get_boolean_value_array), (interpolate_none_get_enum_value_array), (interpolate_none_get_string_value_array), (_interpolate_trigger_get), (interpolate_trigger_get), (interpolate_trigger_get_boolean_value_array), (interpolate_trigger_get_enum_value_array), (interpolate_trigger_get_string_value_array): * libs/gst/controller/gstinterpolationcontrolsource.c: (gst_control_point_free), (gst_interpolation_control_source_reset), (gst_interpolation_control_source_new), (gst_interpolation_control_source_set_interpolation_mode), (gst_interpolation_control_source_bind), (gst_control_point_compare), (gst_control_point_find), (gst_interpolation_control_source_set_internal), (gst_interpolation_control_source_set), (gst_interpolation_control_source_set_from_list), (gst_interpolation_control_source_unset), (gst_interpolation_control_source_unset_all), (gst_interpolation_control_source_get_all), (gst_interpolation_control_source_get_count), (gst_interpolation_control_source_init), (gst_interpolation_control_source_finalize), (gst_interpolation_control_source_dispose), (gst_interpolation_control_source_class_init): * libs/gst/controller/gstinterpolationcontrolsource.h: * libs/gst/controller/gstinterpolationcontrolsourceprivate.h: API: Refactor GstController into the core controller which can take a GstControlSource for providing actual values for timestamps. Implement a interpolation control source and use this for backward compatibility, deprecate a bunch of functions that are now handled by GstControlSource or GstInterpolationControlSource. Make it possible to disable the controller completely or only for specific properties. Fixes #450711. * docs/libs/gstreamer-libs-docs.sgml: * docs/libs/gstreamer-libs-sections.txt: * docs/libs/gstreamer-libs.types: Add new functions and classes to the docs. * tests/check/libs/controller.c: (GST_START_TEST), (gst_controller_suite): * tests/examples/controller/audio-example.c: (main): Port unit test and example to the new API and add some new unit tests. 2007-07-05 09:06:02 +0000 Mark Nauwelaerts plugins/elements/gstmultiqueue.c: Implement non-default GstPadIntLinkFunction for multiqueue pads so that the pipelin... Original commit message from CVS: Patch by: Mark Nauwelaerts * plugins/elements/gstmultiqueue.c: (gst_multi_queue_get_internal_links), (apply_buffer), (single_queue_overrun_cb), (gst_single_queue_new): Implement non-default GstPadIntLinkFunction for multiqueue pads so that the pipeline layout can be tracked correctly. Fixes #453732. 2007-07-05 08:42:42 +0000 Stefan Kost docs/: Simplity --extra-dir as gtkdoc scans recursively. Original commit message from CVS: * docs/gst/Makefile.am: * docs/libs/Makefile.am: * docs/plugins/Makefile.am: Simplity --extra-dir as gtkdoc scans recursively. 2007-07-03 17:01:51 +0000 Wim Taymans tools/gst-launch.c: When we got an error, there is no point in waiting for preroll when shutting down. Original commit message from CVS: * tools/gst-launch.c: (main): When we got an error, there is no point in waiting for preroll when shutting down. 2007-07-03 16:26:29 +0000 Wim Taymans plugins/elements/gsttee.c: Be a lot smarter when deciding what srcpad to use for proxying the buffer_alloc. Also hand... Original commit message from CVS: * plugins/elements/gsttee.c: (gst_tee_base_init), (gst_tee_request_new_pad), (gst_tee_release_pad), (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc), (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer), (gst_tee_chain): Be a lot smarter when deciding what srcpad to use for proxying the buffer_alloc. Also handle pad added/removed when doing so. Fixes #357959. Keep track of what pads we already pushed on in case we have pads added/removed while pushing. Fixes #374639 * tests/check/Makefile.am: * tests/check/elements/tee.c: (handoff), (GST_START_TEST), (tee_suite): Added unit test for pad resync. 2007-07-01 21:31:18 +0000 Thomas Vander Stichele po/: Updated translations. Original commit message from CVS: * po/nl.po: * po/sv.po: Updated translations. 2007-07-01 21:30:09 +0000 Thomas Vander Stichele po/: Added new Finnish translation. Original commit message from CVS: translation by: Tommi Vainikainen * po/LINGUAS: * po/fi.po: Added new Finnish translation. 2007-06-28 11:25:17 +0000 Wim Taymans plugins/elements/gstmultiqueue.c: When figuring out when a queue is filled, use our internal time estimate based on s... Original commit message from CVS: * plugins/elements/gstmultiqueue.c: (apply_buffer), (single_queue_overrun_cb): When figuring out when a queue is filled, use our internal time estimate based on segments, just like check_full does. 2007-06-27 11:47:46 +0000 Jan Schmidt * ChangeLog: Mention bug 430682 closed by previous commit. Original commit message from CVS: Mention bug 430682 closed by previous commit. 2007-06-27 11:43:04 +0000 Stefan Kost gst/gstminiobject.c: Remove 3 do-nothing methods. Original commit message from CVS: * gst/gstminiobject.c: (gst_mini_object_get_type): Remove 3 do-nothing methods. 2007-06-27 11:24:08 +0000 Tim Angus plugins/elements/gstcapsfilter.c: Take a reference instead of a copy when setting "caps". Original commit message from CVS: Patch by: Tim Angus * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init), (gst_capsfilter_set_property): Take a reference instead of a copy when setting "caps". Fix documentation to clarify this behaviour. Fixes #449414. 2007-06-27 10:12:14 +0000 Stefan Kost gst/: Remove empty instance_init() functions to save relocs and lessen the noise. Remove some of the function prototy... Original commit message from CVS: * gst/gstindexfactory.c: (gst_index_factory_get_type): * gst/gstplugin.c: (gst_plugin_init): * gst/gstpluginfeature.c: (gst_plugin_feature_init): * gst/gstquery.c: (gst_query_get_type): * gst/gstregistry.c: (gst_registry_init): * gst/gsturi.c: (gst_uri_handler_base_init): Remove empty instance_init() functions to save relocs and lessen the noise. Remove some of the function prototypes that are doubled by G_DEFINE_TYPE. 2007-06-27 09:34:01 +0000 Étienne Noreau-Hébert gst/gstghostpad.c: Add peer and direction in the XML serialisation of ghostpads. Original commit message from CVS: Patch by: Étienne Noreau-Hébert * gst/gstghostpad.c: (gst_proxy_pad_save_thyself): Add peer and direction in the XML serialisation of ghostpads. Fixes #449226. 2007-06-26 16:24:20 +0000 Stefan Kost configure.ac: Preserve useful information, thanks Tim. Original commit message from CVS: * configure.ac: Preserve useful information, thanks Tim. 2007-06-26 14:45:15 +0000 Jan Schmidt plugins/elements/gstmultiqueue.*: Take the multiqueue lock when updating the fill level so we don't get confused. Original commit message from CVS: * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init), (gst_single_queue_flush), (apply_segment), (apply_buffer), (gst_single_queue_push_one), (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event), (gst_multi_queue_src_activate_push), (wake_up_next_non_linked), (compute_high_id), (gst_single_queue_new): * plugins/elements/gstmultiqueue.h: Take the multiqueue lock when updating the fill level so we don't get confused. After applying a buffer or event on the src pad segment, make sure to call gst_data_queue_limits_changed() to get the data queue to unblock and check the filled state again. Rework the not-linked pad handling so the logic is that not-linked pads can push as fast as they like, but only so they never get ahead of any linked pads. * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad), (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event), (run_output_order_test), (GST_START_TEST), (multiqueue_suite): Add a test to check that not-linked pads always stay behind linked pads. 2007-06-26 11:57:23 +0000 Jan Schmidt docs/random/release: Some updates to the release procedure. Original commit message from CVS: * docs/random/release: Some updates to the release procedure. 2007-06-26 08:26:36 +0000 Stefan Kost gst/gstelementfactory.c: Microoptimization that saves stunning 80 bytes. Original commit message from CVS: * gst/gstelementfactory.c: (__gst_element_details_clear): Microoptimization that saves stunning 80 bytes. 2007-06-25 12:35:46 +0000 Stefan Kost docs/plugins/: Update docs with caps info. Original commit message from CVS: * docs/plugins/gstreamer-plugins.args: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: Update docs with caps info. 2007-06-23 22:56:28 +0000 Thomas Vander Stichele po/it.po: Updated Italian translation. Original commit message from CVS: * po/it.po: Updated Italian translation. 2007-06-23 11:19:16 +0000 Thomas Vander Stichele * win32/common/config.h: fix win32 arch Original commit message from CVS: fix win32 arch 2007-06-23 11:18:46 +0000 Thomas Vander Stichele * gst/gstelement.h: 80 line fix Original commit message from CVS: 80 line fix 2007-06-23 11:15:11 +0000 Thomas Vander Stichele po/: Update Vietnamese translations. Original commit message from CVS: * ChangeLog: * po/vi.po: Update Vietnamese translations. 2007-06-21 22:37:27 +0000 Tim-Philipp Müller libs/gst/base/gstbasesink.c: Remove unused signal enum. Original commit message from CVS: * libs/gst/base/gstbasesink.c: Remove unused signal enum. 2007-06-21 18:00:58 +0000 Christian Schaller * MAINTAINERS: update MAINTAINERS file to reflect current realities better Original commit message from CVS: update MAINTAINERS file to reflect current realities better 2007-06-21 16:39:01 +0000 Jan Schmidt Beef up and include the docs for gst_type_register_static_full and gst_element_class_set_details_simple and add the A... Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstelement.c: * gst/gstutils.c: (gst_type_register_static_full): Beef up and include the docs for gst_type_register_static_full and gst_element_class_set_details_simple and add the API keyword in the ChangeLog. 2007-06-21 14:35:03 +0000 Wim Taymans plugins/elements/gstmultiqueue.c: Fix setting max-* properties after adding queues. Original commit message from CVS: * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property), (update_time_level), (gst_single_queue_push_one), (gst_multi_queue_chain), (gst_multi_queue_sink_event), (single_queue_overrun_cb), (single_queue_underrun_cb), (single_queue_check_full): Fix setting max-* properties after adding queues. Use IS_FILLED for checking visible items. Signal overrun if multiple queues overrun. Add extra debug output. Patch by: Wim Taymans 2007-06-21 14:29:05 +0000 Stefan Kost Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457. Original commit message from CVS: * gst/gstelement.c: (gst_element_class_set_details_simple): * gst/gstelement.h: * gst/gstutils.c: (gst_type_register_static_full): * gst/gstutils.h: * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init): * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init): * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init): * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init): * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init): * plugins/elements/gstfilesink.c: (gst_file_sink_base_init): * plugins/elements/gstfilesrc.c: (gst_file_src_base_init): * plugins/elements/gstidentity.c: (gst_identity_base_init): * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init): * plugins/elements/gstqueue.c: (gst_queue_base_init), (apply_buffer), (gst_queue_chain): * plugins/elements/gsttee.c: (gst_tee_base_init): * plugins/elements/gsttypefindelement.c: (gst_type_find_element_base_init), (gst_type_find_element_class_init): Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457. 2007-06-21 09:46:02 +0000 Tim-Philipp Müller docs/pwg/advanced-types.xml: Fix typo in iana.org URI. Original commit message from CVS: * docs/pwg/advanced-types.xml: Fix typo in iana.org URI. 2007-06-19 21:58:30 +0000 Andy Wingo tests/check/pipelines/simple-launch-lines.c Original commit message from CVS: 2007-06-19 Andy Wingo * tests/check/pipelines/simple-launch-lines.c (test_state_change_returns): Enable pull-mode tests now that basesink has been fixed. * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll): Changed from gst_base_sink_is_prerolled, reversing the sense of the return value. Returns FALSE also if the sink is in pull mode, in which case it needs no preroll. (gst_base_sink_query, gst_base_sink_change_state): Update for needs_preroll change. (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after chaining up, in which we return SUCCESS directly if we activated in pull mode instead of ASYNC. Involves countering an async_start message sent before chaining up; not sure if this is correct, in an ideal world we only send async-start when activating in push mode. 2007-06-19 21:28:54 +0000 Andy Wingo * ChangeLog: * tests/check/pipelines/simple-launch-lines.c: * win32/common/config.h: tests/check/pipelines/simple-launch-lines.c Original commit message from CVS: 2007-06-19 Andy Wingo * tests/check/pipelines/simple-launch-lines.c (test_state_change_returns): New test, partially disabled until basesink is fixed. 2007-06-19 16:05:11 +0000 Wim Taymans plugins/elements/gstmultiqueue.c: Fix event leak. Original commit message from CVS: * plugins/elements/gstmultiqueue.c: (apply_buffer), (gst_multi_queue_sink_event): Fix event leak. 2007-06-19 10:41:33 +0000 Wim Taymans gst/gstbin.c: Move the common code for posting state-change messages into one function. Original commit message from CVS: * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_change_state_func), (bin_push_state_continue), (bin_handle_async_start), (bin_handle_async_done), (gst_bin_handle_message_func): Move the common code for posting state-change messages into one function. Broadcast the state signal after we posted the messages. Mark the bin as busy when it's doing a state-change. Make sure async-start/done messages don't interfere with the bin's state when it's busy. After the state change, let the bin check which elements completed the state change while it was busy so that it can update its state. 2007-06-19 10:38:39 +0000 Jan Schmidt docs/random/release: Add a note about updating the doap file to the release checklist Original commit message from CVS: * docs/random/release: Add a note about updating the doap file to the release checklist 2007-06-18 16:44:07 +0000 Wim Taymans plugins/elements/gstmultiqueue.c: Make sure we don't reference the buffer/event after we have given away ownership in... Original commit message from CVS: * plugins/elements/gstmultiqueue.c: (apply_buffer), (gst_single_queue_push_one), (gst_multi_queue_chain), (gst_multi_queue_sink_event): Make sure we don't reference the buffer/event after we have given away ownership in the queue. 2007-06-18 15:15:32 +0000 Wim Taymans plugins/elements/gstmultiqueue.c: Update queue state _after_ adding the item in the queue because else we could end u... Original commit message from CVS: * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush), (gst_multi_queue_chain), (gst_multi_queue_sink_event): Update queue state _after_ adding the item in the queue because else we could end up being full without the element added yet. 2007-06-18 15:12:28 +0000 Wim Taymans gst/gstbin.*: Immediatly commit the toplevel bin state when receiving an async-done message. This enables us to avoid... Original commit message from CVS: * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_get_state_func), (gst_bin_element_set_state), (gst_bin_continue_func), (bin_push_state_continue), (bin_handle_async_start), (bin_handle_async_done), (gst_bin_handle_message_func): * gst/gstbin.h: Immediatly commit the toplevel bin state when receiving an async-done message. This enables us to avoid spawning a thread to commit the state in some common cases and it also avoids some races. Avoid spawning a state thread when adding/removing async elements to a toplevel bin. Instead we immediatly update the bin state. Get rid of iterating all the children when getting the state in the bin because it is now always up-to-date. Fix bug where locked elements would always return _SUCCESS even it they returned NO_PREROLL before being locked. Fix the order of the state_change, async-start/done messages that was sometimes incorrect. Mark the state_dirty field as deprecated, we don't need it anymore as we are always up-to-date. * gst/gstelement.c: (gst_element_get_state_func), (gst_element_continue_state): Small debug inprovements. Return the previous element state return when nothing is pending instead of blindly returning SUCCESS. * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb), (gst_sinks_suite): Add a whole bunch of new testcases. 2007-06-17 17:26:48 +0000 Thomas Vander Stichele po/: Update translations. Original commit message from CVS: * po/uk.po: * po/vi.po: Update translations. 2007-06-15 14:37:28 +0000 Jan Schmidt gst/gstpad.c: Fix typo in the docs. Original commit message from CVS: * gst/gstpad.c: Fix typo in the docs. 2007-06-15 11:49:24 +0000 Wim Taymans docs/libs/gstreamer-libs-sections.txt: Add docs for new methods. Original commit message from CVS: * docs/libs/gstreamer-libs-sections.txt: Add docs for new methods. 2007-06-15 11:35:22 +0000 Wim Taymans plugins/elements/gstmultiqueue.c: Don't use GSlice because we don't depend on >= 2.10 yet. Original commit message from CVS: * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy), (gst_multi_queue_item_new): Don't use GSlice because we don't depend on >= 2.10 yet. 2007-06-15 11:09:38 +0000 Wim Taymans plugins/elements/gstmultiqueue.c: Remove debug printf. Original commit message from CVS: * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush), (update_time_level), (apply_segment), (apply_buffer), (gst_single_queue_push_one), (gst_multi_queue_item_new), (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event), (single_queue_overrun_cb), (single_queue_underrun_cb), (single_queue_check_full): Remove debug printf. 2007-06-15 11:00:32 +0000 Wim Taymans libs/gst/base/gstdataqueue.*: Various cleanups. Original commit message from CVS: * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup), (gst_data_queue_finalize), (gst_data_queue_locked_is_empty), (gst_data_queue_set_flushing), (gst_data_queue_push), (gst_data_queue_pop), (gst_data_queue_drop_head), (gst_data_queue_limits_changed), (gst_data_queue_get_level): * libs/gst/base/gstdataqueue.h: Various cleanups. Added methods to get the current levels and to inform the queue that the 'full' limits changed. * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init), (gst_multi_queue_finalize), (gst_multi_queue_set_property), (gst_single_queue_flush), (update_time_level), (apply_segment), (apply_buffer), (gst_single_queue_push_one), (gst_multi_queue_item_steal_object), (gst_multi_queue_item_destroy), (gst_multi_queue_item_new), (gst_multi_queue_loop), (gst_multi_queue_chain), (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event), (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push), (gst_multi_queue_src_query), (single_queue_overrun_cb), (single_queue_underrun_cb), (single_queue_check_full), (gst_single_queue_new): Keep track of time in the queue by measuring the difference between running_time on input and output. This gives more accurate results and can compensate for segments correctly. Make a queue by default only 5 buffers deep. We will now increase the buffer size depending on the filledness of the other queues. Factor out commong flush code. Make sure we don't add additional refcounts to buffers when we can avoid it. Propagate GstFlowReturn differently. Use GSlice for intermediate GstMultiQueueItems. Keep track of EOS. Resize queues on over and underruns based on filled level of other queues. When checking if the queue is filled, prefer to measure in time if we can and fall back to bytes when no time is known. * plugins/elements/gstqueue.c: Fix return value. 2007-06-15 10:48:19 +0000 Wim Taymans libs/gst/base/gstbasetransform.c: Work around the brokenness of the event vmethod in basetransform. Prefer to return ... Original commit message from CVS: * libs/gst/base/gstbasetransform.c: (gst_base_transform_sink_event): Work around the brokenness of the event vmethod in basetransform. Prefer to return TRUE when the subclass returned FALSE (meaning don't forward the event). * libs/gst/base/gstbasetransform.h: Clarify the docs. 2007-06-15 10:43:51 +0000 Wim Taymans Improve debugging. Original commit message from CVS: * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event): * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency), (gst_base_src_default_query), (gst_base_src_get_range), (gst_base_src_start): * tests/check/pipelines/parse-launch.c: (setup_pipeline): Improve debugging. 2007-06-15 07:27:00 +0000 Stefan Kost docs/pwg/advanced-types.xml: Added more formats to caps table. Original commit message from CVS: * docs/pwg/advanced-types.xml: Added more formats to caps table. 2007-06-15 07:02:04 +0000 Stefan Kost tools/gst-launch.c: Remove crufy code. GOption does not need this workaround. Original commit message from CVS: * tools/gst-launch.c: (main): Remove crufy code. GOption does not need this workaround. 2007-06-14 20:29:09 +0000 Stefan Kost libs/gst/controller/gstcontroller.c: Fix wrong getter for enums in controller. Original commit message from CVS: * libs/gst/controller/gstcontroller.c: (gst_controlled_property_set_interpolation_mode): Fix wrong getter for enums in controller. 2007-06-14 17:36:19 +0000 Tim-Philipp Müller libs/gst/check/gstcheck.c: Intercept criticals and warnings in the Gst-Phonon log domain, so Original commit message from CVS: * libs/gst/check/gstcheck.c: (gst_check_init): Intercept criticals and warnings in the Gst-Phonon log domain, so ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as well. 2007-06-14 16:07:09 +0000 Edward Hervey gst/gstparamspecs.c: Since this file doesn't include "gst.h" it will not go through the macros that disable GST_LOG i... Original commit message from CVS: * gst/gstparamspecs.c: (_gst_param_fraction_validate): Since this file doesn't include "gst.h" it will not go through the macros that disable GST_LOG if debugging was disabled. 2007-06-14 15:56:03 +0000 Tim-Philipp Müller Ugly 'fix' for the controller unit test on the p5 bot: in fail_unless_equals_float() check whether the values are 'al... Original commit message from CVS: * libs/gst/check/Makefile.am: * libs/gst/check/gstcheck.h: * pkgconfig/gstreamer-check-uninstalled.pc.in: * pkgconfig/gstreamer-check.pc.in: Ugly 'fix' for the controller unit test on the p5 bot: in fail_unless_equals_float() check whether the values are 'almost equal' by allowing a small absolute error, which should be good enough for our use cases (normal numbers and values close to 0). Proper fixage left to floating point arithmetic aficionados. 2007-06-14 12:03:44 +0000 Stefan Kost libs/gst/base/gstbasesink.c: Add two breaks thats where missing. Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos), (gst_base_sink_render_object), (gst_base_sink_get_position): Add two breaks thats where missing. 2007-06-14 11:56:44 +0000 Tim-Philipp Müller API: add fail_unless_equals_float() and assert_equals_float(). Original commit message from CVS: * docs/libs/gstreamer-libs-sections.txt: * libs/gst/check/gstcheck.h: API: add fail_unless_equals_float() and assert_equals_float(). Add documentation for some of the macros. * tests/check/libs/controller.c: (GST_START_TEST): Use newly-added asserts. 2007-06-14 10:33:28 +0000 Stefan Kost gst/gstpad.c: Show the caps change in the log to help spotting the case of not exactly matching caps. Original commit message from CVS: * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push): Show the caps change in the log to help spotting the case of not exactly matching caps. 2007-06-14 08:52:51 +0000 Tim-Philipp Müller docs/pwg/building-boiler.xml: Fix typos, spotted by Thijs Vermeir (#447190). Original commit message from CVS: * docs/pwg/building-boiler.xml: Fix typos, spotted by Thijs Vermeir (#447190). 2007-06-13 16:15:23 +0000 Jan Schmidt docs/plugins/tmpl/.cvsignore: Ignore file to keep the buildbots happy Original commit message from CVS: * docs/plugins/tmpl/.cvsignore: Ignore file to keep the buildbots happy 2007-06-13 15:39:53 +0000 Jan Schmidt docs/plugins/: Pull fdsink into the docs too. Original commit message from CVS: * docs/plugins/Makefile.am: * docs/plugins/gstreamer-plugins-docs.sgml: * docs/plugins/gstreamer-plugins-sections.txt: Pull fdsink into the docs too. 2007-06-11 07:14:53 +0000 Sebastian Dröge libs/gst/controller/gstinterpolation.c: Actually use the new functions with min/max checks for the trigger and none i... Original commit message from CVS: * libs/gst/controller/gstinterpolation.c: Actually use the new functions with min/max checks for the trigger and none interpolation modes for get() and get_value_array() instead of just the latter. 2007-06-10 12:38:11 +0000 Sebastian Dröge libs/gst/controller/gstcontroller.c: Unset the minimum and maximum GValues when freeing the corresponding Original commit message from CVS: * libs/gst/controller/gstcontroller.c: (gst_controlled_property_free): Unset the minimum and maximum GValues when freeing the corresponding GstControllerProperty struct. 2007-06-09 16:58:30 +0000 Sebastian Dröge libs/gst/controller/: Protect against values larger or smaller than the minimum or maximum allowed value for the prop... Original commit message from CVS: * libs/gst/controller/gstcontroller.c: (gst_controlled_property_new): * libs/gst/controller/gstcontrollerprivate.h: * libs/gst/controller/gstinterpolation.c: (gst_controlled_property_find_control_point_node), (interpolate_none_get), (interpolate_none_get_enum_value_array), (interpolate_none_get_string_value_array), (interpolate_trigger_get), (interpolate_trigger_get_enum_value_array), (interpolate_trigger_get_string_value_array): Protect against values larger or smaller than the minimum or maximum allowed value for the property when using values that can be compared. Optimize trigger interpolator a bit by taking the last requested value into account instead of always looping through the complete list. Fix coding style a bit, everywhere else we use "return foo" instead of "return (foo)". * tests/check/libs/controller.c: (GST_START_TEST), (gst_controller_suite): Add unit test for the protection against too large or too small values. 2007-06-08 21:08:24 +0000 Sebastian Dröge docs/random/slomo/controller.txt: Add some thoughts about the future of the controller. Original commit message from CVS: * docs/random/slomo/controller.txt: Add some thoughts about the future of the controller. 2007-06-08 11:00:59 +0000 Wim Taymans plugins/elements/gstidentity.c: Don't overflow in retimestamping code. Original commit message from CVS: * plugins/elements/gstidentity.c: (gst_identity_transform_ip): Don't overflow in retimestamping code. 2007-06-07 20:51:35 +0000 Sébastien Moutte libs/gst/controller/gstinterpolation.c: Use gst_util_guint64_to_gdouble for conversions. Original commit message from CVS: * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET): Use gst_util_guint64_to_gdouble for conversions. * win32/common/libgstreamer.def: Add new exported functions. 2007-06-07 17:22:47 +0000 Tim-Philipp Müller gst/gstutils.c: Small docs addition. Original commit message from CVS: * gst/gstutils.c: Small docs addition. 2007-06-07 14:49:00 +0000 Stefan Kost README: Remove that test line again. Original commit message from CVS: * README: Remove that test line again. 2007-06-07 14:36:02 +0000 Stefan Kost README: Test commit mail sending. Original commit message from CVS: * README: Test commit mail sending. 2007-06-07 14:17:46 +0000 Stefan Kost configure.ac: Fix typo and test commit mail sending. Original commit message from CVS: * configure.ac: Fix typo and test commit mail sending. 2007-06-07 14:12:07 +0000 Stefan Kost tests/examples/controller/audio-example.c: Improve comment and test commit mail sending. Original commit message from CVS: * tests/examples/controller/audio-example.c: Improve comment and test commit mail sending. 2007-06-07 10:11:47 +0000 Wim Taymans gst/gstbin.c: Add helper function to find messages. Original commit message from CVS: * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos), (gst_bin_remove_func), (gst_bin_element_set_state), (bin_handle_async_start), (bin_handle_async_done), (gst_bin_handle_message_func): Add helper function to find messages. Generate the async-done messages together with the state change messages. Small cleanups in handling toplevel bins. 2007-06-06 18:11:10 +0000 Tim-Philipp Müller Fix multiqueue leaking buffers and events when downstream or the queue are flushing. Make refcounting assumptions exp... Original commit message from CVS: * libs/gst/base/gstdataqueue.c: * libs/gst/base/gstdataqueue.h: * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one), (gst_multi_queue_item_new), (gst_multi_queue_chain), (gst_multi_queue_sink_event): * tests/check/elements/multiqueue.c: (multiqueue_suite): Fix multiqueue leaking buffers and events when downstream or the queue are flushing. Make refcounting assumptions explicit and document them (shouldn't break existing code that uses it other than maybe leak miniobjects, but that already happens anyway). Add unit test for the most common flushing case. Fixes #423700. 2007-06-06 14:20:01 +0000 Sebastian Dröge libs/gst/controller/gstcontroller.c: Clarify docs: The get_all, get_value_array(s) functions don't modify the GObject... Original commit message from CVS: * libs/gst/controller/gstcontroller.c: Clarify docs: The get_all, get_value_array(s) functions don't modify the GObject properties. 2007-06-06 14:01:56 +0000 Sebastian Dröge libs/gst/controller/: Factor out the 'set' logic into gst_controller_set_unlocked for the gst_controller_set and gst_... Original commit message from CVS: * libs/gst/controller/gstcontroller.c: (gst_controlled_property_set_interpolation_mode), (gst_controlled_property_prepend_default), (gst_controlled_property_new), (gst_controller_set_unlocked), (gst_controller_set), (gst_controller_set_from_list), (gst_controller_unset), (gst_controller_unset_all): * libs/gst/controller/gstcontrollerprivate.h: * libs/gst/controller/gstinterpolation.c: Factor out the 'set' logic into gst_controller_set_unlocked for the gst_controller_set and gst_controller_set_from_list functions. To make life of the interpolators easier always add a control point at timestamp zero with the default value. In the linear interpolator make things more obvious by better variable naming (slope). Implement cubic interpolation mode (by using a natural cubic spline) and map the quadratic interpolation mode to this too (as quadratic doesn't make much sense, see discussion on the list). * tests/check/libs/controller.c: (GST_START_TEST), (gst_controller_suite): Add unit test for the cubic interpolation mode and check everywhere if the interpolation mode could be set as expected. 2007-06-06 11:38:25 +0000 Tim-Philipp Müller gst/gstparamspecs.c: Don't use GLib-2.10 functions, we still depend on Original commit message from CVS: * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type): Don't use GLib-2.10 functions, we still depend on GLib-how-old-is-it-again-2.8. 2007-06-06 11:18:12 +0000 Tim-Philipp Müller API: add GstParamSpecFraction, so elements can have fraction properties without lots of painful string parsing (#4446... Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/Makefile.am: * gst/gst.c: * gst/gst.h: * gst/gstparamspecs.c: (_gst_param_fraction_init), (_gst_param_fraction_set_default), (_gst_param_fraction_validate), (_gst_param_fraction_values_cmp), (gst_param_spec_fraction_get_type), (gst_param_spec_fraction): * gst/gstparamspecs.h: * gst/gstvalue.c: * tests/check/Makefile.am: * tests/check/gst/.cvsignore: * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init), (gst_dummy_obj_class_init), (gst_dummy_obj_init), (gst_dummy_obj_set_property), (gst_dummy_obj_get_property), (GST_START_TEST), (gst_param_spec_suite): API: add GstParamSpecFraction, so elements can have fraction properties without lots of painful string parsing (#444648). 2007-06-05 16:25:06 +0000 Wim Taymans gst/gstobject.c: Fix signal signature. Original commit message from CVS: * gst/gstobject.c: (gst_object_class_init): Fix signal signature. * gst/gstsegment.c: Add small clarification in the api docs. * plugins/elements/gstfilesrc.c: (gst_file_src_set_location): States are protected with object lock. 2007-06-05 14:11:59 +0000 Jan Schmidt AUTHORS: I should probably be listed as an author by now. Original commit message from CVS: * AUTHORS: I should probably be listed as an author by now. * docs/random/release: Update the release doc 2007-06-05 13:49:10 +0000 Tim-Philipp Müller gst/gstvalue.c: Make docs for gst_value_compare() mention return enums that actually exist. Original commit message from CVS: * gst/gstvalue.c: Make docs for gst_value_compare() mention return enums that actually exist. 2007-06-05 13:21:41 +0000 Jan Schmidt configure.ac: Back to CVS Original commit message from CVS: * configure.ac: Back to CVS === release 0.10.13 === 2007-06-05 12:47:23 +0000 Jan Schmidt * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/gstreamer-plugins.args: * docs/plugins/gstreamer-plugins.signals: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * gstreamer.doap: * win32/common/config.h: * win32/vs6/grammar.dsp: * win32/vs6/gst_inspect.dsp: * win32/vs6/gst_launch.dsp: * win32/vs6/gstreamer.dsw: * win32/vs6/libgstbase.dsp: * win32/vs6/libgstcontroller.dsp: * win32/vs6/libgstcoreelements.dsp: * win32/vs6/libgstdataprotocol.dsp: * win32/vs6/libgstnet.dsp: * win32/vs6/libgstreamer.dsp: Release 0.10.13 "With or without you" Original commit message from CVS: Release 0.10.13 "With or without you" 2007-06-05 12:06:44 +0000 Jan Schmidt * po/af.po: * po/az.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/fr.po: * po/it.po: * po/nb.po: * po/nl.po: * po/ru.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files Original commit message from CVS: Update .po files 2007-05-29 15:50:49 +0000 Thomas Vander Stichele * README: trigger a mail Original commit message from CVS: trigger a mail 2007-05-29 14:49:57 +0000 Thomas Vander Stichele * README: trigger a mail Original commit message from CVS: trigger a mail 2007-05-29 14:48:55 +0000 Thomas Vander Stichele * README: trigger a mail Original commit message from CVS: trigger a mail 2007-05-29 14:37:28 +0000 Thomas Vander Stichele * README: send a mail Original commit message from CVS: send a mail 2007-05-29 11:52:28 +0000 Thomas Vander Stichele * README: test commit Original commit message from CVS: test commit 2007-05-29 11:40:36 +0000 Thomas Vander Stichele * README: test commit Original commit message from CVS: test commit 2007-05-29 11:00:14 +0000 Thomas Vander Stichele * README: test commit Original commit message from CVS: test commit 2007-05-29 10:43:23 +0000 Thomas Vander Stichele * README: test commit Original commit message from CVS: test commit 2007-05-29 10:35:40 +0000 Thomas Vander Stichele * README: test commit Original commit message from CVS: test commit 2007-05-29 10:34:15 +0000 Thomas Vander Stichele * README: test commit Original commit message from CVS: test commit 2007-05-29 10:20:12 +0000 Thomas Vander Stichele * README: test commit Original commit message from CVS: test commit 2007-05-25 15:36:52 +0000 Wim Taymans gst/gstbin.c: Make sure that the child bin stops after completing the async state change so that the parent can conti... Original commit message from CVS: * gst/gstbin.c: (bin_handle_async_done): Make sure that the child bin stops after completing the async state change so that the parent can continue the state change to PLAYING. Fixes #441159. 2007-05-25 09:26:20 +0000 Wim Taymans libs/gst/base/gstcollectpads.c: Use additional refcounting to avoid crashes when dynamically adding and removing pads... Original commit message from CVS: * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize), (unref_data), (gst_collect_pads_remove_pad), (gst_collect_pads_check_pads): Use additional refcounting to avoid crashes when dynamically adding and removing pads. Fixes #420206. 2007-05-24 15:00:55 +0000 Wim Taymans tools/gst-launch.c: When buffering goes from a two digit to a single digit number, make sure to remove the old second... Original commit message from CVS: * tools/gst-launch.c: (event_loop): When buffering goes from a two digit to a single digit number, make sure to remove the old second digit by writing a blank over it. 2007-05-24 12:19:01 +0000 Tim-Philipp Müller libs/gst/base/gstdataqueue.c: Eliminate tabs and trailing comma in enum list; fix some typos. Original commit message from CVS: * libs/gst/base/gstdataqueue.c: Eliminate tabs and trailing comma in enum list; fix some typos. 2007-05-24 11:50:47 +0000 Wim Taymans tests/check/gst/gstbin.c: Allow refcount of 3 and 4 because some state thread might still be busy with it. Original commit message from CVS: * tests/check/gst/gstbin.c: (GST_START_TEST): Allow refcount of 3 and 4 because some state thread might still be busy with it. 2007-05-24 09:41:51 +0000 Tim-Philipp Müller plugins/elements/: These are not installed headers, no need for padding. Original commit message from CVS: * plugins/elements/Makefile.am: * plugins/elements/gstmultiqueue.h: * plugins/elements/gstqueue.h: These are not installed headers, no need for padding. 2007-05-24 08:35:04 +0000 Wim Taymans gst/gstbin.c: Enable latency for next release. Original commit message from CVS: * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func), (gst_bin_continue_func): Enable latency for next release. Restore STATE_LOCK around recalc_state that was left out during the rewrite and could result in racy behaviour when _get_state and recalc_state are run concurrently. See #440463. 2007-05-23 13:56:25 +0000 Wim Taymans tests/check/gst/gstsystemclock.c: Improve test_async_order to also work when both timers are already expired when we ... Original commit message from CVS: * tests/check/gst/gstsystemclock.c: (store_callback), (GST_START_TEST): Improve test_async_order to also work when both timers are already expired when we get scheduled to check it. 2007-05-22 17:10:04 +0000 Tim-Philipp Müller gst/gstbin.*: 'private' is a c++ keyword, let's not use that in header files, otherwise c++ compilers will throw a ta... Original commit message from CVS: * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property), (gst_bin_remove_func), (gst_bin_handle_message_func): * gst/gstbin.h: 'private' is a c++ keyword, let's not use that in header files, otherwise c++ compilers will throw a tantrum. 2007-05-22 11:55:33 +0000 Tim-Philipp Müller plugins/: Use #ifdef for HAVE_XYZ for consistency. Original commit message from CVS: * plugins/elements/gstelements.c: * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek), (gst_file_sink_get_current_offset): * plugins/indexers/gstindexers.c: (plugin_init): Use #ifdef for HAVE_XYZ for consistency. * tests/check/Makefile.am: * tests/check/elements/.cvsignore: * tests/check/elements/filesink.c: (setup_filesink), (cleanup_filesink), (GST_START_TEST), (filesink_suite): Add some unit tests for filesink. 2007-05-22 11:43:07 +0000 Mark Nauwelaerts plugins/elements/gstfilesink.*: Fix position reporting; rename data_written member to current_pos to reflect its real... Original commit message from CVS: Patch by: Mark Nauwelaerts * plugins/elements/gstfilesink.c: (gst_file_sink_open_file), (gst_file_sink_query), (gst_file_sink_do_seek), (gst_file_sink_get_current_offset), (gst_file_sink_render): * plugins/elements/gstfilesink.h: Fix position reporting; rename data_written member to current_pos to reflect its real meaning (fixes #412648). 2007-05-22 11:09:45 +0000 Edward Hervey Add a property for bins that handle the state change of their childs. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property), (gst_bin_remove_func), (gst_bin_handle_message_func): * gst/gstbin.h: Add a property for bins that handle the state change of their childs. Fixes #435880 2007-05-22 10:21:31 +0000 Thomas Vander Stichele * docs/manual/appendix-quotes.xml: * docs/manual/manual.xml: add quote Original commit message from CVS: add quote 2007-05-22 09:56:25 +0000 Sebastian Dröge libs/gst/controller/gstinterpolation.c: Use an array of the correct type when using _get_value_array with linear inte... Original commit message from CVS: * libs/gst/controller/gstinterpolation.c: Use an array of the correct type when using _get_value_array with linear interpolation. 2007-05-22 06:37:37 +0000 Stefan Kost * ChangeLog: * gst/gstelement.c: * gst/gstpad.c: * gst/gstpad.h: * gst/gstpipeline.c: gst/gstelement.c (gst_element_requires_clock, gst_element_provides_clock, gst_element_request_pad, gst_element_class_... Original commit message from CVS: * gst/gstelement.c (gst_element_requires_clock, gst_element_provides_clock, gst_element_request_pad, gst_element_class_set_details, gst_element_class_set_details_simple, gst_element_default_send_event, gst_element_abort_state, gst_element_continue_state, gst_element_set_state, gst_element_set_state_func, iterator_activate_fold_with_resync): * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function, gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src, gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push, gst_pad_get_range, gst_pad_pull_range): * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS, GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction, GstPadActivateModeFunction, GstPadChainFunction, GstPadGetCapsFunction, GstPadAcceptCapsFunction, GstPadFixateCapsFunction, GstPadTemplate): * gst/gstpipeline.c (gst_pipeline_change_state, gst_pipeline_set_new_stream_time, gst_pipeline_use_clock, gst_pipeline_set_clock, gst_pipeline_auto_clock, gst_pipeline_get_delay): Whitespace and docs fixes. 2007-05-21 21:48:07 +0000 Sebastian Dröge libs/gst/controller/gstinterpolation.c: Add support for retrieving value arrays when using the trigger interpolation ... Original commit message from CVS: * libs/gst/controller/gstinterpolation.c: (interpolate_trigger_get_enum_value_array), (interpolate_trigger_get_string_value_array): Add support for retrieving value arrays when using the trigger interpolation mode. 2007-05-21 21:34:49 +0000 Sebastian Dröge libs/gst/controller/gstcontroller.*: Clarify the docs of gst_controller_get_value_array(): The array where the values... Original commit message from CVS: * libs/gst/controller/gstcontroller.c: (gst_controller_get_value_array): * libs/gst/controller/gstcontroller.h: Clarify the docs of gst_controller_get_value_array(): The array where the values should be written to must be allocated as there seems to be no way to get the size of a random GType. This doesn't change any behaviour. Also fix some typos all over the place and remove an unused, commented function that is not necessary as g_object_set() could be used instead. * tests/check/libs/controller.c: (GST_START_TEST), (gst_controller_suite): Add unit test for gst_controller_get_value_array(). 2007-05-21 14:50:51 +0000 Jan Schmidt tests/check/gst/gstbuffer.c: Disable part of the gst_buffer_try_new_and_alloc test, because it can happily succeed on... Original commit message from CVS: * tests/check/gst/gstbuffer.c: (GST_START_TEST): Disable part of the gst_buffer_try_new_and_alloc test, because it can happily succeed on 64-bit systems where there's more address space available. 2007-05-21 12:05:56 +0000 Sebastian Dröge tests/check/gst/gstpad.c: Add unit test for the improved caps checking from bug #421543. Original commit message from CVS: * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite): Add unit test for the improved caps checking from bug #421543. 2007-05-21 12:05:14 +0000 Wim Taymans docs/design/part-synchronisation.txt: Small addition. Original commit message from CVS: * docs/design/part-synchronisation.txt: Small addition. * gst/gstbin.c: (gst_bin_query): * plugins/elements/gstqueue.c: (apply_segment): Improve debugging. * gst/gstmessage.h: Improve docs. 2007-05-21 12:00:42 +0000 Wim Taymans gst/gstpad.c: Added simple version of improved caps checking. It was previously assumed that a setcaps function would... Original commit message from CVS: * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_acceptcaps_default), (gst_pad_configure_sink), (gst_pad_configure_src): Added simple version of improved caps checking. It was previously assumed that a setcaps function would check the validity of the caps but people prefer us to check caps against the template automatically. Fixes #421543. 2007-05-21 11:29:28 +0000 Wim Taymans libs/gst/base/gstbasetransform.h: Fix macro for locking/unlocking the transform lock. Original commit message from CVS: * libs/gst/base/gstbasetransform.h: Fix macro for locking/unlocking the transform lock. 2007-05-19 13:53:23 +0000 Tim-Philipp Müller docs/plugins/tmpl/.cvsignore: Ignore more. Original commit message from CVS: * docs/plugins/tmpl/.cvsignore: Ignore more. 2007-05-18 16:53:18 +0000 Edward Hervey plugins/elements/gstqueue.c: Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix for the subtle a... Original commit message from CVS: * plugins/elements/gstqueue.c: (gst_queue_loop): Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix for the subtle art of warning a potentially blocking thread that it should check the source pad return value, and relay the information upstream. 2007-05-18 11:20:33 +0000 Edward Hervey plugins/elements/gstqueue.c: Release the queue lock ! Original commit message from CVS: * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event): Release the queue lock ! 2007-05-17 17:55:48 +0000 Sebastian Dröge docs/libs/gstreamer-libs-sections.txt: Add the two new controller functions to the appropiate places. Original commit message from CVS: * docs/libs/gstreamer-libs-sections.txt: Add the two new controller functions to the appropiate places. 2007-05-17 17:37:58 +0000 Sebastian Dröge libs/gst/controller/: API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync() Original commit message from CVS: reviewed by: Stefan Kost * libs/gst/controller/gstcontroller.c: (gst_controller_suggest_next_sync), (gst_controller_sync_values), (_gst_controller_get_property), (_gst_controller_set_property), (_gst_controller_init), (_gst_controller_class_init): * libs/gst/controller/gstcontroller.h: * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync), (gst_object_get_control_rate), (gst_object_set_control_rate): API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync() Add API that provides sync suggestion timestamps for elements that call gst_object_sync_values() from which those elements can subdivide their processing loop to get the best results for the controlled properties. For now it just suggests last_sync + control_rate as new timestamp but this will be improved in the future. While doing that change the control-rate property to a GstClockTime from guint and change it's meaning from samples to nanoseconds as the GstController doesn't know anything about sampling rate. Strictly speaking this breaks ABI but as the control-rate property didn't do anything in the past and as such couldn't be used this should be no problem. 2007-05-17 17:16:09 +0000 Sebastian Dröge libs/gst/controller/: Save last synced value from the list to continue searching from there in future syncs. This spe... Original commit message from CVS: reviewed by: Stefan Kost * libs/gst/controller/gstcontroller.c: (gst_controller_unset), (gst_controller_unset_all): * libs/gst/controller/gstcontrollerprivate.h: * libs/gst/controller/gstinterpolation.c: (gst_controlled_property_find_control_point_node): Save last synced value from the list to continue searching from there in future syncs. This speeds everything up a bit. 2007-05-17 17:05:36 +0000 Sebastian Dröge libs/gst/controller/: Add a new private GstControlPoint struct which "inherits" from Original commit message from CVS: reviewed by: Stefan Kost * libs/gst/controller/gstcontroller.c: (gst_control_point_compare), (gst_control_point_find), (gst_controlled_property_new), (gst_control_point_free), (gst_controlled_property_free), (gst_controller_set), (gst_controller_set_from_list), (gst_controller_unset), (gst_controller_unset_all), (gst_controller_sync_values): * libs/gst/controller/gstcontroller.h: * libs/gst/controller/gstcontrollerprivate.h: * libs/gst/controller/gstinterpolation.c: (gst_controlled_property_find_control_point_node), (interpolate_none_get), (interpolate_trigger_get): Add a new private GstControlPoint struct which "inherits" from GstTimedValue to allow different interpolators to store internal values next to each control point. From the outside everything is still a GstControlPoint so we don't loose binary compatibility. Also fixup all the GValue handling to not leak GValues or list nodes. * tests/check/libs/controller.c: (GST_START_TEST): Free the list nodes and GValues in the controller_misc test. 2007-05-17 11:05:22 +0000 Edward Hervey gst/gstsegment.c: Small doc fix. Original commit message from CVS: * gst/gstsegment.c: Small doc fix. 2007-05-16 19:35:46 +0000 Tim-Philipp Müller gst/gstplugin.c: If we fail to load a plugin because of unresolved symbols or missing libraries and spew a warning to... Original commit message from CVS: * gst/gstplugin.c: (gst_plugin_load_file): If we fail to load a plugin because of unresolved symbols or missing libraries and spew a warning to stderr, we may just as well mention which plugin it was that failed to load. 2007-05-13 20:28:14 +0000 David Schleef docs/Makefile.am: the gtk-doc makefile snippet correctly handles the case when ENABLE_GTK_DOC is false, and installs ... Original commit message from CVS: * docs/Makefile.am: the gtk-doc makefile snippet correctly handles the case when ENABLE_GTK_DOC is false, and installs the prebuilt documentation. So gtk-doc subdirs are unconditionally enabled. Fixes: #349099. 2007-05-13 20:11:27 +0000 David Schleef gst/gstutils.h: Reword some documentation. Original commit message from CVS: * gst/gstutils.h: Reword some documentation. 2007-05-13 00:20:35 +0000 David Schleef gst/gstplugin.c: gst_plugin_register_func() doesn't actually do anything with the passed "module" parameter, so remov... Original commit message from CVS: * gst/gstplugin.c: gst_plugin_register_func() doesn't actually do anything with the passed "module" parameter, so remove it. Allows removal of additional vestigal code. 2007-05-13 00:09:00 +0000 David Schleef gst/gstplugin.c: Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32. Original commit message from CVS: * gst/gstplugin.c: Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32. Switch to using g_stat() because it's more portable. 2007-05-12 23:53:08 +0000 David Schleef gst/gst.c: Add GST_DISABLE_OPTION_PARSING, in order to disable option parsing for embedded systems. Original commit message from CVS: * gst/gst.c: Add GST_DISABLE_OPTION_PARSING, in order to disable option parsing for embedded systems. * gst/gstelementfactory.c: Allow gst_element_register() to be called with plugin==NULL. Did nobody notice that static elements were broken? 2007-05-12 15:38:02 +0000 Wim Taymans tools/gst-launch.c: Give more interesting info when buffering starts and stops. Original commit message from CVS: * tools/gst-launch.c: (event_loop): Give more interesting info when buffering starts and stops. Fix case where buffering starts but we fail to update the buffering flag because the target state is not PLAYING. 2007-05-12 15:35:40 +0000 Wim Taymans plugins/elements/gstqueue.*: Refactor an cleanup queue a bit. Original commit message from CVS: * plugins/elements/gstqueue.c: (gst_queue_init), (gst_queue_finalize), (update_time_level), (apply_segment), (apply_buffer), (gst_queue_locked_flush), (gst_queue_locked_enqueue), (gst_queue_locked_dequeue), (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop): * plugins/elements/gstqueue.h: Refactor an cleanup queue a bit. Do better time level calculations that also work when the srcpad is not yet running. Remove some unneeded debug lines. * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite): Added testcase for time level measurement. Try to make some stuff more racefree. 2007-05-11 14:46:10 +0000 Tim-Philipp Müller gst/gsturi.c: Don't leak plugin feature. Original commit message from CVS: * gst/gsturi.c: (gst_element_make_from_uri): Don't leak plugin feature. * tests/check/Makefile.am: * tests/check/gst/.cvsignore: * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite): Add brain-dead unit test. 2007-05-11 14:28:55 +0000 Jeroen Wouters gst/gsturi.c: Treat protocol strings in a case-insensitive way (#437563). Original commit message from CVS: Patch by: Jeroen Wouters * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry): Treat protocol strings in a case-insensitive way (#437563). 2007-05-11 10:56:48 +0000 Michael Smith gst/: Don't print a g_warning for any failure to load a shared object. Original commit message from CVS: * gst/gstplugin.c: (gst_plugin_load_file): * gst/gstregistry.c: (gst_registry_scan_path_level): Don't print a g_warning for any failure to load a shared object. Instead, push this down into gstplugin.c, and warn _only_ if we failed to open the module (i.e. failure to link). Avoids warnings on normal, working, non-plugin .so files. 2007-05-11 08:29:10 +0000 Stefan Kost gst/gstplugin.c (gst_plugin_load_file): gst/gstregistry.c (GST_CAT_DEFAULT, gst_registry_lookup_feature_locked, gst_r... Original commit message from CVS: * gst/gstplugin.c (gst_plugin_load_file): * gst/gstregistry.c (GST_CAT_DEFAULT, gst_registry_lookup_feature_locked, gst_registry_scan_path_level): Print a g_warning if there was an error when loading a plugins during registry scan. The shuld help beginners starting with gst-plugin template. 2007-05-10 15:21:20 +0000 Wim Taymans plugins/elements/gstqueue.*: Be smarter when calculating the current amount of data in the queue by measuring the dif... Original commit message from CVS: * plugins/elements/gstqueue.c: (gst_queue_class_init), (update_time_level), (gst_queue_locked_flush), (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop): * plugins/elements/gstqueue.h: Be smarter when calculating the current amount of data in the queue by measuring the difference between start and end timestamps (in running time) inside the queue. Fixes #432876. API: GstQueue::pushing to notify elements that we are pushing data again since the running signal is rather broken for this purpose. 2007-05-10 12:40:12 +0000 Stefan Kost * ChangeLog: * common: * plugins/elements/gstqueue.c: plugins/elements/gstqueue.c (_do_init, gst_queue_signals, gst_queue_base_init, gst_queue_init): use GST_BOILERPLATE Original commit message from CVS: * plugins/elements/gstqueue.c (_do_init, gst_queue_signals, gst_queue_base_init, gst_queue_init): use GST_BOILERPLATE 2007-05-09 21:06:06 +0000 Sébastien Moutte win32/common/libgstreamer.def: Add new exported functions. Original commit message from CVS: * win32/common/libgstreamer.def: Add new exported functions. * win32/vs6/grammar.dsp: Use grammar pre-generated files. 2007-05-09 16:32:07 +0000 Peter Kjellerstedt gst/: Maintain API and ABI when --disable-parse is used. Now that we have an appropriate error code, we can just retu... Original commit message from CVS: Based on patch by: Peter Kjellerstedt * gst/Makefile.am: * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch): * gst/gstparse.h: * gst/gstutils.c: (gst_parse_bin_from_description): * gst/gstutils.h: Maintain API and ABI when --disable-parse is used. Now that we have an appropriate error code, we can just return NULL and the appropriate error when gst_parse_launch() is used despite it having been disabled (#342564). * tests/check/Makefile.am: * tests/check/pipelines/.cvsignore: * tests/check/pipelines/parse-disabled.c: Make sure these functions exist and return NULL plus a GError when --disable-parse is used. 2007-05-09 10:01:35 +0000 Tim-Philipp Müller tests/benchmarks/: Set a good example and don't leak messages. Original commit message from CVS: * tests/benchmarks/complexity.c: (main): * tests/benchmarks/mass-elements.c: (main): Set a good example and don't leak messages. 2007-05-06 18:27:25 +0000 Stefan Kost docs/: Correct fixxrefs options. Original commit message from CVS: * docs/gst/Makefile.am: * docs/libs/Makefile.am: Correct fixxrefs options. * docs/plugins/Makefile.am: * docs/plugins/gstreamer-plugins-docs.sgml: * docs/plugins/gstreamer-plugins-sections.txt: * plugins/elements/Makefile.am: * plugins/elements/gstcapsfilter.c (gst_capsfilter_details): * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__, GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS, GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter, GstCapsFilterClass, _GstCapsFilter, trans, filter_caps, _GstCapsFilterClass, trans_class): * plugins/elements/gstelements.c (name, rank, type, _elements): * plugins/elements/gstidentity.c (gst_identity_check_imperfect_timestamp, gst_identity_check_imperfect_offset): Document capsfilter and add doc-blurb to identity. 2007-05-04 12:37:01 +0000 Tim-Philipp Müller libs/gst/controller/: Don't crash if someone tries to set an interpolation mode that is invalid or that isn't support... Original commit message from CVS: * libs/gst/controller/gstcontroller.c: (gst_controlled_property_set_interpolation_mode): * libs/gst/controller/gstinterpolation.c: Don't crash if someone tries to set an interpolation mode that is invalid or that isn't supported yet. Fixes #422295. * tests/check/libs/controller.c: (GST_START_TEST), (gst_controller_suite): Add a test case for the above. 2007-05-03 16:44:34 +0000 Edward Hervey libs/gst/base/gstbasetransform.c: Properly set the last_stop position on GstSegment. This will only happen if there i... Original commit message from CVS: * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain): Properly set the last_stop position on GstSegment. This will only happen if there is a buffer to push out. 2007-05-03 14:58:05 +0000 Wim Taymans libs/gst/base/gstbasetransform.c: always_in_place does not mean that the sink and source caps are the same! Make sure... Original commit message from CVS: * libs/gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc): always_in_place does not mean that the sink and source caps are the same! Make sure we don't blindly proxy the buffer_alloc in this case. 2007-05-03 14:54:34 +0000 Wim Taymans API: gst_base_src_query_latency(). Added method so that subclasses can easily get the latency values of the base sour... Original commit message from CVS: * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency), (gst_base_src_default_query), (gst_base_src_get_range): * libs/gst/base/gstbasesrc.h: API: gst_base_src_query_latency(). Added method so that subclasses can easily get the latency values of the base source class. 2007-05-03 09:24:58 +0000 Zaheer Abbas Merali tools/gst-inspect.c (print_implementation_info): Remove 0.8 cruft. Original commit message from CVS: * tools/gst-inspect.c (print_implementation_info): Remove 0.8 cruft. 2007-05-02 17:09:30 +0000 Tim-Philipp Müller tools/: Don't create a customised man page based on the host architecture, describe the default registry path generic... Original commit message from CVS: * tools/Makefile.am: * tools/gst-launch.1.in: Don't create a customised man page based on the host architecture, describe the default registry path generically. That way the man page is the same for all architectures and packagers have one multilib issue less to deal with. Fixes #434926. 2007-05-02 15:14:32 +0000 Wim Taymans gst/gstpad.c: Fix documentation as spotted by rg on IRC. Original commit message from CVS: * gst/gstpad.c: Fix documentation as spotted by rg on IRC. 2007-04-29 17:36:18 +0000 Stefan Kost gst/gstutils.c: Improve docs for gst_element_{link,unlink}. Original commit message from CVS: * gst/gstutils.c: Improve docs for gst_element_{link,unlink}. 2007-04-29 14:04:26 +0000 Thomas Vander Stichele * common: * docs/README: update README Original commit message from CVS: update README 2007-04-28 11:29:54 +0000 Tim-Philipp Müller Typo fixes; minor docs addition. Original commit message from CVS: * docs/design/part-events.txt: * docs/design/part-overview.txt: * gst/gstevent.c: * gst/gsturi.c: * gst/gsturi.h: * libs/gst/base/gstbasesink.c: Typo fixes; minor docs addition. 2007-04-27 08:30:59 +0000 Sebastian Dröge API: Add gst_uri_protocol_is_supported(), which checks if an sink or src that supports a given URI protocol exists. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gsturi.c: (get_element_factories_from_uri_protocol), (gst_uri_protocol_is_supported), (gst_element_make_from_uri): * gst/gsturi.h: API: Add gst_uri_protocol_is_supported(), which checks if an sink or src that supports a given URI protocol exists. 2007-04-27 07:34:10 +0000 Sebastian Dröge plugins/elements/: Set the location to NULL if "file://" is set as URI. Otherwise some random previous URI would stil... Original commit message from CVS: * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri): * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri): Set the location to NULL if "file://" is set as URI. Otherwise some random previous URI would still be set if "file://" is set on an already used filesink/filesrc. 2007-04-27 07:27:36 +0000 Sebastian Dröge plugins/elements/: Special case the "file://" URI as as this is used by some applications to test with gst_element_ma... Original commit message from CVS: * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri): * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri): Special case the "file://" URI as as this is used by some applications to test with gst_element_make_from_uri if there's an element that supports the URI protocol. Also move the g_path_is_absolute() check for the location part of the URI to also check this for "file://localhost/bla" URIs. 2007-04-26 10:00:49 +0000 Tim-Philipp Müller API: add gst_buffer_try_new_and_alloc() plus unit test (#431940). Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc): * gst/gstbuffer.h: * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_buffer_suite): API: add gst_buffer_try_new_and_alloc() plus unit test (#431940). 2007-04-26 07:32:08 +0000 Stefan Kost gst/gstregistrybinary.*: Implement no-mmap alternative for registry reading. Do code cleanups. Original commit message from CVS: * gst/gstregistrybinary.c: (gst_registry_binary_write_cache), (gst_registry_binary_load_pad_template), (gst_registry_binary_load_plugin), (gst_registry_binary_read_cache): * gst/gstregistrybinary.h: Implement no-mmap alternative for registry reading. Do code cleanups. Add more comments about avoiding strdups for all text data. Comments welcome. 2007-04-25 12:30:27 +0000 Stefan Kost * ChangeLog: * gst/gstregistrybinary.h: gst/gstregistrybinary.h (GstBinaryPluginElement, Original commit message from CVS: * gst/gstregistrybinary.h (GstBinaryPluginElement, GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature, GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature): Comment structs and reformat to fix the build (that stuff should go into a priv. header). 2007-04-25 11:44:29 +0000 Stefan Kost gst/gstregistrybinary.*: Refactor so that we can implement multiple features. Add support for Original commit message from CVS: * gst/gstregistrybinary.c: (gst_registry_binary_save_feature), (gst_registry_binary_load_feature): * gst/gstregistrybinary.h: Refactor so that we can implement multiple features. Add support for TypeFindFactory features. 2007-04-24 06:14:35 +0000 Peter Kjellerstedt configure.ac: Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment. Original commit message from CVS: Patch by: Peter Kjellerstedt * configure.ac: Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment. 2007-04-23 07:30:38 +0000 Stefan Kost gst/gstbin.c: Fix build with --gst-disable-gst-debug Original commit message from CVS: * gst/gstbin.c: (gst_bin_element_set_state), (iterator_activate_fold_with_resync), (gst_bin_continue_func), (bin_handle_async_done), (gst_bin_handle_message_func): Fix build with --gst-disable-gst-debug 2007-04-21 13:27:16 +0000 Tim-Philipp Müller libs/gst/base/gstbasetransform.c: Make sure streaming has finished before calling the ::stop() vfunc, since that vfun... Original commit message from CVS: * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate): Make sure streaming has finished before calling the ::stop() vfunc, since that vfunc might clear state which is being used in the streaming thread. This fixes a race that caused crashes in audioresample when shutting down a pipeline (#420106). 2007-04-20 08:53:41 +0000 Stefan Kost docs/gst/gstreamer-sections.txt: That was one byte missing. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: That was one byte missing. 2007-04-20 08:39:35 +0000 Stefan Kost 2nd attempt to have a xml-less build as a joined effort of #413123 and #421480. Original commit message from CVS: * configure.ac: * docs/gst/gstreamer-sections.txt: * gst/Makefile.am: * gst/gstconfig.h.in: * gst/gstobject.c: (gst_object_class_init), (gst_signal_object_class_init): * gst/gstobject.h: 2nd attempt to have a xml-less build as a joined effort of #413123 and #421480. 2007-04-20 08:21:19 +0000 Stefan Kost docs/design/draft-tagreading.txt: Added open issues/thoughts to draft. Original commit message from CVS: * docs/design/draft-tagreading.txt: Added open issues/thoughts to draft. 2007-04-19 14:32:49 +0000 Sebastian Dröge gst/parse/: Update the prebuild parser sources. Original commit message from CVS: * gst/parse/grammar.tab.pre.c: * gst/parse/grammar.tab.pre.h: * gst/parse/lex._gst_parse_yy.pre.c: Update the prebuild parser sources. 2007-04-19 14:23:25 +0000 Sebastian Dröge gst/parse/Makefile.am: And now fix the building of the flex sources. Now everything should work as expected. Original commit message from CVS: * gst/parse/Makefile.am: And now fix the building of the flex sources. Now everything should work as expected. 2007-04-19 14:06:52 +0000 Sebastian Dröge gst/parse/Makefile.am: Now hopefully fix the build failures by setting proper rule dependencies and moving instead of... Original commit message from CVS: * gst/parse/Makefile.am: Now hopefully fix the build failures by setting proper rule dependencies and moving instead of copying. 2007-04-19 10:43:14 +0000 Stefan Kost tests/benchmarks/: Total licensification. Original commit message from CVS: * tests/benchmarks/complexity.gnuplot: * tests/benchmarks/complexity.scm: * tests/benchmarks/mass-elements.gnuplot: * tests/benchmarks/mass-elements.scm: Total licensification. 2007-04-19 10:22:29 +0000 Stefan Kost gst/parse/Makefile.am: Fix the build by correcting the rule that gave wrong files to flex. Original commit message from CVS: * gst/parse/Makefile.am: Fix the build by correcting the rule that gave wrong files to flex. 2007-04-19 08:40:33 +0000 Stefan Kost tests/benchmarks/: Change licence to LGPL as granted by Benjamin and Andy. Original commit message from CVS: * tests/benchmarks/complexity.c: * tests/benchmarks/mass-elements.c: Change licence to LGPL as granted by Benjamin and Andy. 2007-04-19 06:18:24 +0000 Sebastian Dröge gst/parse/Makefile.am: Add correct grammar.tab.h dependency if compiling without new enough flex. Fixes #431150. Original commit message from CVS: * gst/parse/Makefile.am: Add correct grammar.tab.h dependency if compiling without new enough flex. Fixes #431150. 2007-04-18 13:34:48 +0000 Sebastian Dröge gst/parse/Makefile.am: Fix typo and use outdated sources if the flex/bison sources are newer than the pregenerated on... Original commit message from CVS: * gst/parse/Makefile.am: Fix typo and use outdated sources if the flex/bison sources are newer than the pregenerated ones but flex is too old. Print a warning in that case. This should fix the build on the build bot. 2007-04-18 12:34:51 +0000 Marc-Andre Lureau gst/parse/: Make the parser reentrant and recursively callable. This requires flex >= 2.5.31, for older versions preg... Original commit message from CVS: Patch by: Marc-Andre Lureau * gst/parse/Makefile.am: * gst/parse/grammar.y: * gst/parse/parse.l: Make the parser reentrant and recursively callable. This requires flex >= 2.5.31, for older versions pregenerated sources are used as we can't bump the build dependency. Finally fixes #349180. * gst/gstparse.c: (gst_parse_launch): Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex now anyway. * docs/gst/Makefile.am: * docs/gst/Makefile.am: * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup), (__gst_parse_strfree), (__gst_parse_link_new), (__gst_parse_link_free), (__gst_parse_chain_new), (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF), (gst_parse_element_set), (gst_parse_free_link), (gst_parse_found_pad), (gst_parse_perform_delayed_link), (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror), (_gst_parse_launch): * gst/parse/grammar.tab.pre.h: * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer), (yy_get_previous_state), (yy_try_NUL_trans), (input), (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer), (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer), (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer), (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state), (_gst_parse_yypop_buffer_state), (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer), (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes), (yy_fatal_error), (_gst_parse_yyget_extra), (_gst_parse_yyget_lineno), (_gst_parse_yyget_column), (_gst_parse_yyget_in), (_gst_parse_yyget_out), (_gst_parse_yyget_leng), (_gst_parse_yyget_text), (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno), (_gst_parse_yyset_column), (_gst_parse_yyset_in), (_gst_parse_yyset_out), (_gst_parse_yyget_debug), (_gst_parse_yyset_debug), (_gst_parse_yyget_lval), (_gst_parse_yyset_lval), (_gst_parse_yylex_init), (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy), (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc), (_gst_parse_yyfree): If the installed flex version is too old use pre-generated parser sources. These pre-generated parser sources are always updated when the actual flex/bison sources change but require everybody who wants to change something in the parser to have flex >= 2.5.31 installed. 2007-04-18 10:58:31 +0000 Stefan Kost Make --disable-nls to work Original commit message from CVS: * common/m4/gst-gettext.m4: * gst/gst-i18n-lib.h: Make --disable-nls to work 2007-04-17 16:12:46 +0000 Wim Taymans gst/gstconfig.h.in: Revert previous change that broke the build. Original commit message from CVS: * gst/gstconfig.h.in: Revert previous change that broke the build. 2007-04-17 14:36:35 +0000 Thomas Vander Stichele * docs/faq/gst-uninstalled: MANPATH fix Original commit message from CVS: MANPATH fix 2007-04-17 10:46:46 +0000 Stefan Kost Drop libxml2 dependency when building with Original commit message from CVS: * configure.ac: * gst/Makefile.am: * gst/gstconfig.h.in: Drop libxml2 dependency when building with --enable-binary-registry --disable-loadsave 2007-04-16 21:41:45 +0000 Thomas Vander Stichele * gstreamer.doap: fix the release date in the doap file Original commit message from CVS: fix the release date in the doap file 2007-04-16 19:45:31 +0000 Tim-Philipp Müller gst/gstregistrybinary.*: Remove unnecessary include which broke the win32 build with MingW; move include... Original commit message from CVS: * gst/gstregistrybinary.c: (gst_registry_binary_write_cache), (gst_registry_binary_read_cache): * gst/gstregistrybinary.h: Remove unnecessary include which broke the win32 build with MingW; move includes from header file to .c file, even if the header file isn't installed; use g_strerror() where UTF-8 strings are expected, such as in GST_DEBUG messages. 2007-04-13 15:15:50 +0000 Jan Schmidt docs/libs/gstreamer-libs-sections.txt: Remove bogus addition for API I didn't end up keeping. Original commit message from CVS: * docs/libs/gstreamer-libs-sections.txt: Remove bogus addition for API I didn't end up keeping. * libs/gst/base/gstbasesrc.h: Mention Since: 0.10.13 in the documentation. Add the API keyword to the previous ChangeLog entry. 2007-04-13 14:18:44 +0000 Jan Schmidt Allow basesrc derived classes to execute seeks in other formats by providing a prepare_seek_segment vmethod. Sub-clas... Original commit message from CVS: * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init), (gst_base_src_default_prepare_seek_segment), (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek): * libs/gst/base/gstbasesrc.h: Allow basesrc derived classes to execute seeks in other formats by providing a prepare_seek_segment vmethod. Sub-classes can choose to prepare the GstSegment in any format that their perform_seek method will be able to understand. The default implementation provides the old behaviour of attempting to convert the seek offsets to the configured native format. 2007-04-13 11:53:00 +0000 Jan Schmidt gst/gstelement.c: Don't output the same debug statement twice. Original commit message from CVS: * gst/gstelement.c: (gst_element_get_state_func): Don't output the same debug statement twice. * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up), (gst_adapter_peek), (gst_adapter_take_buffer): Optimise the case where we have buffers at the head of the queue that can be joined quickly (because they're contiguous sub-buffers) by merging them together rather than copying data out into new memory. * gst/parse/grammar.y: * tests/check/pipelines/parse-launch.c: Fix a leak in an error path for parse_launch, and add a check for it to the testsuite. 2007-04-13 11:20:48 +0000 Jan Schmidt plugins/elements/gstmultiqueue.c: Don't deadlock when releasing a pad - gst_pad_set_active may try and take the multi... Original commit message from CVS: * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad): Don't deadlock when releasing a pad - gst_pad_set_active may try and take the multiqueue lock too. 2007-04-12 12:59:49 +0000 Tim-Philipp Müller gst/gsterror.*: API: add GST_CORE_ERROR_DISABLED (#392804). Original commit message from CVS: * gst/gsterror.c: (_gst_core_errors_init): * gst/gsterror.h: API: add GST_CORE_ERROR_DISABLED (#392804). 2007-04-12 10:32:38 +0000 Thomas Vander Stichele docs/faq/gst-uninstalled: don't get empty paths on the PATH variables Original commit message from CVS: * docs/faq/gst-uninstalled: don't get empty paths on the PATH variables * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async): Don't format for the uncommon terminal width of 84 characters. 2007-04-09 11:59:28 +0000 Thomas Vander Stichele * win32/common/config.h: back to head Original commit message from CVS: back to head 2007-04-09 08:17:13 +0000 Thomas Vander Stichele * gst/gstpad.c: don't format for the uncommon editor width of 84 characters Original commit message from CVS: don't format for the uncommon editor width of 84 characters 2007-04-06 11:48:17 +0000 Wim Taymans gst/gstpipeline.c: Only try to select a different pipeline clock when we went back to Original commit message from CVS: * gst/gstpipeline.c: (reset_stream_time), (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time): Only try to select a different pipeline clock when we went back to PAUSED and not when we merely got flushed. 2007-04-05 16:17:24 +0000 Michael Smith tools/gst-launch.1.in: fractions are better supported in gstreamer than ractions, so suggest using those. Original commit message from CVS: * tools/gst-launch.1.in: fractions are better supported in gstreamer than ractions, so suggest using those. 2007-04-05 13:49:42 +0000 Thomas Vander Stichele * po/nl.po: update dutch Original commit message from CVS: update dutch 2007-04-05 13:46:54 +0000 Thomas Vander Stichele po/: Added Danish translation. Original commit message from CVS: Submitted by: Mogens Jaeger * po/LINGUAS: * po/da.po: Added Danish translation. 2007-04-05 11:16:09 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Fix leak caused when refusing newsegment after EOS. Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_queue_object_unlocked), (gst_base_sink_event): Fix leak caused when refusing newsegment after EOS. * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init), (gst_fake_sink_init), (gst_fake_sink_set_property), (gst_fake_sink_get_property), (gst_fake_sink_preroll), (gst_fake_sink_render), (gst_fake_sink_change_state): * plugins/elements/gstfakesink.h: Add num-buffers property to make the element generate EOS after a configurable amount of buffers. API: fakesink::num-buffers property. * tests/check/elements/fakesink.c: (GST_START_TEST), (fakesink_suite): Fix GstBus leak in test. Test for fakesink num-buffers. 2007-04-05 10:10:08 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Don't accept anything after an EOS, return UNEXPECTED instead. Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_queue_object_unlocked), (gst_base_sink_event), (gst_base_sink_change_state): Don't accept anything after an EOS, return UNEXPECTED instead. * tests/check/elements/fakesink.c: (GST_START_TEST), (fakesink_suite): Unit test for new EOS behaviour. 2007-04-05 10:08:21 +0000 Wim Taymans gst/gstelement.c: Make padtemplates also work when they don't contain %s or %d. Original commit message from CVS: * gst/gstelement.c: (gst_element_get_request_pad): Make padtemplates also work when they don't contain %s or %d. 2007-04-05 10:06:20 +0000 Wim Taymans Improve _adjust_unlocked() so that it overflows less. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstclock.c: (gst_clock_adjust_unlocked), (gst_clock_unadjust_unlocked), (gst_clock_set_calibration): * gst/gstclock.h: Improve _adjust_unlocked() so that it overflows less. Add gst_clock_unadjust_unlocked to convert from external time to internal time based on calibration. Add some more debug. API: GstClock::gst_clock_unadjust_unlocked() 2007-04-03 11:02:41 +0000 Tommi Myöhänen plugins/elements/gstmultiqueue.c: Deactivate pads and free GstSingleQueue with gst_single_queue_free() when releasing... Original commit message from CVS: Patch by: Tommi Myöhänen * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad): Deactivate pads and free GstSingleQueue with gst_single_queue_free() when releasing sink pad. Fixes #425400. 2007-04-02 14:48:12 +0000 Stefan Kost docs/random/ensonic/dynlink.txt: More work on proposal for new core api. Original commit message from CVS: * docs/random/ensonic/dynlink.txt: More work on proposal for new core api. * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstbasetransform.h: API: GST_BASE_TRANSFORM_LOCK/UNLOCK added * libs/gst/controller/gstcontroller.c: (on_object_controlled_property_changed), (gst_controller_sync_values), (gst_controller_set_interpolation_mode): * libs/gst/controller/gstcontroller.h: Less verbose logging add docs for unimplemented parts and correctly return when using unavailable parts. 2007-03-29 16:04:45 +0000 Jan Schmidt gst/gstclock.c: Move all the debug to the CLOCK category, and associate it with the clock object. Original commit message from CVS: * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression): Move all the debug to the CLOCK category, and associate it with the clock object. 2007-03-29 15:53:03 +0000 Jan Schmidt libs/gst/base/gstadapter.c: Make take_buffer a bit quicker by removing redundant checks caused by calling gst_adapter... Original commit message from CVS: * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer): Make take_buffer a bit quicker by removing redundant checks caused by calling gst_adapter_take. 2007-03-28 18:38:11 +0000 Tim-Philipp Müller plugins/elements/gstmultiqueue.c: Don't leak GCond. Original commit message from CVS: * plugins/elements/gstmultiqueue.c: (gst_single_queue_free): Don't leak GCond. * tests/check/Makefile.am: * tests/check/elements/.cvsignore: * tests/check/elements/multiqueue.c: (setup_multiqueue), (GST_START_TEST), (multiqueue_suite): Add some dead simple unit tests for the 'multiqueue' element (some bits don't work yet and are disabled for now). 2007-03-28 18:25:16 +0000 Tim-Philipp Müller gst/gstelement.c: Make gst_element_get_request_pad() create request pads only for request pad templates and not for, ... Original commit message from CVS: * gst/gstelement.c: (gst_element_get_request_pad), (gst_element_class_get_request_pad_template): Make gst_element_get_request_pad() create request pads only for request pad templates and not for, say, sometimes pad templates. 2007-03-28 13:44:41 +0000 Stefan Kost docs/design/draft-klass.txt: Add example that needs more thinking. Original commit message from CVS: * docs/design/draft-klass.txt: Add example that needs more thinking. * docs/design/draft-missing-plugins.txt: More thoughts about wtrapper plugins. * docs/random/ensonic/embedded.txt: * docs/random/ensonic/profiling.txt: More design work. 2007-03-25 15:33:35 +0000 Wim Taymans libs/gst/base/gstbasesrc.c: Only push the segment events in the PLAYING state for live sources. Original commit message from CVS: * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range), (gst_base_src_loop): Only push the segment events in the PLAYING state for live sources. 2007-03-23 17:52:19 +0000 Jan Schmidt gst/gstpipeline.c: Modify the clock distribution path in PAUSED->PLAYING so that we never attempt to choose a new clo... Original commit message from CVS: * gst/gstpipeline.c: (gst_pipeline_change_state): Modify the clock distribution path in PAUSED->PLAYING so that we never attempt to choose a new clock unless we're actually leaving the PAUSED state for the first time. This prevents choosing a different clock when the state_change gets called for a 2nd time due to some element doing an async state change. 2007-03-22 18:28:00 +0000 Sebastian Dröge gst/gstpad.c: Revert last commit. This needs some more thoughts. Original commit message from CVS: * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink), (gst_pad_configure_src), (gst_pad_alloc_buffer_full), (gst_pad_chain_unchecked), (gst_pad_push): Revert last commit. This needs some more thoughts. 2007-03-22 17:12:23 +0000 Sebastian Dröge gst/gstpad.c: Check in set_caps if the caps are compatible with the pad and remove two functions that are redundant n... Original commit message from CVS: * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full), (gst_pad_chain_unchecked), (gst_pad_push): Check in set_caps if the caps are compatible with the pad and remove two functions that are redundant now. Fixes #421543. 2007-03-22 12:31:54 +0000 Wim Taymans tests/check/gst/gstsystemclock.c: Unref some more to make valgrind happy. Original commit message from CVS: * tests/check/gst/gstsystemclock.c: (GST_START_TEST), (mixed_thread), (mixed_async_cb), (gst_systemclock_suite): Unref some more to make valgrind happy. 2007-03-22 11:58:08 +0000 Wim Taymans gst/gstsystemclock.c: Fix anoying regression that survived a few releases. When adding an async entry while blocking ... Original commit message from CVS: * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked), (gst_system_clock_id_wait_jitter), (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule): Fix anoying regression that survived a few releases. When adding an async entry while blocking on a sync entry, the sync entry will unblock but still be busy, so it should continue to wait instead of returning _BUSY to the app. Add some comments here and there. * tests/check/gst/gstsystemclock.c: (mixed_thread), (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite): Add testcase for this. 2007-03-22 11:19:32 +0000 Wim Taymans libs/gst/base/gstbasesrc.c: Handle errors from the clock sync better, only UNSCHEDULED indicates a Original commit message from CVS: * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range): Handle errors from the clock sync better, only UNSCHEDULED indicates a WRONG_STATE and can silently pause the task. All other cases should error out. 2007-03-22 08:23:41 +0000 Wim Taymans gst/gstpad.c: Fix possible deadlock if pad eventfunc is not specified. Fixes #421177. Original commit message from CVS: Patch by: * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event): Fix possible deadlock if pad eventfunc is not specified. Fixes #421177. Improve debugging. 2007-03-21 18:13:40 +0000 Michael Smith docs/pwg/advanced-types.xml: Fix some errors in the typefinding docs pointed out on irc. Original commit message from CVS: * docs/pwg/advanced-types.xml: Fix some errors in the typefinding docs pointed out on irc. 2007-03-21 17:50:46 +0000 Jan Schmidt libs/gst/base/gstbasesrc.c: Clarify FIXME comment in the face of having added unlock_stop() Original commit message from CVS: * libs/gst/base/gstbasesrc.c: Clarify FIXME comment in the face of having added unlock_stop() 2007-03-21 11:52:04 +0000 Wim Taymans gst/gstbin.c: Prepare for release where we warn against possible app breakage in the case of live pipelines along wit... Original commit message from CVS: * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state): Prepare for release where we warn against possible app breakage in the case of live pipelines along with an env var to enable/disable live preroll mode (GST_COMPAT=[no-]live-preroll). 2007-03-20 14:25:15 +0000 Zaheer Abbas Merali plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset): So we should use correct constants for checking... Original commit message from CVS: * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset): So we should use correct constants for checking for None offset. 2007-03-20 14:17:47 +0000 Wim Taymans docs/design/part-block.txt: Mention the fact that the newly switched element should be set to at least PAUSED. Original commit message from CVS: * docs/design/part-block.txt: Mention the fact that the newly switched element should be set to at least PAUSED. 2007-03-20 10:23:25 +0000 Wim Taymans gst/gst.c: Fix compilation with registry disabled as spotted by Saur. Original commit message from CVS: * gst/gst.c: Fix compilation with registry disabled as spotted by Saur. 2007-03-20 09:46:11 +0000 Olivier Crete gst/gstelement.c: Look at the pending state too when syncing the element state to the parent. Fixes #420133. Original commit message from CVS: Patch by: Olivier Crete * gst/gstelement.c: (gst_element_sync_state_with_parent): Look at the pending state too when syncing the element state to the parent. Fixes #420133. 2007-03-19 15:01:40 +0000 Jan Schmidt libs/gst/base/: Add ::unlock_stop to basesrc and basesink. This allows an opportunity for sub-classes to correctly cl... Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing), (gst_base_sink_change_state): * libs/gst/base/gstbasesink.h: * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek), (gst_base_src_default_event), (gst_base_src_unlock_stop), (gst_base_src_deactivate): * libs/gst/base/gstbasesrc.h: Add ::unlock_stop to basesrc and basesink. This allows an opportunity for sub-classes to correctly clear any state they set trying to unlock, such as clearing out unlock commands from a command fd. * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init), (gst_fd_sink_render), (gst_fd_sink_unlock), (gst_fd_sink_unlock_stop): * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop), (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek): Implement unlock_stop in fdsrc and fdsink. Implement seeking in fdsrc when a seekable fd is passed, as in gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file 2007-03-19 12:07:32 +0000 Evan Nemerson gst/gstelement.c: Fix pad-added and pad-removed signal signatures so that the pad type is stated as GST_TYPE_PAD inst... Original commit message from CVS: Patch by: Evan Nemerson * gst/gstelement.c: (gst_element_class_init): Fix pad-added and pad-removed signal signatures so that the pad type is stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851. 2007-03-19 10:47:56 +0000 Wim Taymans docs/gst/gstreamer-sections.txt: Add new element field and method. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: Add new element field and method. * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state), (gst_bin_get_state_func), (gst_bin_element_set_state), (gst_bin_change_state_func), (gst_bin_continue_func), (bin_bus_handler), (bin_push_state_continue), (bin_handle_async_start), (bin_handle_async_done), (gst_bin_handle_message_func): Make async state changes a bit smarter by using new ASYNC_START and ASYNC_DONE messages. This reduces the number of times we run the state recalculation thread. Don't change state of element with a pending ASYNC_START message. Deprecate STATE_DIRTY messages. * gst/gstelement.c: (gst_element_init), (gst_element_send_event), (gst_element_get_state_func), (gst_element_continue_state), (gst_element_lost_state), (gst_element_set_state_func), (gst_element_change_state): * gst/gstelement.h: Keep the state that was last set by the app in a new element field. Don't allow state changes when handling an element event. Post ASYNC_START and ASYNC_DONE messages. Change lost_state so that we go to PAUSED and wait for the parent to set us to PLAYING again (so latency calculation can be performed) Export gst_element_change_state() method so that subclasses can use it. API: gst_element_change_state() API: GST_STATE_TARGET * gst/gstpipeline.c: (gst_pipeline_class_init), (reset_stream_time), (gst_pipeline_change_state), (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time): Using the new ASYNC_START message we can reset the base_time when needed. This can then be used to implement base_time redistribution in flushing seeks so that we can remove the explicit seek handling. Perform latency query and configuration when going to PLAYING. * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state), (gst_base_sink_query), (gst_base_sink_change_state): Post new ASYNC_START/ASYNC_DONE messages. * tests/check/generic/sinks.c: (GST_START_TEST): Fix test because the bin will not set the async element to PLAYING right away. * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST): Make the message check a little stronger. Handle ASYNC messages. * tests/check/pipelines/cleanup.c: (GST_START_TEST): * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST): Expect ASYNC_DONE messages. 2007-03-19 09:55:02 +0000 Wim Taymans Add ASYNC_START and ASYNC_DONE messages to prepare for latency support. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstmessage.c: (gst_message_new_async_start), (gst_message_new_async_done), (gst_message_parse_info), (gst_message_parse_async_start): * gst/gstmessage.h: Add ASYNC_START and ASYNC_DONE messages to prepare for latency support. 2007-03-15 22:33:14 +0000 Thomas Vander Stichele * docs/design/part-synchronisation.txt: typos Original commit message from CVS: typos 2007-03-15 12:37:50 +0000 Tim-Philipp Müller tools/gst-inspect.c: Now that we don't check for the 'Codec' keyword any longer in the klass, we shouldn't spew a war... Original commit message from CVS: * tools/gst-inspect.c: (print_plugin_automatic_install_info_codecs): Now that we don't check for the 'Codec' keyword any longer in the klass, we shouldn't spew a warning if the klass isn't a decoder or encoder (since it might be a Source/Network, for example). 2007-03-14 17:24:18 +0000 Tim-Philipp Müller tools/gst-inspect.c: Don't require decoder/demuxer/depayloader elements or encoder/muxer/paylader elements to have 'C... Original commit message from CVS: * tools/gst-inspect.c: (print_plugin_automatic_install_info_codecs): Don't require decoder/demuxer/depayloader elements or encoder/muxer/paylader elements to have 'Codec' as part of their factory class string when introspecting a plugin's capabilities. draft-klass.txt mentions that it might be removed in future, and flump3dec doesn't have it as part of its class string, so chances are others might also not have it. 2007-03-14 15:42:01 +0000 Thomas Vander Stichele * docs/random/i18n: update i18n doc Original commit message from CVS: update i18n doc 2007-03-14 15:17:09 +0000 Thomas Vander Stichele * plugins/elements/gstqueue.c: reformat Original commit message from CVS: reformat 2007-03-14 15:15:45 +0000 Thomas Vander Stichele po/: Update translations from translation project Original commit message from CVS: * po/af.po: * po/az.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/de.po: * po/en_GB.po: * po/fr.po: * po/it.po: * po/nb.po: * po/nl.po: * po/ru.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update translations from translation project 2007-03-14 13:40:28 +0000 Stefan Kost gst/gstchildproxy.c: Invert precondition check to be alike the ones in the mimiced gobject api. Original commit message from CVS: * gst/gstchildproxy.c: (gst_child_proxy_get_property), (gst_child_proxy_set_property): Invert precondition check to be alike the ones in the mimiced gobject api. 2007-03-14 11:21:48 +0000 Thomas Vander Stichele * libs/gst/base/gstbasesink.c: fix misleading log statement Original commit message from CVS: fix misleading log statement 2007-03-13 14:53:21 +0000 Stefan Kost docs/: Do some Architect work. Original commit message from CVS: * docs/design/draft-tagreading.txt: * docs/random/ensonic/audiobaseclasses.txt: Do some Architect work. * gst/gstobject.c: (gst_object_set_name): Add a WARNING. * gst/gstpad.c: Add docs that point from gst_pad_get_range to gst_pad_pull_range 2007-03-12 15:27:05 +0000 Jan Schmidt gst/gstsystemclock.c: Defer starting the async system clock thread until the first async wait is scheduled. Fixes #41... Original commit message from CVS: * gst/gstsystemclock.c: (gst_system_clock_init), (gst_system_clock_start_async), (gst_system_clock_id_wait_async): Defer starting the async system clock thread until the first async wait is scheduled. Fixes #414986. 2007-03-12 14:23:16 +0000 Tim-Philipp Müller plugins/elements/gstmultiqueue.c: Fix small leak (free GstSingleQueue structure too, not only contents). Original commit message from CVS: * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize), (gst_single_queue_free): Fix small leak (free GstSingleQueue structure too, not only contents). 2007-03-10 15:44:44 +0000 Sébastien Moutte gst/gstbin.c: Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG. Original commit message from CVS: * gst/gstbin.c:(gst_bin_add): Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG. * win32/common/libgstbase.def: * win32/common/libgstreamer.def: Add new exported functions. 2007-03-09 16:39:29 +0000 Wim Taymans docs/plugins/gstreamer-plugins-sections.txt: Fix GstTee docs. Original commit message from CVS: * docs/plugins/gstreamer-plugins-sections.txt: Fix GstTee docs. 2007-03-09 16:30:38 +0000 Wim Taymans Add metadata copy functions. Fixes #393099. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy): * gst/gstbuffer.h: Add metadata copy functions. Fixes #393099. * gst/gstutils.c: (gst_buffer_stamp): * libs/gst/base/gstbasetransform.c: (gst_base_transform_prepare_output_buffer): Use new metadata copy functions. 2007-03-09 14:20:25 +0000 Thomas Vander Stichele plugins/elements/gstidentity.*: Separate out check-imperfect-timestamp and check-imperfect-offset. Original commit message from CVS: * plugins/elements/gstidentity.c: (gst_identity_class_init), (gst_identity_init), (gst_identity_check_perfect), (gst_identity_check_imperfect_timestamp), (gst_identity_check_imperfect_offset), (gst_identity_transform_ip), (gst_identity_set_property), (gst_identity_get_property): * plugins/elements/gstidentity.h: Separate out check-imperfect-timestamp and check-imperfect-offset. Put back check-perfect as it was to keep compatibility. 2007-03-09 12:34:46 +0000 Jan Schmidt gst/gstelement.c: There's no need to warn if VOID_PENDING is not NONE here, as long as the state is NULL it's ok, and... Original commit message from CVS: * gst/gstelement.c: (gst_element_dispose): There's no need to warn if VOID_PENDING is not NONE here, as long as the state is NULL it's ok, and that's checked immediately above. 2007-03-08 17:58:57 +0000 Zaheer Abbas Merali plugins/elements/gstidentity.c: Fix check for perfect stream to ignore buffers with -1 offsets/offset ends when check... Original commit message from CVS: 2007-03-08 Zaheer Abbas Merali * plugins/elements/gstidentity.c: (gst_identity_check_perfect): Fix check for perfect stream to ignore buffers with -1 offsets/offset ends when checking data contiguity. 2007-03-08 16:26:44 +0000 Wim Taymans tools/gst-launch.c: Print INFO messages. Original commit message from CVS: * tools/gst-launch.c: (event_loop): Print INFO messages. 2007-03-08 11:40:18 +0000 Wim Taymans libs/gst/base/gstbasetransform.*: Add support for dropping buffers with custom GstFlowReturn. Original commit message from CVS: * libs/gst/base/gstbasetransform.c: (gst_base_transform_sink_eventfunc), (gst_base_transform_handle_buffer), (gst_base_transform_chain), (gst_base_transform_activate): * libs/gst/base/gstbasetransform.h: Add support for dropping buffers with custom GstFlowReturn. Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT buffers or dropped buffers. * docs/libs/gstreamer-libs-sections.txt: docs for new custom return code. * plugins/elements/gstidentity.c: (gst_identity_transform_ip): Use drop support in base class to implement drop-probability. 2007-03-07 17:26:49 +0000 Tim-Philipp Müller gst/: Remove newlines at end of debug log strings. Original commit message from CVS: * gst/gst.c: (load_plugin_func): * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load): * gst/gstregistrybinary.c: (gst_registry_binary_read_cache): * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all): Remove newlines at end of debug log strings. 2007-03-07 17:14:53 +0000 Zaheer Abbas Merali plugins/elements/gstidentity.c: Only post bus message at max, once per buffer received. Original commit message from CVS: 2007-03-07 Zaheer Abbas Merali * plugins/elements/gstidentity.c: (gst_identity_check_perfect): Only post bus message at max, once per buffer received. 2007-03-07 17:13:17 +0000 Wim Taymans docs/design/: Add doc about synchronisation Original commit message from CVS: * docs/design/Makefile.am: * docs/design/part-synchronisation.txt: Add doc about synchronisation * docs/design/draft-latency.txt: * docs/design/part-TODO.txt: * docs/design/part-clocks.txt: * docs/design/part-events.txt: * docs/design/part-gstbus.txt: * docs/design/part-gstpipeline.txt: * docs/design/part-live-source.txt: * docs/design/part-messages.txt: * docs/design/part-overview.txt: * docs/design/part-streams.txt: * docs/design/part-trickmodes.txt: Documentation updates. 2007-03-07 17:09:57 +0000 Jan Schmidt gstreamer.doap: Update the doap file. Original commit message from CVS: * gstreamer.doap: Update the doap file. 2007-03-07 17:02:51 +0000 Zaheer Abbas Merali plugins/elements/gstidentity.c: Rename non-perfect to imperfect for Mike and for the sanctity of the language. Original commit message from CVS: 2007-03-07 Zaheer Abbas Merali * plugins/elements/gstidentity.c: (gst_identity_check_perfect): Rename non-perfect to imperfect for Mike and for the sanctity of the language. Also make sure bus message gets emitted for data-incontiguities. 2007-03-07 16:58:42 +0000 Zaheer Abbas Merali plugins/elements/gstidentity.*: Emit bus message if check-perfect is true and we encounter a non-perfect stream betwe... Original commit message from CVS: 2007-03-07 Zaheer Abbas Merali * plugins/elements/gstidentity.c: (gst_identity_check_perfect), (gst_identity_start): * plugins/elements/gstidentity.h: Emit bus message if check-perfect is true and we encounter a non-perfect stream between 2 consecutive buffers. Fixes #415394. 2007-03-07 16:55:02 +0000 Jan Schmidt configure.ac: Back to CVS Original commit message from CVS: * configure.ac: Back to CVS === release 0.10.12 === 2007-03-07 16:44:04 +0000 Jan Schmidt * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/gstreamer-plugins.args: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * win32/common/config.h: Release 0.10.12 Original commit message from CVS: Release 0.10.12 2007-03-07 16:31:30 +0000 Jan Schmidt * po/af.po: * po/az.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/de.po: * po/en_GB.po: * po/fr.po: * po/it.po: * po/nb.po: * po/nl.po: * po/ru.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files Original commit message from CVS: Update .po files 2007-03-07 12:51:20 +0000 Jan Schmidt * common: * po/af.po: * po/az.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/de.po: * po/en_GB.po: * po/fr.po: * po/it.po: * po/nb.po: * po/nl.po: * po/ru.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files Original commit message from CVS: Update .po files 2007-03-01 18:46:36 +0000 Jan Schmidt configure.ac: Version 0.10.11.2 (0.10.12 pre-release) Original commit message from CVS: * configure.ac: Version 0.10.11.2 (0.10.12 pre-release) Bump libtool versioning. 2007-03-01 14:49:41 +0000 Stefan Kost libs/gst/base/gstbasesrc.c: Log flow-names and not numbers. Original commit message from CVS: * libs/gst/base/gstbasesrc.c: (gst_base_src_loop): Log flow-names and not numbers. 2007-02-28 19:25:48 +0000 Thomas Vander Stichele configure.ac: Convert to new AG_GST style. Original commit message from CVS: * configure.ac: Convert to new AG_GST style. 2007-02-28 18:51:47 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Don't unref query twice. Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency): Don't unref query twice. 2007-02-28 16:57:49 +0000 Wim Taymans gst/gstvalue.c: Implement GstObject -> string transform so we print object names when serializing GValues containing ... Original commit message from CVS: * gst/gstvalue.c: (gst_value_transform_object_string), (_gst_value_initialize): Implement GstObject -> string transform so we print object names when serializing GValues containing GstObjects. 2007-02-28 16:55:53 +0000 Wim Taymans docs/gst/gstreamer-sections.txt: Add new stuff to docs. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: Add new stuff to docs. 2007-02-28 16:46:07 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Improve latency query code. Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency), (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event), (gst_base_sink_change_state): Improve latency query code. Don't leak latency events. * tests/check/gst/gstbin.c: (GST_START_TEST): Improve debugging. 2007-02-28 16:43:43 +0000 Wim Taymans gst/gstelement.*: Improve docs a little. Added Since: for new macro. Original commit message from CVS: * gst/gstelement.c: (gst_element_message_full), (gst_element_get_state_func): * gst/gstelement.h: Improve docs a little. Added Since: for new macro. * gst/gstobject.c: (gst_object_sink): * gst/gstpipeline.c: (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time): * gst/gstpipeline.h: Improve debugging and docs. * gst/gstutils.c: (gst_element_state_change_return_get_name): Improve debugging. 2007-02-28 16:40:02 +0000 Wim Taymans gst/gstelement.c: Handle INFO messages from the GST_ELEMENT_INFO macro as well. Original commit message from CVS: * gst/gstelement.c: (gst_element_message_full), (gst_element_set_locked_state), (gst_element_get_state_func), (gst_element_change_state): Handle INFO messages from the GST_ELEMENT_INFO macro as well. Documentation updates. Small code cleanups. * gst/gstmessage.c: (gst_message_new_info), (gst_message_parse_info): * gst/gstmessage.h: API: gst_message_new_info() API: gst_message_parse_info() Add INFO message create and parse code. 2007-02-28 16:35:48 +0000 Wim Taymans gst/gstbin.c: Also report the live parameter of a latency query. Original commit message from CVS: * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold), (bin_query_latency_done): Also report the live parameter of a latency query. 2007-02-28 12:57:42 +0000 Thomas Vander Stichele * tests/check/generic/states.c: plug test leak Original commit message from CVS: plug test leak 2007-02-28 12:43:57 +0000 Thomas Vander Stichele * tests/check/Makefile.am: actually use the env var for tests Original commit message from CVS: actually use the env var for tests 2007-02-28 12:40:45 +0000 Thomas Vander Stichele tests/check/generic/states.c: Copy the current generic/states example from -base and adapt so we can use the exact sa... Original commit message from CVS: * tests/check/generic/states.c: (GST_START_TEST), (states_suite): Copy the current generic/states example from -base and adapt so we can use the exact same code everywhere. Check a STATES_IGNORE_ELEMENTS env var which can be used to ignore certain element factories for this test, which is what is being done in -base * tests/check/Makefile.am: Mention this environment variable. 2007-02-27 17:22:07 +0000 Wim Taymans API: gst_bus_timed_pop() Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post), (gst_bus_timed_pop), (gst_bus_pop): * gst/gstbus.h: API: gst_bus_timed_pop() Implement gst_bus_timed_pop() to do a blocking timed wait for a message to arrive on the bus. * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread), (gst_bus_suite): Two unit tests for new _timed_pop() function. 2007-02-23 17:42:06 +0000 Wim Taymans gst/gstpipeline.c: Don't ref a NULL clock in _provide_clock_func(). Original commit message from CVS: * gst/gstpipeline.c: (gst_pipeline_change_state), (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay): Don't ref a NULL clock in _provide_clock_func(). Don't allow an INVALID delay. Don't try to calculate base_time with an invalid start_time. Also distribute and notify a NULL clock when it was selected. * tools/gst-launch.c: (event_loop): Don't crash when a NULL clock was selected in the pipeline. 2007-02-23 13:42:19 +0000 Tim-Philipp Müller docs/: Some small updates: update plugin system identifier prefix mention our new install Original commit message from CVS: * docs/design/Makefile.am: * docs/design/draft-missing-plugins.txt: * docs/random/draft-missing-plugins.txt: Some small updates: update plugin system identifier prefix ('gstreamer.net' to 'gstreamer'), mention our new install API in libgstbaseutils rather than libgimme-codec, add reference to the online docs. 2007-02-21 15:35:19 +0000 Thomas Vander Stichele win32/common/config.h: Pretty sure Bill never made a powerpc version. Powerpc hackers, use moap cl ci to only check ... Original commit message from CVS: * win32/common/config.h: Pretty sure Bill never made a powerpc version. Powerpc hackers, use moap cl ci to only check in what is mentioned in the ChangeLog. 2007-02-21 15:34:14 +0000 Thomas Vander Stichele Fix up documentation to link to the correct GstGError section. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstelement.h: Fix up documentation to link to the correct GstGError section. Add GST_ELEMENT_INFO macro since someone else added a Info message. 2007-02-21 15:30:53 +0000 Thomas Vander Stichele tools/gst-launch.c: Make sure that we actually show the important message part of a warning message. Original commit message from CVS: * tools/gst-launch.c: (event_loop): Make sure that we actually show the important message part of a warning message. No need to check if the gerror is not NULL to free; first of all g_free accepts NULL; and second the default error handler would segfault if gerror was NULL. 2007-02-21 12:10:14 +0000 Wim Taymans docs/gst/gstreamer-sections.txt: Removed docs as well. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: Removed docs as well. 2007-02-21 12:01:41 +0000 Wim Taymans gst/gstmessage.*: Remove new messages for release. Original commit message from CVS: * gst/gstmessage.c: (gst_message_parse_duration): * gst/gstmessage.h: Remove new messages for release. 2007-02-20 18:02:50 +0000 Wim Taymans Make the ghostpad a parent of the internal pad again for better backward compatibility. Don't write code that relies ... Original commit message from CVS: * docs/design/part-gstghostpad.txt: * gst/gstghostpad.c: (gst_ghost_pad_dispose), (gst_ghost_pad_new_full): Make the ghostpad a parent of the internal pad again for better backward compatibility. Don't write code that relies on this however. * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push), (gst_pad_link_check_hierarchy): Require that parents should be GstElements in the hierarchy check. 2007-02-20 10:45:13 +0000 Wim Taymans gst/gstbin.c: Improve debug info. Original commit message from CVS: * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func), (gst_bin_change_state_func), (bin_query_min_max_init), (bin_query_latency_fold), (bin_query_latency_done), (gst_bin_query): Improve debug info. Implement latency query. 2007-02-20 10:16:27 +0000 Wim Taymans Do not set the internal pad as a parent anymore so we can avoid hierarchy linking errors when the ghostpad has no par... Original commit message from CVS: * docs/design/part-gstghostpad.txt: * gst/gstghostpad.c: (gst_ghost_pad_class_init), (gst_ghost_pad_internal_do_activate_push), (gst_ghost_pad_internal_do_activate_pull), (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull), (gst_ghost_pad_do_link), (gst_ghost_pad_dispose), (gst_ghost_pad_new_full), (gst_ghost_pad_set_target): Do not set the internal pad as a parent anymore so we can avoid hierarchy linking errors when the ghostpad has no parent yet. This also fixes failed activation because of unlinked internal pads, which in turn fixes the impossible case where you have to activate a pad before you can add it to a running element. Also fix the docs. * gst/gstpad.c: (pre_activate), (post_activate), (gst_pad_set_active), (gst_pad_activate_pull), (gst_pad_activate_push), (gst_pad_check_pull_range): Add some more debug info. Mark activation mode in pre_activate so that we don't try to activate in endless loops. Fixes #385084. 2007-02-19 18:08:59 +0000 Wim Taymans libs/gst/base/gstbasetransform.c: Implement a checkgetrange function instead of relying on the default core behaviour... Original commit message from CVS: * libs/gst/base/gstbasetransform.c: (gst_base_transform_init), (gst_base_transform_check_get_range): Implement a checkgetrange function instead of relying on the default core behaviour that assumes we can operate in pull mode if we have a getrange function. First step at fixing #385084. 2007-02-15 12:05:09 +0000 Stefan Kost More docs coverage and some ChangeLog surgery (add missing names) Original commit message from CVS: * gst/gstchildproxy.h: * libs/gst/base/gstbasesink.h: * libs/gst/base/gstbasesrc.h: * libs/gst/base/gstbasetransform.h: More docs coverage and some ChangeLog surgery (add missing names) 2007-02-15 11:32:02 +0000 Wim Taymans docs/design/: Some doc updates. Start renaming from stream_time to running_time where it was used wrongly. Original commit message from CVS: * docs/design/part-TODO.txt: * docs/design/part-activation.txt: * docs/design/part-block.txt: * docs/design/part-buffering.txt: * docs/design/part-clocks.txt: * docs/design/part-element-source.txt: * docs/design/part-events.txt: * docs/design/part-gstbin.txt: * docs/design/part-gstbus.txt: * docs/design/part-gstpipeline.txt: * docs/design/part-live-source.txt: * docs/design/part-messages.txt: * docs/design/part-overview.txt: * docs/design/part-qos.txt: * docs/design/part-query.txt: * docs/design/part-states.txt: * docs/design/part-trickmodes.txt: Some doc updates. Start renaming from stream_time to running_time where it was used wrongly. 2007-02-15 09:07:25 +0000 Wim Taymans libs/gst/base/gstbasesrc.c: Answer LATENCY query. Original commit message from CVS: * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query): Answer LATENCY query. 2007-02-15 08:40:38 +0000 Wim Taymans tests/check/gst/gstevent.c: Improve debugging. Original commit message from CVS: * tests/check/gst/gstevent.c: (event_probe), (test_event), (GST_START_TEST): Improve debugging. 2007-02-15 08:37:19 +0000 Wim Taymans gst/gstpad.c: Improve debugging of default pad dispatcher and query functions. Original commit message from CVS: * gst/gstpad.c: (gst_pad_get_internal_links_default), (gst_pad_dispatcher): Improve debugging of default pad dispatcher and query functions. 2007-02-15 08:31:25 +0000 Wim Taymans docs/gst/gstreamer-sections.txt: Remove old unused method. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: Remove old unused method. 2007-02-13 15:51:00 +0000 Wim Taymans tests/check/gst/gstsegment.c: Fix check Original commit message from CVS: * tests/check/gst/gstsegment.c: (GST_START_TEST): Fix check 2007-02-13 15:34:15 +0000 Wim Taymans docs/design/part-seeking.txt: Some small update. Original commit message from CVS: * docs/design/part-seeking.txt: Some small update. * gst/gstsegment.c: (gst_segment_set_seek): Revert old bogus change that should make seeking work again. 2007-02-13 14:52:47 +0000 Stefan Kost docs/random/ensonic/: Possible dynamic reconnection api, plus some type fixes the other two docs. Original commit message from CVS: * docs/random/ensonic/dynlink.txt: * docs/random/ensonic/interfaces.txt: * docs/random/ensonic/receipies.txt: Possible dynamic reconnection api, plus some type fixes the other two docs. 2007-02-13 13:40:05 +0000 Sebastian Dröge plugins/elements/: Also check for an absolute path following file:// in the filesrc element. Remove redundant check a... Original commit message from CVS: * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri): * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri): Also check for an absolute path following file:// in the filesrc element. Remove redundant check and call g_path_is_absolute() on the unescaped location. 2007-02-13 09:10:53 +0000 Stefan Kost docs/design/draft-klass.txt: Add existing category analysis. Original commit message from CVS: * docs/design/draft-klass.txt: Add existing category analysis. * gst/gstcaps.c: Fix doc example, framerate is a fraction. 2007-02-12 19:55:24 +0000 Stefan Kost Add crossreferences to glib/gobject docs. Original commit message from CVS: * configure.ac: * docs/gst/Makefile.am: * docs/libs/Makefile.am: * docs/plugins/Makefile.am: Add crossreferences to glib/gobject docs. 2007-02-12 11:32:22 +0000 Wim Taymans docs/design/draft-latency.txt: Small update. Original commit message from CVS: * docs/design/draft-latency.txt: Small update. * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init), (gst_base_sink_get_latency), (gst_base_sink_query_latency), (gst_base_sink_wait_clock), (gst_base_sink_send_qos), (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked), (gst_base_sink_chain_unlocked), (gst_base_sink_send_event), (gst_base_sink_get_position), (gst_base_sink_query), (gst_base_sink_change_state): * libs/gst/base/gstbasesink.h: API: gst_base_sink_query_latency() to let subclasses query the upstream latency. API: gst_base_sink_get_latency() to let subclasses query the configured latency in the sink. Implement query and set latency. Update some docs. As spotted by Will Newton : Make sure we don't continue preroll when we are flushing. Fixes #405284. * tests/check/pipelines/stress.c: (change_state_timeout), (quit_timeout), (GST_START_TEST), (stress_suite): Test for #405284. 2007-02-12 10:50:20 +0000 René Stadler API: add GST_TAG_REFERENCE_LEVEL (#403597). Original commit message from CVS: Patch by: René Stadler * docs/gst/gstreamer-sections.txt: * gst/gsttaglist.c: (_gst_tag_initialize): * gst/gsttaglist.h: API: add GST_TAG_REFERENCE_LEVEL (#403597). 2007-02-11 19:59:12 +0000 Stefan Kost docs/libs/Makefile.am: Fix path to core docs. Original commit message from CVS: * docs/libs/Makefile.am: Fix path to core docs. * gst/gstbin.c: (gst_bin_get_by_interface), (gst_bin_iterate_all_by_interface): Refix docs by also renaming 'interface' to 'iface' in implementation. * docs/gst/gstreamer-sections.txt: * gst/gstcaps.c: * gst/gstchildproxy.c: (gst_child_proxy_base_init): * gst/gstchildproxy.h: * gst/gstelementfactory.c: * gst/gstpadtemplate.h: * libs/gst/controller/gstcontroller.c: (gst_controlled_property_new): Document more. 2007-02-10 18:31:12 +0000 Sébastien Moutte gst/gstbin.h: Replace interface parameter name by iface as interface is a reserved keyword in Visual Studio for C++ p... Original commit message from CVS: * gst/gstbin.h:(gst_bin_get_by_interface), (gst_bin_iterate_all_by_interface): Replace interface parameter name by iface as interface is a reserved keyword in Visual Studio for C++ projects so it removes a build error for application developpers using VS. * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri): Fix a bug on Windows in uri format check. Now the prefix checked is file:// and next we check if the path after file:// is absolute. * win32/common/libgstbase.def: * win32/common/libgstdataprotocol.def: * win32/common/libgstgstreamer.def: Add new exported functions. 2007-02-09 15:25:45 +0000 Andy Wingo * ChangeLog: * tests/check/pipelines/simple-launch-lines.c: tests/check/pipelines/simple-launch-lines.c Original commit message from CVS: 2007-02-09 Andy Wingo * tests/check/pipelines/simple-launch-lines.c (simple_launch_lines_suite, test_tee): Disable tee test until I have time to fix it :-( 2007-02-09 13:59:32 +0000 Andy Wingo tests/check/: Add ABI checks for PPC32. Original commit message from CVS: 2007-02-09 Andy Wingo * tests/check/Makefile.am (noinst_HEADERS): * tests/check/libs/libsabi.c: * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32. * tests/check/gst/gstabi.c: * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32. 2007-02-09 13:45:27 +0000 Andy Wingo tests/check/pipelines/simple-launch-lines.c (test_tee): Add tests for push and pull tee behavior. Original commit message from CVS: 2007-02-09 Andy Wingo * tests/check/pipelines/simple-launch-lines.c (test_tee): Add tests for push and pull tee behavior. * plugins/elements/gsttee.h: * plugins/elements/gsttee.c: Describe has-sink-loop better, and mark as deprecated as well as unimplemented. It was a crack idea. Add support for tee operating in pull mode, off by default. 2007-02-09 13:41:24 +0000 Andy Wingo gst/gstregistryxml.c (load_feature, load_plugin): Drop some normal-case logs down to LOG, raise errors to WARNING. Original commit message from CVS: 2007-02-09 Andy Wingo * gst/gstregistryxml.c (load_feature, load_plugin): Drop some normal-case logs down to LOG, raise errors to WARNING. (gst_registry_xml_read_cache): Don't log before calling a function that logs. * gst/gstregistry.c (gst_registry_finalize): Less debug on program exit (registry finalize). (gst_registry_add_plugin, gst_registry_add_feature): No need for a DEBUG log when we emit signals that people don't even have the chance to connect to. (gst_registry_scan_path_level): Less logging in the normal case. 2007-02-05 13:15:44 +0000 Michal Benes plugins/elements/gstfilesrc.c: Correctly generate EOS for non-seekable files. We don't have a total length for them a... Original commit message from CVS: Patch by: Michal Benes * plugins/elements/gstfilesrc.c: (gst_file_src_create_read): Correctly generate EOS for non-seekable files. We don't have a total length for them and would get an unexpected end of file if we only special-cased for regular files. (Fixes: #404569) 2007-02-05 08:15:26 +0000 Sebastian Dröge tests/check/elements/filesrc.c: Add unit test for the GstURIHandler interface in filesrc. This also tests the newly a... Original commit message from CVS: * tests/check/elements/filesrc.c: (GST_START_TEST), (filesrc_suite): Add unit test for the GstURIHandler interface in filesrc. This also tests the newly added file://localhost/foo/bar support. 2007-02-04 16:14:19 +0000 Tim-Philipp Müller gst/gstelementfactory.h: The klass string is not a hierarchy. Add reference to the design doc for more information an... Original commit message from CVS: * gst/gstelementfactory.h: The klass string is not a hierarchy. Add reference to the design doc for more information and common types. 2007-02-02 18:08:32 +0000 Wim Taymans gst/gstquery.c: Remove old structure field. Original commit message from CVS: * gst/gstquery.c: (gst_query_new_latency): Remove old structure field. 2007-02-02 12:27:16 +0000 Stefan Kost tools/gst-launch.1.in: Give example for network streaming (#351998) Original commit message from CVS: * tools/gst-launch.1.in: Give example for network streaming (#351998) 2007-02-02 11:48:48 +0000 Wim Taymans docs/gst/gstreamer-sections.txt: Add docs for new methods. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: Add docs for new methods. * gst/gstevent.c: (gst_event_new_latency), (gst_event_parse_latency): * gst/gstevent.h: Add new LATENCY event to configure latency in a pipeline. API: gst_event_new_latency API: gst_event_parse_latency * gst/gstmessage.c: (gst_message_new_buffering), (gst_message_new_lost_preroll), (gst_message_new_prerolled), (gst_message_new_latency), (gst_message_parse_buffering), (gst_message_parse_lost_preroll): * gst/gstmessage.h: Added messages used in draft-latency. API: gst_message_new_lost_preroll API: gst_message_parse_lost_preroll API: gst_message_new_prerolled API: gst_message_new_latency * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency), (gst_query_parse_latency): * gst/gstquery.h: Implemented new latency query as in design doc. API: gst_query_new_latency API: gst_query_set_latency API: gst_query_parse_latency 2007-02-02 11:33:19 +0000 Wim Taymans docs/design/draft-latency.txt: Slight redesign to allow for dynamic latency adjustments. Original commit message from CVS: * docs/design/draft-latency.txt: Slight redesign to allow for dynamic latency adjustments. * docs/design/part-negotiation.txt: Fix some typos. 2007-02-02 10:41:29 +0000 Sebastian Dröge plugins/elements/: Allow file://localhost/foo/bar URLs and correctly fail for every other hostname that one sets. Thi... Original commit message from CVS: reviewed by: Wim Taymans * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri): * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri): Allow file://localhost/foo/bar URLs and correctly fail for every other hostname that one sets. This was gnomevfssrc is linked for those if installed as it can handle it (#403172) 2007-02-01 19:00:48 +0000 Sebastian Dröge libs/gst/base/gstcollectpads.*: Don't put the previously added destroy notify in the GstCollectData struct as all it'... Original commit message from CVS: reviewed by: Tim-Philipp Müller * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize), (unref_data), (gst_collect_pads_add_pad_full): * libs/gst/base/gstcollectpads.h: Don't put the previously added destroy notify in the GstCollectData struct as all it's padding is already used and we don't want to break ABI. Instead put in the pad's GObject data for now. This should be cleaned up for 0.11 (#402393). 2007-02-01 17:52:11 +0000 Sebastian Dröge API: Add function to specify a destroy notification for custom Original commit message from CVS: reviewed by: Wim Taymans * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize), (unref_data), (gst_collect_pads_add_pad), (gst_collect_pads_add_pad_full): * libs/gst/base/gstcollectpads.h: API: Add function to specify a destroy notification for custom GstCollectData when adding new pads in GstCollectPads (#402393). 2007-02-01 17:10:25 +0000 Tim-Philipp Müller po/sv.po: Update Swedish translation (#378255). Original commit message from CVS: * po/sv.po: Update Swedish translation (#378255). 2007-01-31 11:42:53 +0000 Stefan Kost docs/design/draft-klass.txt: Fix the previous change, this is a list of categories and not a hierarchy. Original commit message from CVS: * docs/design/draft-klass.txt: Fix the previous change, this is a list of categories and not a hierarchy. 2007-01-31 11:02:29 +0000 Stefan Kost docs/design/draft-klass.txt: Add info about how to get a list of used classes. Original commit message from CVS: * docs/design/draft-klass.txt: Add info about how to get a list of used classes. 2007-01-30 19:12:54 +0000 Tim-Philipp Müller plugins/elements/gsttypefindelement.c: Don't leak found caps in chain function (no idea why that never showed up as a... Original commit message from CVS: * plugins/elements/gsttypefindelement.c: (gst_type_find_element_chain_do_typefinding), (gst_type_find_element_change_state): Don't leak found caps in chain function (no idea why that never showed up as a leak anywhere). 2007-01-30 15:04:33 +0000 Stefan Kost gst/gstplugin.h: Fix and expand GstPluginDesc API docs. Original commit message from CVS: * gst/gstplugin.h: Fix and expand GstPluginDesc API docs. 2007-01-29 15:54:09 +0000 Stefan Kost configure.ac: comment about refining the xml deps Original commit message from CVS: * configure.ac: comment about refining the xml deps * docs/manuals.mak: comments about moving away from jade for docs * gst/gst.c: recommit the ifdefs to use the binary registry * gst/gstbin.c: (gst_bin_change_state_func): this break is obsolete * gst/gstelementfactory.h: better GST_ELEMENT_DETAILS docs, add comment about translation * gst/gstinfo.h: remove eol slash * gst/gstobject.c: (gst_signal_object_get_type): add G_UNLIKELY as usual * gst/gstpad.c: (gst_pad_event_default): add fall trhu comment * gst/gstregistrybinary.c: (gst_registry_binary_write), (gst_registry_binary_initialize_magic), (gst_registry_binary_save_string), (gst_registry_binary_save_pad_template), (gst_registry_binary_save_feature), (gst_registry_binary_save_plugin), (gst_registry_binary_write_cache), (gst_registry_binary_check_magic), (gst_registry_binary_load_pad_template), (gst_registry_binary_load_feature), (gst_registry_binary_load_plugin), (gst_registry_binary_read_cache): comment typo and formatting * gst/gstutils.c: (gst_element_state_get_name), (gst_element_state_change_return_get_name): remove obsolete breaks * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize): add FIXME 0.11 and remove cpp comment 2007-01-29 15:02:11 +0000 Edward Hervey gst/gstregistrybinary.c: Fix print statement in an even more portable way. Original commit message from CVS: * gst/gstregistrybinary.c: (gst_registry_binary_read_cache): Fix print statement in an even more portable way. 2007-01-29 13:40:38 +0000 Tim-Philipp Müller API: add GST_ROUND_DOWN_* macros (#401781). Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstutils.h: API: add GST_ROUND_DOWN_* macros (#401781). 2007-01-27 18:44:11 +0000 Tim-Philipp Müller Document registry signals and make gtk-doc pick them up (#401381). Original commit message from CVS: * docs/gst/gstreamer.types.in: * gst/gstregistry.c: (gst_registry_class_init): Document registry signals and make gtk-doc pick them up (#401381). 2007-01-26 18:24:56 +0000 Tim-Philipp Müller docs/pwg/building-testapp.xml: Add some audioconverts and audioresample to the pipeline, and some more comments and e... Original commit message from CVS: * docs/pwg/building-testapp.xml: Add some audioconverts and audioresample to the pipeline, and some more comments and error handling. 2007-01-26 13:07:36 +0000 Tim-Philipp Müller docs/: Fix typo (#400987). Original commit message from CVS: * docs/manual/manual.xml: * docs/pwg/pwg.xml: Fix typo (#400987). 2007-01-26 09:37:03 +0000 Wim Taymans gst/gstcaps.c: Init caps flags too. Original commit message from CVS: * gst/gstcaps.c: (gst_static_caps_get): Init caps flags too. 2007-01-25 17:54:07 +0000 Jindrich Makovicka plugins/elements/gstfilesrc.c: If not using mmap'ed files try to seek to the end instead of the start to determine wh... Original commit message from CVS: Patch by: Jindrich Makovicka * plugins/elements/gstfilesrc.c: (gst_file_src_start): If not using mmap'ed files try to seek to the end instead of the start to determine whether we can seek at all. This fixes the case of 2GB+ files over NFS, where seeks in the first 2GB can succeed but seeks for everything afterwards fail. Fixes #400656 2007-01-25 17:41:39 +0000 Wim Taymans gst/gstcaps.c: Add some refcount debugging. Original commit message from CVS: * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get): Add some refcount debugging. Make gst_static_caps_get threadsafe, which is needed when autoplugging in multiple streaming threads. 2007-01-25 10:50:03 +0000 David Schleef API: gst_adapter_copy() that can reduce the amount of memcpy when getting data from the adapter. Fixes #388201. Original commit message from CVS: Patch by: David Schleef * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstadapter.c: (gst_adapter_copy): * libs/gst/base/gstadapter.h: API: gst_adapter_copy() that can reduce the amount of memcpy when getting data from the adapter. Fixes #388201. 2007-01-25 10:14:09 +0000 Edward Hervey gst/gstregistrybinary.c: In print statements, "%x" is for guint. Fixes build on macosx. Original commit message from CVS: * gst/gstregistrybinary.c: (gst_registry_binary_read_cache): In print statements, "%x" is for guint. Fixes build on macosx. 2007-01-24 11:32:00 +0000 Edward Hervey plugins/elements/gstmultiqueue.c: Small fix. Original commit message from CVS: * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop): Small fix. (single_queue_overrun_cb), (single_queue_underrun_cb), (single_queue_check_full), (gst_single_queue_new): Implement single queue growth system. This uses the extra-size properties, and will grow single queues by that much if one goes full whereas there are others empty. This is called extra-mode in the code. When a single queue's levels go back below the initial max-size limits, it is no longer in extra-mode. This is to ensure we don't consume too much memory. Fixes #399875 2007-01-23 13:50:42 +0000 Tim-Philipp Müller gst/gst.c: Make warning about late g_thread_init() calls a bit more explicit, so that it's more obvious to applicatio... Original commit message from CVS: * gst/gst.c: (gst_init_get_option_group): Make warning about late g_thread_init() calls a bit more explicit, so that it's more obvious to application developers what they need to do if a user files a bug against their application. 2007-01-22 16:00:39 +0000 Edward Hervey plugins/elements/gstmultiqueue.c: Remove previous hack of unsetting the flushing flag for the source pad instead of a... Original commit message from CVS: * plugins/elements/gstmultiqueue.c: (gst_multi_queue_src_activate_push), (gst_single_queue_new): Remove previous hack of unsetting the flushing flag for the source pad instead of activating it. Instead, fix the source pad activate function so that it no longer depends on having a parent set or not. 2007-01-22 14:30:27 +0000 Carlos Sanmartin Dominguez docs/manual/basics-bus.xml: Fix example code, gst_element_unref() doesn't exist any longer. Original commit message from CVS: Patch by: Carlos Sanmartin Dominguez * docs/manual/basics-bus.xml: Fix example code, gst_element_unref() doesn't exist any longer. 2007-01-21 20:24:11 +0000 Mark Nauwelaerts gst/gstpad.c: Fix two docs typoes (#399094). Original commit message from CVS: Patch by: Mark Nauwelaerts * gst/gstpad.c: Fix two docs typoes (#399094). 2007-01-19 09:15:21 +0000 Edward Hervey docs/faq/gst-uninstalled: Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins depending on libgstbaseu... Original commit message from CVS: * docs/faq/gst-uninstalled: Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins depending on libgstbaseutils can work in uninstalled environment. 2007-01-18 12:00:23 +0000 Stefan Kost gst/: Add more docs regarding tag merge-modes and when to send tags. Fix 'since' statement for new tag. Original commit message from CVS: * gst/gsttaglist.h: * gst/gsttagsetter.c: Add more docs regarding tag merge-modes and when to send tags. Fix 'since' statement for new tag. 2007-01-17 14:33:39 +0000 Edward Hervey plugins/elements/gstmultiqueue.c: When dynamically creating single queues, activate sinkpad before adding it. Original commit message from CVS: * plugins/elements/gstmultiqueue.c: (gst_single_queue_new): When dynamically creating single queues, activate sinkpad before adding it. We should be doing the same thing for the source pad, but we can't since it would call a method which needs the parent to be set in order to work propertly. Instead of activating the source pad, we just unset the flushing flag, which is the minimal requirement for adding a pad to an element in a state greater than READY. 2007-01-17 14:26:46 +0000 Edward Hervey docs/faq/gst-uninstalled: Add DYLD_LIBRARY_PATH declarations so we can also use this script on Original commit message from CVS: * docs/faq/gst-uninstalled: Add DYLD_LIBRARY_PATH declarations so we can also use this script on Mac OS X. 2007-01-17 12:31:01 +0000 Tim-Philipp Müller tests/check/: Add ABI structs for HPPA (see #393796). Original commit message from CVS: * tests/check/gst/gstabi.c: * tests/check/gst/struct_hppa.h: * tests/check/libs/libsabi.c: * tests/check/libs/struct_hppa.h: Add ABI structs for HPPA (see #393796). 2007-01-16 09:57:50 +0000 Tim-Philipp Müller libs/gst/check/gstcheck.c: Actually write ABI structs to the file specified in the GST_ABI environment variable, as t... Original commit message from CVS: * libs/gst/check/gstcheck.c: (gst_check_abi_list): Actually write ABI structs to the file specified in the GST_ABI environment variable, as the message we print claims we would. 2007-01-15 14:51:09 +0000 Stefan Kost tests/check/gst/gsttask.c: Fix header comment. Original commit message from CVS: * tests/check/gst/gsttask.c: Fix header comment. 2007-01-15 14:39:51 +0000 Stefan Kost gst/gsttaglist.c: Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my previous two entries. Original commit message from CVS: * gst/gsttaglist.c: (_gst_tag_initialize): Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my previous two entries. 2007-01-15 13:57:12 +0000 Stefan Kost add tag support for beat-per-minute Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gsttaglist.c: (_gst_tag_initialize): * gst/gsttaglist.h: add tag support for beat-per-minute 2007-01-15 12:18:46 +0000 Stefan Kost gst/gstregistrybinary.*: use glib types, cleanup comments, impement interfaces and uri-types Original commit message from CVS: * gst/gstregistrybinary.c: (gst_registry_binary_write), (gst_registry_binary_initialize_magic), (gst_registry_binary_save_string), (gst_registry_binary_make_data), (gst_registry_binary_save_pad_template), (gst_registry_binary_save_feature), (gst_registry_binary_save_plugin), (gst_registry_binary_write_cache), (gst_registry_binary_check_magic), (gst_registry_binary_load_pad_template), (gst_registry_binary_load_feature), (gst_registry_binary_load_plugin), (gst_registry_binary_read_cache): * gst/gstregistrybinary.h: use glib types, cleanup comments, impement interfaces and uri-types 2007-01-13 10:33:41 +0000 Andy Wingo gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow getrange() to return buffers with other caps, while we fi... Original commit message from CVS: 2007-01-13 Andy Wingo * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow getrange() to return buffers with other caps, while we fix demuxers and typefind, or otherwise change part-negotiation.txt. 2007-01-12 21:13:32 +0000 Andy Wingo libs/gst/base/gstbasetransform.c (gst_base_transform_activate): Factor start/stop into this private function instead ... Original commit message from CVS: 2007-01-12 Andy Wingo * libs/gst/base/gstbasetransform.c (gst_base_transform_activate): Factor start/stop into this private function instead of partially in activate functions and partially in the change_state function. Fixes setup before the element has changed from READY->PAUSED, as is the case in pull-mode pipelines. (gst_base_transform_sink_activate_push) (gst_base_transform_src_activate_pull): Refactor to use gst_base_transform_activate(). (gst_base_transform_change_state): Removed, not needed any more. * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull): Truncate before fixating. 2007-01-12 18:06:29 +0000 Andy Wingo libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull): Don't set_caps() if the result of fixating is ANY, as it'... Original commit message from CVS: 2007-01-12 Andy Wingo * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull): Don't set_caps() if the result of fixating is ANY, as it's not supported, and not necessary in the case of a link with no template caps on either side. Fixes tests/check/libs/basesrc in some pull-mode tests. 2007-01-12 15:56:00 +0000 Andy Wingo libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate): (gst_base_transform_init, gst_base_transform_sink_activa... Original commit message from CVS: 2007-01-12 Andy Wingo * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate): (gst_base_transform_init, gst_base_transform_sink_activate_push) (gst_base_transform_src_activate_pull): Track the activation mode. (gst_base_transform_setcaps): In pull mode, when activating the src pad, after activating the sink pad, activate the sink pad's peer, as discussed in part-negotiation.txt. * libs/gst/base/gstbasesrc.h: * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate vmethod, as in basesink. * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod. * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull mode, first proxy the setcaps to the peer pad. (gst_base_sink_pad_fixate): Add a fixate function that calls the new fixate vmethod. (gst_base_sink_default_activate_pull): Rename from gst_base_sink_activate_pull. (gst_base_sink_negotiate_pull): New function, performs negotiation in pull mode before calling ::activate_pull(). (gst_base_sink_pad_activate_pull): Actually call the activate_pull vmethod instead of the default implementation. I have no idea how this worked before. Negotiate before calling activate_pull. 2007-01-12 15:48:00 +0000 Andy Wingo gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked sink pads in pull mode. In addition to being correc... Original commit message from CVS: 2007-01-12 Andy Wingo * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked sink pads in pull mode. In addition to being correct, fixes filesrc ! decodebin ! identity ! fakesink. (gst_pad_get_range, gst_pad_pull_range): Don't call gst_pad_set_caps() if the caps changes; instead error out with GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt. 2007-01-12 15:39:57 +0000 Andy Wingo docs/design/part-negotiation.txt: Update with more policy. Original commit message from CVS: 2007-01-12 Andy Wingo * docs/design/part-negotiation.txt: Update with more policy. 2007-01-12 12:48:25 +0000 Tim-Philipp Müller libs/gst/check/: Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it belongs. Original commit message from CVS: * libs/gst/check/gstbufferstraw.h: * libs/gst/check/gstcheck.h: Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it belongs. 2007-01-12 10:53:54 +0000 Tim-Philipp Müller tests/check/: Add minimal unit test for beforementioned GstTagSetter bug. Original commit message from CVS: * tests/check/Makefile.am: * tests/check/gst/.cvsignore: * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces), (gst_dummy_enc_base_init), (gst_dummy_enc_class_init), (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length), (GST_START_TEST), (gst_tag_setter_suite): Add minimal unit test for beforementioned GstTagSetter bug. 2007-01-12 10:48:49 +0000 René Stadler gst/gsttagsetter.c: gst_tag_list_merge() returns a new list, so it's not the best idea to ingore its return value. Ef... Original commit message from CVS: Patch by: René Stadler * gst/gsttagsetter.c: (gst_tag_setter_merge_tags): gst_tag_list_merge() returns a new list, so it's not the best idea to ingore its return value. Effectively meant that tags could only be merged on a GstTagSetter once using _merge_tags(). Fixes #395554. Also add function guard to require a non-NULL taglist as input (has always been so due to gst_tag_list_copy(), just making it explicit). 2007-01-11 15:03:07 +0000 Tim-Philipp Müller docs/random/draft-missing-plugins.txt: Some additions: mention new API that is supposed to be used at the various sta... Original commit message from CVS: * docs/random/draft-missing-plugins.txt: Some additions: mention new API that is supposed to be used at the various stages; short blob about new gst-inspect introspection option; mention potential future problem with plugins that have a dynamic list of elements (such as ladspa, pitfdll, libvisual). 2007-01-11 14:16:23 +0000 Tim-Philipp Müller tools/gst-inspect.c: Add --print-plugin-auto-install-info option to gst-inspect, so we can introspect plugin files an... Original commit message from CVS: * tools/gst-inspect.c: (print_plugin_automatic_install_info_codecs), (print_plugin_automatic_install_info_protocols), (print_plugin_automatic_install_info), (main): Add --print-plugin-auto-install-info option to gst-inspect, so we can introspect plugin files and get machine-parsable output that corresponds to the last bit of the missing-plugin installer string (small gotcha: doesn't take into account ranks). 2007-01-11 13:45:51 +0000 Stefan Kost commit binary registry (disabled by default, see #359653) Original commit message from CVS: * configure.ac: * docs/gst/gstreamer-sections.txt: * gst/Makefile.am: * gst/gstregistry.c: (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked): * gst/gstregistry.h: * gst/gstregistrybinary.c: (gst_registry_binary_write), (gst_registry_binary_initialize_magic), (gst_registry_binary_save_string), (gst_registry_binary_save_pad_template), (gst_registry_binary_save_feature), (gst_registry_binary_save_plugin), (gst_registry_binary_write_cache), (gst_registry_binary_check_magic), (gst_registry_binary_load_pad_template), (gst_registry_binary_load_feature), (gst_registry_binary_load_plugin), (gst_registry_binary_read_cache): * gst/gstregistrybinary.h: * gst/gstregistryxml.c: (load_feature), (gst_registry_xml_read_cache): commit binary registry (disabled by default, see #359653) 2007-01-11 10:48:59 +0000 Tim-Philipp Müller tests/check/gst/gstpad.c: Fix 'make check' too. Original commit message from CVS: * tests/check/gst/gstpad.c: (test_get_allowed_caps): Fix 'make check' too. 2007-01-10 21:24:08 +0000 Andy Wingo docs/design/part-negotiation.txt: Fix a typo, add a couple notes. Original commit message from CVS: 2007-01-10 Andy Wingo * docs/design/part-negotiation.txt: Fix a typo, add a couple notes. 2007-01-10 21:15:08 +0000 Andy Wingo docs/design/part-negotiation.txt: Update with, um, one way that pull-mode negotiation might work? Original commit message from CVS: 2007-01-10 Andy Wingo * docs/design/part-negotiation.txt: Update with, um, one way that pull-mode negotiation might work? * gst/gstpad.h: * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction that the pad must be a src pad; makes sense to call it the other way in pull mode, and the logic is symmetric anyway. 2007-01-10 19:25:09 +0000 Tim-Philipp Müller plugins/elements/gstfilesink.c: Include for fseeko(). Original commit message from CVS: * plugins/elements/gstfilesink.c: Include for fseeko(). 2007-01-10 10:21:47 +0000 Wim Taymans gst/gstevent.*: Reserve LATENCY event. Original commit message from CVS: * gst/gstevent.c: * gst/gstevent.h: Reserve LATENCY event. 2007-01-09 18:09:54 +0000 Wim Taymans docs/design/draft-latency.txt: Updates. Original commit message from CVS: * docs/design/draft-latency.txt: Updates. 2007-01-09 15:38:58 +0000 Wim Taymans docs/design/draft-latency.txt: Updates. Original commit message from CVS: * docs/design/draft-latency.txt: Updates. * gst/gstelement.h: * gst/gststructure.c: * gst/gsttrace.c: Small typo fixes. 2007-01-09 14:38:11 +0000 Tim-Philipp Müller tests/check/.cvsignore: Ignore test-registry.xml as well. Original commit message from CVS: * tests/check/.cvsignore: Ignore test-registry.xml as well. 2007-01-09 12:34:45 +0000 Wim Taymans libs/gst/base/gstcollectpads.c: unref data at the end when we are done with the pad. Original commit message from CVS: * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad): unref data at the end when we are done with the pad. 2007-01-08 20:30:12 +0000 Tim-Philipp Müller API: add gst_update_registry() (#391296). Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gst.c: (load_plugin_func), (scan_and_update_registry), (init_post), (gst_deinit), (gst_update_registry): * gst/gst.h: API: add gst_update_registry() (#391296). * tests/check/Makefile.am: * tests/check/gst/gstregistry.c: * tests/check/gst/.cvsignore: Simple unit test for the above. 2007-01-08 16:23:03 +0000 Tim-Philipp Müller gst/gstregistry.c: Plugin extension on HP-UX is .sl, add that to the list of approved plugin extensions (see #393796). Original commit message from CVS: * gst/gstregistry.c: (gst_registry_scan_path_level): Plugin extension on HP-UX is .sl, add that to the list of approved plugin extensions (see #393796). * tests/check/gst/gstpad.c: (GST_START_TEST): ulong => gulong. Fixes compilation with HP-UX compiler. * tests/check/pipelines/parse-launch.c: (GST_START_TEST): Fix compilation if valgrind headers are not available. 2007-01-07 10:21:33 +0000 Sébastien Moutte win32/common/libgstreamer.def: Add new exported function. Original commit message from CVS: * win32/common/libgstreamer.def: Add new exported function. * win32/vs6/libgstbase.dsp: Add gstdataqueue.c to the build. * win32/vs6/libgstcoreelements.dsp: Add gstmultiqueue.c to the build. 2007-01-06 17:18:03 +0000 Andy Wingo libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod, activate_pull(), providing for a way to specialize the pro... Original commit message from CVS: 2007-01-06 Andy Wingo * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod, activate_pull(), providing for a way to specialize the process of spawning a thread to pull on the sink pad. There is a default implementation. * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull) (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate) (gst_base_sink_init): Renamed pad activation functions (inserting "_pad" in their names). Refactor to use the new activate_pull vmethod, as appropriate. (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the default activate_pull function to start a task pulling from the sink pad, as before. 2007-01-06 17:09:10 +0000 Andy Wingo gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps on the pads if necessary, as in push()/chain(). Update... Original commit message from CVS: 2007-01-06 Andy Wingo * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps on the pads if necessary, as in push()/chain(). Update docs. Shouldn't affect existing pull() usage as it is currently only being used on buffers without caps. 2007-01-05 16:36:36 +0000 Tim-Philipp Müller gst/gst.c: Call g_thread_init() first thing in gst_init() / gst_check_init(). Original commit message from CVS: * gst/gst.c: (gst_init_get_option_group), (gst_init_check), (init_pre): Call g_thread_init() first thing in gst_init() / gst_check_init(). When initialisation is done via gst_init_get_option_group() and GOption parsing, issue a warning if the GLib thread system has not been initialised yet by the time gst_init_get_option_group() is called, as it's quite likely other GLib functions such as g_option_context_new() have been called already then, and g_thread_init() must be called before any other GLib function. The application in question must be fixed in that case, since memory corruption might happen otherwise. We issue the warning because even if the GLib folks decide to work around the problem on their end in future, this is still an issue with all GLib versions >= 2.10.0, so we should warn until we depend on a GLib version we know to be safe. Update documentation as well. Closes bug #391278. 2007-01-05 15:55:16 +0000 Tim-Philipp Müller tools/: Call g_thread_init() really really early, before any other GLib function (see #342564 and recent discussion o... Original commit message from CVS: * tools/gst-inspect.c: (main): * tools/gst-launch.c: (main): * tools/gst-typefind.c: (main): * tools/gst-xmlinspect.c: (main): Call g_thread_init() really really early, before any other GLib function (see #342564 and recent discussion on gtk-devel-list). 2007-01-05 13:23:02 +0000 Vincent Torri gst/: On win32, all the __declspec stuff for symbol exporting is apparently only needed with MSVC, but doesn't work w... Original commit message from CVS: Patch by: Vincent Torri * gst/gst_private.h: * gst/gstconfig.h.in: * gst/gstinfo.h: On win32, all the __declspec stuff for symbol exporting is apparently only needed with MSVC, but doesn't work with MingW. Fixes compilation with MingW and #391909. 2007-01-05 11:57:49 +0000 Tim-Philipp Müller libs/gst/base/gstbasesrc.c: Change some GST_ERROR_OBJECT that aren't really errors to Original commit message from CVS: * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push): Change some GST_ERROR_OBJECT that aren't really errors to GST_WARNING_OBJECT in order to reduce terminal spam. 2007-01-04 13:54:25 +0000 Stefan Kost tests/check/Makefile.am: disable test again, as there seem to be still race problems Original commit message from CVS: * tests/check/Makefile.am: disable test again, as there seem to be still race problems 2007-01-04 13:37:08 +0000 Stefan Kost tests/check/: enable queue test again, add tests for the leaky behaviour Original commit message from CVS: * tests/check/Makefile.am: * tests/check/elements/queue.c: (queue_overrun), (queue_underrun), (GST_START_TEST), (queue_suite): enable queue test again, add tests for the leaky behaviour 2007-01-02 17:01:33 +0000 Tim-Philipp Müller Compile adapter test/example only if the required headers are available (fixes #391915). Original commit message from CVS: * configure.ac: * tests/examples/Makefile.am: Compile adapter test/example only if the required headers are available (fixes #391915). 2007-01-02 09:31:45 +0000 Thomas Vander Stichele * gst/gstvalue.c: tell us what's not implemented Original commit message from CVS: tell us what's not implemented 2007-01-02 09:31:11 +0000 Thomas Vander Stichele * win32/common/config.h: bump to CVS Original commit message from CVS: bump to CVS 2007-01-02 06:14:06 +0000 David Schleef gst/gstplugin.c: Restore the previous signal handler for SIGSEGV instead of setting to default, since we may have sto... Original commit message from CVS: * gst/gstplugin.c: Restore the previous signal handler for SIGSEGV instead of setting to default, since we may have stolen it away from someone. (i.e., Mono) 2006-12-26 15:55:24 +0000 Tim-Philipp Müller docs/random/draft-missing-plugins.txt: Some small additions and clarifications. Original commit message from CVS: * docs/random/draft-missing-plugins.txt: Some small additions and clarifications. 2006-12-26 15:06:52 +0000 Tim-Philipp Müller gst/gstregistryxml.c: Make sure we don't pass non-UTF-8 strings to g_markup_escape(), since that can lead to random m... Original commit message from CVS: * gst/gstregistryxml.c: (gst_registry_save_escaped): Make sure we don't pass non-UTF-8 strings to g_markup_escape(), since that can lead to random memory corruptions and crashes (may or may not be related to #383244, #386711, and #386711). 2006-12-21 15:54:06 +0000 Stefan Kost tests/check/: sync .cvsignome and CLEANFILES Original commit message from CVS: * tests/check/.cvsignore: * tests/check/Makefile.am: sync .cvsignome and CLEANFILES 2006-12-21 15:32:00 +0000 Stefan Kost tests/check/Makefile.am: fix distcheck Original commit message from CVS: * tests/check/Makefile.am: fix distcheck 2006-12-21 15:00:08 +0000 Stefan Kost docs/design/part-states.txt: two tiny additional comments Original commit message from CVS: * docs/design/part-states.txt: two tiny additional comments * gst/gststructure.c: doc fixing * tests/check/Makefile.am: * tests/check/elements/queue.c: (queue_overrun), (queue_underrun), (GST_START_TEST): disable test for now, unless it gets fixed 2006-12-21 14:24:54 +0000 Stefan Kost tests/check/elements/queue.c: fix race in underrun test Original commit message from CVS: * tests/check/elements/queue.c: (queue_overrun), (queue_underrun), (GST_START_TEST): fix race in underrun test 2006-12-21 09:58:25 +0000 Stefan Kost tests/check/elements/.cvsignore: ignore more Original commit message from CVS: * tests/check/elements/.cvsignore: ignore more * tests/check/elements/queue.c: (queue_overrun), (queue_underrun), (GST_START_TEST): try to narrow test failure 2006-12-21 09:37:56 +0000 David Schleef plugins/elements/gstfakesrc.c: Use g_random_int_range(), since it produces better random numbers in a range than almo... Original commit message from CVS: * plugins/elements/gstfakesrc.c: Use g_random_int_range(), since it produces better random numbers in a range than almost-correct floating point code. 2006-12-21 08:12:28 +0000 Stefan Kost libs/gst/check/gstcheck.c: do not automatically (de)activate pads Original commit message from CVS: * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad), (gst_check_teardown_src_pad), (gst_check_setup_sink_pad), (gst_check_teardown_sink_pad): do not automatically (de)activate pads * tests/check/Makefile.am: * tests/check/elements/queue.c: (queue_overrun), (queue_underrun), (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite): add new, yet simple tests for queue * tests/check/elements/fakesrc.c: (cleanup_fakesrc): * tests/check/elements/fdsrc.c: (cleanup_fdsrc): * tests/check/elements/filesrc.c: (cleanup_filesrc), (GST_START_TEST): * tests/check/elements/identity.c: (cleanup_identity): consistent pad (de)activation 2006-12-20 19:06:02 +0000 Sebastian Dröge libs/gst/base/gstcollectpads.c: Fix two doc typos (#387866). Original commit message from CVS: Patch by: Sebastian Dröge * libs/gst/base/gstcollectpads.c: Fix two doc typos (#387866). 2006-12-19 15:06:42 +0000 Tim-Philipp Müller docs/manual/advanced-dparams.xml: Fix typo (g_object_control_properties() doesn't exist). Original commit message from CVS: * docs/manual/advanced-dparams.xml: Fix typo (g_object_control_properties() doesn't exist). 2006-12-19 12:38:00 +0000 Edward Hervey gst/gstsegment.c: Fine tune the cases where the segment start/stop values are really updated. Original commit message from CVS: * gst/gstsegment.c: (gst_segment_set_seek): Fine tune the cases where the segment start/stop values are really updated. * tests/check/gst/gstsegment.c: (GST_START_TEST): Add tests for the return values of gst_segment_set_seek(). 2006-12-19 11:04:49 +0000 Tim-Philipp Müller gst/gst.c: Docs typo fix. Original commit message from CVS: * gst/gst.c: Docs typo fix. * plugins/elements/gstqueue.c: (gst_queue_class_init), (gst_queue_init): Fix incorrect documentation and flesh it out a bit more. Set default values for the max properties on the GParamSpec as well, so it shows up correctly in gst-inspect. 2006-12-18 16:01:32 +0000 Stefan Kost plugins/elements/gstqueue.c: Correct docs of queue, add more detail and crosslink it more. Original commit message from CVS: * plugins/elements/gstqueue.c: (queue_leaky_get_type): Correct docs of queue, add more detail and crosslink it more. 2006-12-16 19:33:26 +0000 Tim-Philipp Müller plugins/elements/gstidentity.c: Print additional debug info when the stream isn't perfectly timestamped; don't try to... Original commit message from CVS: * plugins/elements/gstidentity.c: (gst_identity_check_perfect): Print additional debug info when the stream isn't perfectly timestamped; don't try to use invalid durations. 2006-12-16 16:14:01 +0000 Tim-Philipp Müller docs/design/Makefile.am: Dist new design docs. Original commit message from CVS: * docs/design/Makefile.am: Dist new design docs. 2006-12-16 15:17:54 +0000 Sjoerd Simons libs/gst/base/gstcollectpads.*: Add refcounting to the collectpads data so we can track when it's safe to free the da... Original commit message from CVS: Patch by: Sjoerd Simons * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data), (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad), (gst_collect_pads_stop), (gst_collect_pads_event), (gst_collect_pads_chain): * libs/gst/base/gstcollectpads.h: Add refcounting to the collectpads data so we can track when it's safe to free the data. Fixes #383382. 2006-12-15 17:09:59 +0000 Wim Taymans libs/gst/base/gstcollectpads.c: Automatically activate/deactivate pads when they are added to a started/stoped collec... Original commit message from CVS: * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad): Automatically activate/deactivate pads when they are added to a started/stoped collectpads. 2006-12-15 16:01:58 +0000 Wim Taymans gst/: Set pads to FLUSHING when they are created. Check, warn and fix when a demuxer adds an inactive pad to itself w... Original commit message from CVS: * gst/gstelement.c: (gst_element_add_pad): * gst/gstghostpad.c: (gst_ghost_pad_new_full): * gst/gstpad.c: (gst_pad_init): Set pads to FLUSHING when they are created. Check, warn and fix when a demuxer adds an inactive pad to itself when running. Fixes #339326. 2006-12-15 15:49:29 +0000 Wim Taymans gst/gstelement.c: Expose default element send_event and query handling as vmethods that subclasses can chain up to. Original commit message from CVS: * gst/gstelement.c: (gst_element_class_init), (gst_element_default_send_event), (gst_element_send_event), (gst_element_default_query), (gst_element_query): Expose default element send_event and query handling as vmethods that subclasses can chain up to. 2006-12-15 15:39:28 +0000 Wim Taymans gst/gstelement.c: Small documentation fixes. Original commit message from CVS: * gst/gstelement.c: (gst_element_set_state_func): Small documentation fixes. 2006-12-15 15:26:46 +0000 Wim Taymans docs/design/draft-latency.txt: Checked in draft for handling latency in pipelines. Original commit message from CVS: * docs/design/draft-latency.txt: Checked in draft for handling latency in pipelines. 2006-12-15 00:16:57 +0000 Thomas Vander Stichele adding .doap file Original commit message from CVS: * Makefile.am: * gstreamer.doap: * gstreamer.spec.in: adding .doap file 2006-12-14 14:06:38 +0000 Tim-Philipp Müller gst/gst.c: init_pre() and init_post() might be called via our GOptionGroup or from gst_init(), and we should skip bot... Original commit message from CVS: * gst/gst.c: (init_pre), (init_post): init_pre() and init_post() might be called via our GOptionGroup or from gst_init(), and we should skip both of them if we've already been initialised, otherwise we will init some things twice or add two default log functions. 2006-12-13 12:46:28 +0000 Edward Hervey docs/manual/basics-bus.xml: No, gst_main_loop does not exist. Its g_main_loop. Original commit message from CVS: * docs/manual/basics-bus.xml: No, gst_main_loop does not exist. Its g_main_loop. Discovered by somebody who abused the copy-paste technique of coding :) 2006-12-13 11:05:20 +0000 Tim-Philipp Müller gst/gstghostpad.c: Log ghostpad debug stuff to the GST_PADS category as well rather than just to the default category. Original commit message from CVS: * gst/gstghostpad.c: Log ghostpad debug stuff to the GST_PADS category as well rather than just to the default category. 2006-12-12 13:53:04 +0000 Tim-Philipp Müller Add some basic system details such as OS and architecture to the debug output if possible, courtesy of uname(). Original commit message from CVS: * configure.ac: * gst/gst.c: (init_pre): Add some basic system details such as OS and architecture to the debug output if possible, courtesy of uname(). 2006-12-11 13:40:32 +0000 Tim-Philipp Müller docs/gst/running.xml: Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR environment variables. Original commit message from CVS: * docs/gst/running.xml: Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR environment variables. 2006-12-09 20:23:10 +0000 Jan Schmidt tests/check/gst/gstbin.c: It is acceptable to have a refcount of 2 or 3 at this point in the test, because the pipeli... Original commit message from CVS: * tests/check/gst/gstbin.c: (GST_START_TEST): It is acceptable to have a refcount of 2 or 3 at this point in the test, because the pipeline might be just posting its state_change message. The next line then waits for that message to appear using bus_poll, so that should be fine too. 2006-12-09 18:48:57 +0000 Jan Schmidt gst/gst.c: Ignore EINTR when reading from the child registry pipe. Original commit message from CVS: * gst/gst.c: (ensure_current_registry_forking): Ignore EINTR when reading from the child registry pipe. Explicitly ignore the return value from close, since it makes no difference. * gst/gstminiobject.c: (gst_mini_object_ref), (gst_mini_object_unref): When debugging refcounts, check GST_IS_MINI_OBJECT and warn. * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins): When removing cached plugins, remove their features too, so they're not visible after they've disappeared. * gst/gstutils.c: (prepare_link_maybe_ghosting): In the unlikely case that we are linking pads with no parents, don't crash trying to get the non-existent parent bin. * gst/parse/grammar.y: Output debug in the PIPELINE category 2006-12-08 16:12:44 +0000 René Stadler gst/gstclock.c: Reject invalid clock times for interval of periodic ids. Original commit message from CVS: Patch by: René Stadler * gst/gstclock.c: (gst_clock_new_periodic_id): Reject invalid clock times for interval of periodic ids. Fixes ##383506. 2006-12-07 12:11:14 +0000 Jan Schmidt Fix refcounting of gst_plugin_feature_load to match the docs. Original commit message from CVS: * gst/gstelementfactory.c: (gst_element_factory_create): * gst/gstpluginfeature.c: (gst_plugin_feature_load): * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function): * tools/gst-inspect.c: (print_element_info): Fix refcounting of gst_plugin_feature_load to match the docs. Fixes: #380129 2006-12-07 10:59:05 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Improve debugging of events. Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_event), (gst_base_sink_get_position): Improve debugging of events. 2006-12-07 10:51:36 +0000 René Stadler gst/gstclock.c: Make period ids add the interval to the origial requested time instead of the possibly updated time w... Original commit message from CVS: Patch by: René Stadler * gst/gstclock.c: (gst_clock_id_wait): Make period ids add the interval to the origial requested time instead of the possibly updated time which can be wrong when there are multiple waiters for the same id. Fixes #382592. * gst/gstsystemclock.c: (gst_system_clock_async_thread), (gst_system_clock_id_wait_jitter_unlocked), (gst_system_clock_id_wait_jitter): Fix restart in the async notify thread when an async entry is added to the front of the list. Fixes #381492. * tests/check/gst/gstsystemclock.c: (store_callback), (notify_callback), (GST_START_TEST), (gst_systemclock_suite): Added test for multiple async waits. Added test for async wait order. 2006-12-07 10:02:19 +0000 Wim Taymans gst/gstbin.c: Add some more docs about the POSITION query. Original commit message from CVS: * gst/gstbin.c: (gst_bin_query): Add some more docs about the POSITION query. 2006-12-07 02:37:18 +0000 Jan Schmidt configure.ac: Bump version nano - back to CVS. Original commit message from CVS: * configure.ac: Bump version nano - back to CVS. === release 0.10.11 === 2006-12-07 02:33:54 +0000 Jan Schmidt configure.ac: releasing 0.10.11, "Love never runs on time" Original commit message from CVS: === release 0.10.11 === 2006-12-06 Jan Schmidt * configure.ac: releasing 0.10.11, "Love never runs on time" 2006-12-01 10:23:26 +0000 Sergey Scobich win32/: Fix compilation on win32 under VS8 Original commit message from CVS: * win32/common/libgstbase.def: * win32/common/libgstreamer.def: * win32/vs8/libgstbase.vcproj: * win32/vs8/libgstcoreelements.vcproj: * win32/vs8/libgstreamer.vcproj: Fix compilation on win32 under VS8 Patch by: Sergey Scobich Partially fixes #381175 2006-11-30 22:55:08 +0000 Jan Schmidt * po/af.po: * po/az.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/de.po: * po/en_GB.po: * po/fr.po: * po/it.po: * po/nb.po: * po/nl.po: * po/ru.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files Original commit message from CVS: Update .po files 2006-11-29 16:39:32 +0000 Jan Schmidt gst/gstvalue.c: If someone is foolish enough to compare 2 fractions with denominator = 0, return UNORDERED rather tha... Original commit message from CVS: * gst/gstvalue.c: (gst_value_compare_fraction): If someone is foolish enough to compare 2 fractions with denominator = 0, return UNORDERED rather than aborting. 2006-11-28 12:07:06 +0000 Edward Hervey libs/gst/base/: New GstDataQueue object for threadsafe queueing. Most useful for elements that need some queueing fun... Original commit message from CVS: * libs/gst/base/Makefile.am: * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type), (gst_data_queue_base_init), (gst_data_queue_class_init), (gst_data_queue_init), (gst_data_queue_new), (gst_data_queue_cleanup), (gst_data_queue_finalize), (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty), (gst_data_queue_locked_is_full), (gst_data_queue_flush), (gst_data_queue_is_empty), (gst_data_queue_is_full), (gst_data_queue_set_flushing), (gst_data_queue_push), (gst_data_queue_pop), (gst_data_queue_drop_head), (gst_data_queue_set_property), (gst_data_queue_get_property): * libs/gst/base/gstdataqueue.h: New GstDataQueue object for threadsafe queueing. Most useful for elements that need some queueing functionnality. * docs/libs/gstreamer-libs-docs.sgml: * docs/libs/gstreamer-libs-sections.txt: Insert documentation for GstDataQueue * plugins/elements/Makefile.am: * plugins/elements/gstelements.c: * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init), (gst_multi_queue_class_init), (gst_multi_queue_init), (gst_multi_queue_finalize), (gst_multi_queue_set_property), (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad), (gst_multi_queue_release_pad), (gst_single_queue_push_one), (gst_multi_queue_item_destroy), (gst_multi_queue_item_new), (gst_multi_queue_loop), (gst_multi_queue_chain), (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event), (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc), (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps), (gst_multi_queue_src_event), (gst_multi_queue_src_query), (wake_up_next_non_linked), (compute_next_non_linked), (single_queue_overrun_cb), (single_queue_underrun_cb), (single_queue_check_full), (gst_single_queue_new): * plugins/elements/gstmultiqueue.h: New multiqueue element, using GstDataQueue. Used for queuing multiple streams. Closes #344639 and #347785 2006-11-22 12:29:41 +0000 Stefan Kost docs/pwg/advanced-types.xml: add more missing type details Original commit message from CVS: * docs/pwg/advanced-types.xml: add more missing type details * tools/gst-run.c: (main): remove unused variable 2006-11-21 08:30:20 +0000 Stefan Kost docs/libs/: add types of base classes to enable gobject specific stuff in the docs Original commit message from CVS: * docs/libs/Makefile.am: * docs/libs/gstreamer-libs.types: add types of base classes to enable gobject specific stuff in the docs * docs/random/ensonic/embedded.txt: more ideas about isolating platform specific things 2006-11-20 11:11:20 +0000 Sebastian Droege libs/gst/check/gstcheck.h: Fix compilation and running against 0.9.4. Fixes #377332. Original commit message from CVS: Patch by: Sebastian Droege * libs/gst/check/gstcheck.h: Fix compilation and running against 0.9.4. Fixes #377332. 2006-11-20 10:27:49 +0000 Wim Taymans gst/gstsegment.c: Fix boundary checking in to_running_time() and to_stream_time(). Original commit message from CVS: * gst/gstsegment.c: (gst_segment_set_seek), (gst_segment_set_newsegment_full), (gst_segment_to_stream_time), (gst_segment_to_running_time): Fix boundary checking in to_running_time() and to_stream_time(). Fixes #377183. * tests/check/gst/gstsegment.c: (GST_START_TEST): stream and running time can now be calculated for the complete clipped segment. 2006-11-15 17:38:13 +0000 Tim-Philipp Müller gst/gstpad.c: Can't access event structure after giving away ownership of the event. Original commit message from CVS: * gst/gstpad.c: (gst_pad_push_event): Can't access event structure after giving away ownership of the event. 2006-11-15 13:00:16 +0000 Stefan Kost docs/random/ensonic/: more thinking Original commit message from CVS: * docs/random/ensonic/embedded.txt: * docs/random/ensonic/profiling.txt: * docs/random/ensonic/receipies.txt: more thinking 2006-11-13 18:03:35 +0000 Mark Nauwelaerts gst/gstpad.c: Fix documentation for gst_pad_dispatcher. Fixes #374475. Original commit message from CVS: Patch by: Mark Nauwelaerts * gst/gstpad.c: Fix documentation for gst_pad_dispatcher. Fixes #374475. 2006-11-13 17:54:58 +0000 Jonathan Matthew libs/gst/base/gstbasesrc.c: Store new length in segment duration so we don't keep on calling the potentially expensiz... Original commit message from CVS: Patch by: Jonathan Matthew * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length): Store new length in segment duration so we don't keep on calling the potentially expensize get_size() call. Fixes #370865. 2006-11-10 18:56:44 +0000 Sergey Scobich win32/common/libgstreamer.def: Add two missing symbols (#366492). Original commit message from CVS: Patch by: Sergey Scobich * win32/common/libgstreamer.def: Add two missing symbols (#366492). 2006-11-10 10:50:19 +0000 Jan Schmidt libs/gst/base/gstadapter.c: Fix format string to use all its arguments. Original commit message from CVS: * libs/gst/base/gstadapter.c: (gst_adapter_flush), (gst_adapter_take_buffer): Fix format string to use all its arguments. Remove useless >= check on a guint 2006-11-09 15:25:39 +0000 Jan Schmidt tests/examples/adapter/.cvsignore: Ignore build file as commanded by the build-bot Original commit message from CVS: * tests/examples/adapter/.cvsignore: Ignore build file as commanded by the build-bot 2006-11-09 14:38:59 +0000 Jan Schmidt tests/examples/adapter/: Add new files from the previous commit Original commit message from CVS: * tests/examples/adapter/Makefile.am: * tests/examples/adapter/adapter_test.c: (run_test_take), (run_test_take_buffer), (run_tests), (main): Add new files from the previous commit 2006-11-09 14:37:38 +0000 Jan Schmidt Do some optimisation work in GstAdapter to avoid copies in more cases. Original commit message from CVS: * Makefile.am: * configure.ac: * libs/gst/base/gstadapter.c: (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek), (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer): * libs/gst/base/gstadapter.h: * tests/check/libs/adapter.c: (create_and_fill_adapter), (GST_START_TEST), (gst_adapter_suite): * tests/examples/Makefile.am: Do some optimisation work in GstAdapter to avoid copies in more cases. It could still do slightly better by merging buffers when gst_buffer_is_span_fast is true, but is already faster. Also, avoid traversing a single-linked list to append each incoming buffer inside the adapter. Add simple test app that times the adapter behaviour in different situations, and extend the unit test to check that bytes enter and exit the adapter in their original order. 2006-11-08 19:27:15 +0000 Tim-Philipp Müller docs/random/draft-missing-plugins.txt: Update: use element message instead of adding a new message type to the core; ... Original commit message from CVS: * docs/random/draft-missing-plugins.txt: Update: use element message instead of adding a new message type to the core; don't provide GStreamer API to initiate the plugin download, just provide API to compose the strings needed and let an external libgimmestuff handle the rest. 2006-11-08 11:41:13 +0000 Jan Schmidt tools/gst-inspect.c: Print a string instead of 'unknown type' for GValueArray properties Original commit message from CVS: * tools/gst-inspect.c: (print_element_properties_info): Print a string instead of 'unknown type' for GValueArray properties 2006-11-08 10:35:24 +0000 Jan Schmidt * ChangeLog: Fix Christian's email address in Changelog Original commit message from CVS: Fix Christian's email address in Changelog 2006-11-08 02:04:52 +0000 Christian Schaller docs/random/draft-missing-plugins.txt: More small fixes. Original commit message from CVS: * docs/random/draft-missing-plugins.txt: More small fixes. 2006-11-08 02:03:48 +0000 Tim-Philipp Müller tests/examples/typefind/typefind.c: Make typefind element example work again (#371894); add a license header. Original commit message from CVS: * tests/examples/typefind/typefind.c: (type_found), (main): Make typefind element example work again (#371894); add a license header. 2006-11-08 01:40:27 +0000 Tim-Philipp Müller docs/random/draft-missing-plugins.txt: Commit initial draft about how to deal with missing plugins, needs work (API t... Original commit message from CVS: * docs/random/draft-missing-plugins.txt: Commit initial draft about how to deal with missing plugins, needs work (API too). 2006-11-07 07:34:43 +0000 Stefan Kost docs/pwg/advanced-types.xml: documents the new caps elements (see #363118) Original commit message from CVS: * docs/pwg/advanced-types.xml: documents the new caps elements (see #363118) 2006-11-06 17:53:24 +0000 Tim-Philipp Müller Use g_strerror() instead of strerror() - we want UTF-8. Original commit message from CVS: * gst/gstplugin.c: (gst_plugin_load_file): * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize), (gst_file_src_map_region), (gst_file_src_start): * plugins/indexers/gstfileindex.c: (gst_file_index_load), (gst_file_index_commit): Use g_strerror() instead of strerror() - we want UTF-8. 2006-11-06 17:25:01 +0000 Peter Kjellerstedt plugins/elements/gstfdsrc.c: Another printf fix (#371493). Original commit message from CVS: Patch by: Peter Kjellerstedt * plugins/elements/gstfdsrc.c: (gst_fd_src_create): Another printf fix (#371493). 2006-11-06 15:22:40 +0000 Stefan Kost tests/check/gst/gsttag.c: relicence (okay with author=company) Original commit message from CVS: * tests/check/gst/gsttag.c: relicence (okay with author=company) 2006-11-06 15:18:57 +0000 Stefan Kost gst/gstpad.c: Enhance debug and improve docs Original commit message from CVS: * gst/gstpad.c: (gst_pad_event_default_dispatch), (gst_pad_push_event): Enhance debug and improve docs * gst/gsturi.c: Fix docs 2006-11-06 15:17:35 +0000 Stefan Kost docs/random/ensonic/: more ideas Original commit message from CVS: * docs/random/ensonic/distributed.txt: * docs/random/ensonic/profiling.txt: more ideas 2006-11-06 15:14:46 +0000 Stefan Kost docs/gst/gstreamer-sections.txt: add new API and fix the build Original commit message from CVS: * docs/gst/gstreamer-sections.txt: add new API and fix the build * gst/gstbin.c: (gst_bin_recalc_state): * gst/gstelement.c: (gst_element_message_full), (gst_element_get_state_func), (gst_element_set_state_func): use new API and improve logging * gst/gstutils.c: (gst_element_state_change_return_get_name): * gst/gstutils.h: API: add function to get StateChangereturn names to improve logs 2006-11-06 12:01:27 +0000 Zaheer Abbas Merali * docs/random/zaheerm/dvb-interface.txt: Notes taken while discussing dvb channel selection with Wim Original commit message from CVS: Notes taken while discussing dvb channel selection with Wim 2006-11-04 12:54:08 +0000 Thomas Vander Stichele * ChangeLog: * docs/random/moving-plugins: * plugins/elements/gstfilesrc.c: don't put strerror in translatable message Original commit message from CVS: don't put strerror in translatable message 2006-11-03 15:04:40 +0000 Wim Taymans plugins/elements/gstfdsrc.c: Get the type and printf conversion specifiers right. Original commit message from CVS: * plugins/elements/gstfdsrc.c: (gst_fd_src_create): Get the type and printf conversion specifiers right. 2006-11-03 13:57:28 +0000 Mark Nauwelaerts gst/gstpad.c: Some small cleanups. Improve debugging. Original commit message from CVS: Patch by: Mark Nauwelaerts * gst/gstpad.c: (gst_pad_init), (pre_activate), (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default), (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event): Some small cleanups. Improve debugging. * gst/gstpad.h: Signal all waiting threads with a broadcast instead of just one. Fixes #369942. 2006-11-03 09:40:03 +0000 Wim Taymans plugins/elements/gstfdsrc.c: Add some debugging. Original commit message from CVS: * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd), (gst_fd_src_create): Add some debugging. Only update fd when it's different from the old. 2006-11-02 20:52:21 +0000 Tim-Philipp Müller plugins/elements/gstfilesrc.c: Printf fixes for PPC/OSX, take two (#369366). Original commit message from CVS: * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap): Printf fixes for PPC/OSX, take two (#369366). 2006-11-02 13:00:38 +0000 Jan David Mol plugins/elements/: Printf fixes for gsize parameters on PPC/OSX (#369366). Also, don't cast to long long for portabil... Original commit message from CVS: Based on patch by: Jan David Mol * plugins/elements/gstfilesink.c: (gst_file_sink_class_init): * plugins/elements/gstfilesrc.c: (gst_file_src_class_init), (gst_file_src_map_small_region), (gst_file_src_create_mmap): Printf fixes for gsize parameters on PPC/OSX (#369366). Also, don't cast to long long for portability reasons, but use GLib's types instead. 2006-10-30 18:43:12 +0000 Michael Smith plugins/elements/gstfdsrc.c: Get the arguments to lseek() the right way around. Original commit message from CVS: * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd): Get the arguments to lseek() the right way around. Fixes 367677. 2006-10-30 07:51:13 +0000 gorshkov gst/gstinfo.h: _declspec should be __declspec (two underscores, not one). Fixes 366572. Original commit message from CVS: Patch by: gorshkov * gst/gstinfo.h: _declspec should be __declspec (two underscores, not one). Fixes 366572. 2006-10-28 15:42:29 +0000 Kjartan Maraas Typo fixes (#366212). Original commit message from CVS: Patch by: Kjartan Maraas * docs/design/part-MT-refcounting.txt: * docs/random/wtay/capsnego2-docs: * gst/gstclock.c: * gst/gstxml.c: Typo fixes (#366212). 2006-10-28 15:10:26 +0000 Sergey Scobich Add needed entries in .def files. Original commit message from CVS: Patch by: Sergey Scobich * gst/gst.c: * win32/common/libgstbase.def: * win32/common/libgstreamer.def: * win32/vs8/libgstbase.vcproj: * win32/vs8/libgstcontroller.vcproj: Add needed entries in .def files. Use HAVE_UNISTD_H. Rearrange def files in vs8 solutions. Fixes #366286. 2006-10-28 15:03:19 +0000 Tim-Philipp Müller win32/common/gstconfig.h: Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the hand-made win32 gstconfig.h. F... Original commit message from CVS: * win32/common/gstconfig.h: Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the hand-made win32 gstconfig.h. Fixes #366321. 2006-10-27 16:31:15 +0000 Wim Taymans gst/gstghostpad.c: Make acceptcaps return TRUE when we don't have a target, just like setcaps does. Original commit message from CVS: * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps), (gst_ghost_pad_new_full): Make acceptcaps return TRUE when we don't have a target, just like setcaps does. 2006-10-27 10:10:26 +0000 Wim Taymans libs/gst/base/gstbasetransform.c: Revert previous commit, 0 sized buffers are allowed. Reopens #363095. Original commit message from CVS: * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain): Revert previous commit, 0 sized buffers are allowed. Reopens #363095. 2006-10-26 08:49:52 +0000 Tim-Philipp Müller gst/gststructure.c: If someone tries to set a non-UTF8 string field on a structure, don't just print a warning, but a... Original commit message from CVS: * gst/gststructure.c: (gst_structure_id_set_value): If someone tries to set a non-UTF8 string field on a structure, don't just print a warning, but also ignore the request and do not change/add that field to the structure. * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite): Test for the above. 2006-10-26 00:00:34 +0000 David Schleef gst/gstinfo.c: g_hash_table_insert() needs a cast to a non-const pointer duh. Original commit message from CVS: * gst/gstinfo.c: g_hash_table_insert() needs a cast to a non-const pointer duh. 2006-10-25 23:47:40 +0000 David Schleef gst/gstinfo.*: Change name parameter of _gst_debug_register_funcptr to const to reflect the constness of its use in t... Original commit message from CVS: * gst/gstinfo.c: * gst/gstinfo.h: Change name parameter of _gst_debug_register_funcptr to const to reflect the constness of its use in the function as well as to quiet a gcc warning. 2006-10-25 13:41:44 +0000 Edward Hervey libs/gst/base/gstbasetransform.c: Don't push the buffer if it's empty. Original commit message from CVS: * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain): Don't push the buffer if it's empty. Closes #363095 2006-10-24 08:22:19 +0000 Wim Taymans gst/gstevent.h: Add small comment. Original commit message from CVS: * gst/gstevent.h: Add small comment. * libs/gst/base/gstbasetransform.c: (gst_base_transform_sink_eventfunc): Debug segment values *after* updating them as this is more interesting. 2006-10-23 15:21:12 +0000 Wim Taymans docs/design/part-events.txt: Update some docs. Original commit message from CVS: * docs/design/part-events.txt: Update some docs. * docs/design/part-block.txt: * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block), (gst_pad_push_event): Revert BLOCKING patch, it tries to be smart without really having a clear idea what or how. So, now we discard all FLUSHING events again on a blocking pad. Should fix gnonlin again. 2006-10-23 14:51:30 +0000 Sergey Scobich libs/gst/base/gstbasesrc.c: Make sure size is always initialized. Fixes #364388. Original commit message from CVS: Patch by: Sergey Scobich * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing), (gst_base_src_start), (gst_base_src_activate_push): Make sure size is always initialized. Fixes #364388. 2006-10-20 11:36:56 +0000 Stefan Kost docs/random/ensonic/distributed.txt: add some ideas about doing distributed processing Original commit message from CVS: * docs/random/ensonic/distributed.txt: add some ideas about doing distributed processing * docs/random/ensonic/profiling.txt: get_rusage look promising 2006-10-18 19:43:46 +0000 Stefan Kost docs/manual/basics-helloworld.xml: Add a cast in example to fix compile warning Original commit message from CVS: * docs/manual/basics-helloworld.xml: Add a cast in example to fix compile warning 2006-10-18 15:28:19 +0000 Wim Taymans gst/gstsegment.c: Relax arg checking again, -1 is allowed. Original commit message from CVS: * gst/gstsegment.c: (gst_segment_set_last_stop), (gst_segment_set_seek), (gst_segment_set_newsegment_full): Relax arg checking again, -1 is allowed. 2006-10-18 13:27:39 +0000 Wim Taymans gst/gstsegment.c: _set_last_stop() must be with a value != -1 Original commit message from CVS: * gst/gstsegment.c: (gst_segment_set_last_stop), (gst_segment_set_seek), (gst_segment_set_newsegment_full): _set_last_stop() must be with a value != -1 A _TYPE_SET to -1 means seek to 0. Calc last_stop correctly for negative rates. Make sure we work with positive durations when updating a segment. 2006-10-18 13:21:56 +0000 Wim Taymans Small docs fixes. Original commit message from CVS: * docs/design/part-live-source.txt: * gst/gstclock.h: Small docs fixes. 2006-10-18 10:08:45 +0000 Tim-Philipp Müller gst/gstbuffer.h: Add an explicit cast to GstBuffer** to keep old code that added an explicit cast to GstMiniObject** ... Original commit message from CVS: * gst/gstbuffer.h: Add an explicit cast to GstBuffer** to keep old code that added an explicit cast to GstMiniObject** for gst_mini_object_replace() compiling without warning. 2006-10-18 08:54:30 +0000 Stefan Kost gst/gstvalue.c: check for validity of dates Original commit message from CVS: * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy): check for validity of dates 2006-10-17 12:09:35 +0000 Tim-Philipp Müller docs/gst/gstreamer-sections.txt: Forgot this one, makes gtk-doc shut up. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: Forgot this one, makes gtk-doc shut up. 2006-10-17 11:57:32 +0000 Peter Kjellerstedt gst/gstobject.h: Don't define xmlNodePtr to gpointer if the core was built with Original commit message from CVS: Patch by: Peter Kjellerstedt * gst/gstobject.h: Don't define xmlNodePtr to gpointer if the core was built with --disable-loadsave and --disable-registry, this will break applications that want to use libxml2 but are buildling against a core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr instead so we don't have to mess with the libxml2 namespace (#361675). 2006-10-17 10:30:27 +0000 Tim-Philipp Müller gst/gstbuffer.h: Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related type-punned pointer warnings. Original commit message from CVS: * gst/gstbuffer.h: Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related type-punned pointer warnings. 2006-10-16 20:02:38 +0000 Tim-Philipp Müller gst/gstelement.h: Add casts to the correct return type to state <=> state transition macros. Original commit message from CVS: * gst/gstelement.h: Add casts to the correct return type to state <=> state transition macros. 2006-10-16 13:53:55 +0000 Stefan Kost docs/design/part-live-source.txt: describe howto handle latency Original commit message from CVS: * docs/design/part-live-source.txt: describe howto handle latency * docs/random/ensonic/profiling.txt: more ideas * tools/gst-plot-timeline.py: fix log parsing for solaris, remove unused function 2006-10-16 11:46:04 +0000 Wim Taymans Update some docs regarding reverse playback. Original commit message from CVS: * docs/design/part-trickmodes.txt: * gst/gstevent.c: Update some docs regarding reverse playback. 2006-10-15 12:47:13 +0000 Marcus Granado win32/vs8/grammar.vcproj: Error out with a warning if glib-genmarshal.exe is not in path, instead of creating bogus g... Original commit message from CVS: Patch by: Marcus Granado * win32/vs8/grammar.vcproj: Error out with a warning if glib-genmarshal.exe is not in path, instead of creating bogus gstmarshal.[ch] files. Fixes #361720. 2006-10-13 16:09:53 +0000 Wim Taymans gst/gstsegment.c: When seeking to stop -1, set last_stop (current position) to the duration of the segment. Original commit message from CVS: * gst/gstsegment.c: (gst_segment_set_seek): When seeking to stop -1, set last_stop (current position) to the duration of the segment. 2006-10-13 13:27:46 +0000 Yves Lefebvre gst/gstelement.h: Clarify _NO_PREROLL a bit more. Original commit message from CVS: * gst/gstelement.h: Clarify _NO_PREROLL a bit more. * gst/gstevent.c: Fix docs. * gst/gstpad.c: (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked), (gst_pad_save_thyself), (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event): Patch by: Yves Lefebvre Fix possible deadlock due to wrong locking order. Fixes #361769. Remove some redundant/misplaced checks in pad_block. * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position): For negative rates, count backwards from the duration. 2006-10-13 09:37:59 +0000 Tim-Philipp Müller gst/gsterror.c: Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come up with something better). Original commit message from CVS: * gst/gsterror.c: (_gst_library_errors_init): Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come up with something better). 2006-10-12 22:35:52 +0000 Tim-Philipp Müller win32/: Don't reference glib-compat.c which is currently not used and not disted; add gstquark.c which was recently a... Original commit message from CVS: * win32/vs6/libgstreamer.dsp: * win32/vs7/libgstreamer.vcproj: * win32/vs8/libgstreamer.vcproj: Don't reference glib-compat.c which is currently not used and not disted; add gstquark.c which was recently added. Fixes #361730. 2006-10-12 16:09:24 +0000 Tim-Philipp Müller win32/common/: Add gst_caps_merge() and a bunch of other recently-added functions. Original commit message from CVS: * win32/common/libgstbase.def: * win32/common/libgstcontroller.def: * win32/common/libgstreamer.def: Add gst_caps_merge() and a bunch of other recently-added functions. Fixes #361732. 2006-10-11 16:30:14 +0000 Wim Taymans docs/plugins/: Update element args. Original commit message from CVS: * docs/plugins/gstreamer-plugins.args: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: Update element args. * gst/gstsystemclock.c: Small comment update. * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init), (gst_tee_request_new_pad), (gst_tee_release_pad), (gst_tee_buffer_alloc), (gst_tee_sink_activate_push), (gst_tee_sink_activate_pull): * plugins/elements/gsttee.h: Some tee loving: Add default property defines. Implement release pad function. Give properties better blubs etc. Activate pads before adding them to a running tee. Do simple buffer_alloc on the first requested pad. Post error when activation fails. 2006-10-11 12:16:05 +0000 Tim-Philipp Müller gst/gst.c: Check return value of write() to make compiler happy. Original commit message from CVS: * gst/gst.c: (ensure_current_registry_forking): Check return value of write() to make compiler happy. 2006-10-11 10:10:37 +0000 Sjoerd Simons plugins/elements/gstqueue.c: Recheck queue filledness after signalling the overrun when we're about to leak downstrea... Original commit message from CVS: Patch by: Sjoerd Simons * plugins/elements/gstqueue.c: (gst_queue_chain): Recheck queue filledness after signalling the overrun when we're about to leak downstream because we released the lock when emitting the signal and the queue could be empty again. Fixes #352345. 2006-10-11 09:13:26 +0000 Tim-Philipp Müller libs/gst/controller/gstcontroller.c: Fix refcounting here too, just like we did for _new_valist() a few days ago (#35... Original commit message from CVS: * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): Fix refcounting here too, just like we did for _new_valist() a few days ago (#357180) (thanks to René Stadler). Also remove all those 'Since: 0.9' from the gtk-doc blobs. * tests/check/libs/controller.c: (controller_refcount_new_list), (gst_controller_suite): Unit test for the above. 2006-10-10 14:47:40 +0000 Sebastien Cote gst/gstpad.c: Update some docs. Original commit message from CVS: Patch by: Sebastien Cote * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_save_thyself): Update some docs. Write pad direction in XML output. Fixes #345496. 2006-10-10 14:13:08 +0000 René Stadler libs/gst/controller/gstcontroller.c: Take ref to controlled object so that it cannot disappear. Original commit message from CVS: Patch by: René Stadler * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist), (gst_controller_new_list), (_gst_controller_dispose), (_gst_controller_finalize), (_gst_controller_class_init): Take ref to controlled object so that it cannot disappear. Fixes #357432. 2006-10-10 14:09:43 +0000 Wim Taymans libs/gst/check/gstcheck.c: Activate/deactivate pads in setup/teardown respectively. Original commit message from CVS: * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad), (gst_check_teardown_src_pad), (gst_check_setup_sink_pad), (gst_check_teardown_sink_pad): Activate/deactivate pads in setup/teardown respectively. 2006-10-10 12:12:44 +0000 Josep Torre Valles gst/Makefile.am: Cast values when making gstenumtypes.h. This pacifies Forte so it doesn't warn about the ~0 as GST_... Original commit message from CVS: 2006-10-10 Zaheer Abbas Merali Patch by: Josep Torre Valles * gst/Makefile.am: Cast values when making gstenumtypes.h. This pacifies Forte so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting in the enumeration. 2006-10-09 17:15:39 +0000 Wim Taymans gst/gstevent.c: Rename some more @cur to @start to fix docs. Original commit message from CVS: * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek): Rename some more @cur to @start to fix docs. * gst/gstsegment.c: (gst_segment_set_seek): Fix typo. time and start must always stay in sync as defined in design doc. * gst/gsttaglist.c: (gst_tag_list_is_empty): Rename param to fix docs. * tests/check/gst/gstsegment.c: (GST_START_TEST): Check that start and time are in sync. * tests/check/pipelines/parse-launch.c: (gst_parse_test_element_change_state): Activate pad before adding to the element. 2006-10-09 16:33:29 +0000 Wim Taymans docs/design/part-qos.txt: Fix typo. Original commit message from CVS: * docs/design/part-qos.txt: Fix typo. * gst/gstevent.c: * gst/gstevent.h: Update seek event docs regarding negative rates. Rename @cur to @start. * gst/gstsegment.c: (gst_segment_set_seek): * gst/gstsegment.h: Update set_seek docs regarding negative rates. Correctly update last_stop to @stop when dealing with negative rates. Rename @cur to @start. * tests/check/gst/gstpad.c: (GST_START_TEST): Activate pads before trying to use them. * tests/check/gst/gstsegment.c: (GST_START_TEST), (gst_segment_suite): Add simple check for segments and negative rates. 2006-10-09 11:20:44 +0000 Tim-Philipp Müller API: add gst_tag_list_is_empty() (#360467). Original commit message from CVS: * gst/gsttaglist.c: (gst_tag_list_is_empty): * gst/gsttaglist.h: * docs/gst/gstreamer-sections.txt: API: add gst_tag_list_is_empty() (#360467). * tests/check/gst/gsttag.c: (GST_START_TEST): And a test case. 2006-10-09 11:06:50 +0000 Zaheer Abbas Merali gst/gstmessage.h: Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having a value that doesn't fit on enumeration. Original commit message from CVS: 2006-10-09 Zaheer Abbas Merali * gst/gstmessage.h: Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having a value that doesn't fit on enumeration. 2006-10-09 10:14:28 +0000 Zaheer Abbas Merali libs/gst/net/gstnetclientclock.c: Remove local debugging system and use Gstreamer's instead. Original commit message from CVS: 2006-10-09 Zaheer Abbas Merali * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread): Remove local debugging system and use Gstreamer's instead. 2006-10-09 09:32:29 +0000 Josep Torre Valles common/m4/gst-error.m4: Disable warning of statement not reached on Forte. Original commit message from CVS: 2006-10-09 Zaheer Abbas Merali Patch by: Josep Torre Valles * common/m4/gst-error.m4: Disable warning of statement not reached on Forte. * gst/gstmessage.h: Fix warning on Forte (value doesn't fit on enumeration). * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked): Fix warning on Forte (value doesn't fit on enumeration). * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread): DEBUG macro says it takes minimum of 2 args and so Forte complains about the use with just 1 arg. * plugins/elements/gstfdsink.c: * plugins/elements/gstfdsrc.c: * plugins/elements/gstfilesink.c: * plugins/elements/gstfilesrc.c: Use correct return type for the uri handler implementations. All these fix warnings in Forte. Fixes bug #360860. 2006-10-08 13:27:17 +0000 Tim-Philipp Müller gst/gstelement.h: gcc versions prior to gcc 3.3 apparently complain about a NULL printf format string, so don't use G... Original commit message from CVS: * gst/gstelement.h: gcc versions prior to gcc 3.3 apparently complain about a NULL printf format string, so don't use G_GNUC_PRINTF for those versions. 2006-10-07 18:41:19 +0000 Tim-Philipp Müller gst/gsttaglist.*: Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list(). Original commit message from CVS: * gst/gsttaglist.c: (gst_is_tag_list): * gst/gsttaglist.h: Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list(). * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite): Small test for the above. 2006-10-07 18:11:03 +0000 Tim-Philipp Müller gst/gsttaglist.h: Less tabs, more spaces. Original commit message from CVS: * gst/gsttaglist.h: Less tabs, more spaces. 2006-10-06 17:21:33 +0000 Tim-Philipp Müller gst/gstinfo.h: Those two function declarations do actually belong there, revert commit from yesterday that turned the... Original commit message from CVS: * gst/gstinfo.h: Those two function declarations do actually belong there, revert commit from yesterday that turned them intro macros. 2006-10-06 14:46:04 +0000 Josep Torre Valles gst/gst.c: Fix empty declaration and type mismatch. Original commit message from CVS: 2006-10-06 Zaheer Abbas Merali Patch by: Josep Torre Valles * gst/gst.c: (gst_init_get_option_group): Fix empty declaration and type mismatch. * gst/gstbin.c: (gst_bin_change_state_func): Fix type mismatch. * gst/gstelement.c: (gst_element_continue_state), (gst_element_set_state_func), (gst_element_change_state), (gst_element_change_state_func): Fix type mismatches. * gst/gstinfo.c: (gst_debug_compare_log_function_by_func), (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr): Cast as appropriate. * gst/gstobject.c: (gst_class_signal_connect): Cast as appropriate. The function pointer parameter really has the wrong type but would break API if we change it. * gst/gstquery.c: Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt order of including string.h. * gst/gstutils.c: (gst_element_state_get_name): Remove unreachable line. * gst/gstxml.c: (gst_xml_parse_doc): Fix type mismatch. All these caught by Forte. 2006-10-06 14:00:49 +0000 Josep Torre Valles common/m4/gst-error.m4: Fixed bug #360151. Original commit message from CVS: 2006-10-06 Zaheer Abbas Merali Patch by: Josep Torre Valles * common/m4/gst-error.m4: Fixed bug #360151. We need to disable warnings on Forte for empty declarations due to gst-indent adding ;s to lines that just use macros where the macro actually doesn't need a ; at end to end statement. 2006-10-06 13:01:30 +0000 Wim Taymans plugins/elements/gstfilesink.c: Add some FIXME for the NEWSEGMENT handling. Original commit message from CVS: * plugins/elements/gstfilesink.c: (gst_file_sink_open_file), (gst_file_sink_close_file), (gst_file_sink_event), (gst_file_sink_render): Add some FIXME for the NEWSEGMENT handling. 2006-10-05 15:47:44 +0000 Zaheer Abbas Merali gst/parse/grammar.y: Remove static function gst_parse_element_lock as all it does is return. Looks like cruft from 0.8. Original commit message from CVS: 2006-10-05 Zaheer Abbas Merali * gst/parse/grammar.y: Remove static function gst_parse_element_lock as all it does is return. Looks like cruft from 0.8. 2006-10-05 15:31:16 +0000 Josep Torre Valles Fix a compilation issue with Forte on Solaris. inet_aton is in libresolv. Original commit message from CVS: 2006-10-05 Zaheer Abbas Merali Patch by: Josep Torre Valles * common/m4/gst-error.m4: * configure.ac: * libs/gst/net/Makefile.am: Fix a compilation issue with Forte on Solaris. inet_aton is in libresolv. 2006-10-05 14:26:08 +0000 Tim-Philipp Müller Printf fixes. Original commit message from CVS: * gst/gstpad.c: (pre_activate): * gst/gstregistry.c: (gst_registry_scan_path_level): * gst/gstregistryxml.c: (load_plugin): * libs/gst/controller/gstcontroller.c: (gst_controlled_property_set_interpolation_mode): * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event_1_0): * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_observe_times): * plugins/elements/gstfdsrc.c: (gst_fd_src_create): Printf fixes. 2006-10-05 12:31:07 +0000 Tim-Philipp Müller Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know whether we can use G_GNUC_PRINTF in other header files ... Original commit message from CVS: * configure.ac: * docs/gst/gstreamer-sections.txt: * gst/gstconfig.h.in: * gst/gstelement.h: * gst/gstinfo.h: Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know whether we can use G_GNUC_PRINTF in other header files and at least check the printf format/arguments of debug messages and GST_ELEMENT_ERROR messages when the printf extension is not being used. Replace more tabs with spaces in gstinfo.h and remove two spurious function declarations in GST_DISABLE_DEBUG part with macros. 2006-10-03 19:13:36 +0000 Tim-Philipp Müller gst/gstbus.c: More docs for the sync-message signal (mention that it is not emitted by default); log message structur... Original commit message from CVS: * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post): More docs for the sync-message signal (mention that it is not emitted by default); log message structures of messages posted on the bus as well. 2006-10-03 15:10:51 +0000 Jan Schmidt gst/gst.c: Use a pipe pair to receive status results from the forked child, and ignore the result from waitpid. Fixes... Original commit message from CVS: * gst/gst.c: (ensure_current_registry_forking): Use a pipe pair to receive status results from the forked child, and ignore the result from waitpid. Fixes #355499 2006-10-02 16:46:16 +0000 Wim Taymans tests/check/gst/gstghostpad.c: Fix leak in check. Original commit message from CVS: * tests/check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite): Fix leak in check. 2006-10-02 16:37:56 +0000 Tim-Philipp Müller gst/gstpad.c: Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb. Original commit message from CVS: * gst/gstpad.c: Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb. 2006-10-02 16:01:54 +0000 Edward Hervey docs/design/part-block.txt: Further explain the use of flushing on blocked pads. Original commit message from CVS: * docs/design/part-block.txt: Further explain the use of flushing on blocked pads. * docs/gst/gstreamer-sections.txt: * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block), (gst_pad_push_event): * gst/gstpad.h: Added new GstPadFlag : GST_PAD_BLOCKING. Adds the notion of pads really blocking, which enables to properly handle FLUSH_START/FLUSH_STOP events on blocked pads. Fixes #358999 API: gst_pad_is_blocking() API: GST_PAD_IS_BLOCKING() macro API: GST_PAD_BLOCKING GstPadFlag 2006-10-02 10:06:17 +0000 mrcgran gst/gstghostpad.c: Filter the proxied caps against the padtemplate if we have one. Original commit message from CVS: Patch by: mrcgran * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps): Filter the proxied caps against the padtemplate if we have one. * gst/gstquery.c: (gst_query_new_segment): Add include for gstinfo.h so that compilation with -DGST_DISABLE_GST_DEBUG works again. Fixes #358436. 2006-10-02 09:44:03 +0000 Wim Taymans * ChangeLog: Give credit Original commit message from CVS: Give credit 2006-10-02 09:41:09 +0000 Wim Taymans plugins/elements/gstfilesink.c: Set file to NULL when closing filesink so that we can set a new filename in READY. Fi... Original commit message from CVS: * plugins/elements/gstfilesink.c: (gst_file_sink_init), (gst_file_sink_set_location), (gst_file_sink_open_file), (gst_file_sink_close_file), (gst_file_sink_event), (gst_file_sink_render): Set file to NULL when closing filesink so that we can set a new filename in READY. Fixes #358613. 2006-10-02 08:37:24 +0000 Alessandro Decina gst/gstevent.c: Fix gst_mini_object_make_writable() and gst_event_copy() for events with event structures by setting ... Original commit message from CVS: Patch by: Alessandro Decina * gst/gstevent.c: (_gst_event_copy): Fix gst_mini_object_make_writable() and gst_event_copy() for events with event structures by setting the parent refcount address of the copied structure to the address of the refcount member of the newly copied event rather than the address of the refcount member of the original event. Fixes #358737. * tests/check/gst/gstevent.c: (GST_START_TEST): Unit test for the above. 2006-09-29 20:29:49 +0000 Stefan Kost docs/design/Makefile.am: Dist some more files. Original commit message from CVS: * docs/design/Makefile.am: Dist some more files. 2006-09-29 12:31:18 +0000 Tim-Philipp Müller tests/check/libs/controller.c: Add test for the previous fix; add some more tests for correct refcounting behaviour; ... Original commit message from CVS: * tests/check/libs/controller.c: (GST_START_TEST), (gst_controller_suite): Add test for the previous fix; add some more tests for correct refcounting behaviour; fix a few leaks in test cases; call gst_controller_init() at start of all tests. 2006-09-29 12:24:50 +0000 Tim-Philipp Müller libs/gst/controller/gstcontroller.c: Don't g_return_val_if_fail() on timed values with invalid timestamps inside a cr... Original commit message from CVS: * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist), (gst_controller_set_from_list): Don't g_return_val_if_fail() on timed values with invalid timestamps inside a critical section without unlocking the mutex. Spotted by René Stadler. (#357617) Also, fix up refcounting properly: when returning an existing controller, we should increase the reference only once and not once per property and when trying to control a property again we should also increase the refcount. 2006-09-29 08:22:22 +0000 Wim Taymans libs/gst/net/: Stop reading commands when EOF as well. Original commit message from CVS: * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread): * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_thread): Stop reading commands when EOF as well. * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init): * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init): * plugins/elements/gstidentity.c: (gst_identity_class_init): Unify description of the dump property. 2006-09-28 17:20:17 +0000 Jan Schmidt * ChangeLog: Mention bug number in previous commit Original commit message from CVS: Mention bug number in previous commit 2006-09-28 15:52:04 +0000 Jan Schmidt tests/examples/manual/.cvsignore: OK, so it's actually cvsignore that needs changing. Stop laughing. Original commit message from CVS: * tests/examples/manual/.cvsignore: OK, so it's actually cvsignore that needs changing. Stop laughing. 2006-09-28 15:27:12 +0000 Jan Schmidt tests/examples/manual/Makefile.am: Gah, declare vars *before* using them Original commit message from CVS: * tests/examples/manual/Makefile.am: Gah, declare vars *before* using them 2006-09-28 14:00:43 +0000 Jan Schmidt gst/: Re-commit the registry changes, along with an extra fix: Original commit message from CVS: * gst/gst.c: (init_pre), (scan_and_update_registry), (ensure_current_registry_nonforking), (ensure_current_registry_forking), (ensure_current_registry), (init_post), (gst_debug_help), (gst_deinit): * gst/gst_private.h: * gst/gstregistry.c: (gst_registry_finalize), (gst_registry_remove_features_for_plugin_unlocked), (gst_registry_remove_plugin), (gst_registry_scan_path_level), (gst_registry_scan_path), (_priv_gst_registry_remove_cache_plugins), (_priv_gst_registry_cleanup): * gst/gstregistry.h: Re-commit the registry changes, along with an extra fix: When a cached plugin is encountered at a different file path, update the stored path in the registry cache so that the parent process knows where it actually is now when it re-reads the registry cache. Fixes the thing that broke distcheck with the previous commit. * tests/check/Makefile.am: Clean up files named 'core' too when running make clean. * tests/examples/manual/Makefile.am: Set up a registry path for running these tests, and clean it properly for distcheck. 2006-09-28 11:11:28 +0000 Jan Schmidt configure.ac: Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we want gmodule-no-export-2.0.pc instea... Original commit message from CVS: * configure.ac: Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we want gmodule-no-export-2.0.pc instead so that we don't drag in --export-dynamic on every project that links to GStreamer. Also, make our export regex only match the start of symbols, rather than any symbol that contains '_gst' somewhere. * libs/gst/check/Makefile.am: The libgstcheck we build does however need export-dynamic, as it produces some symbols that don't match our _gst... style regex. 2006-09-27 17:42:47 +0000 Jan Schmidt gst/: Revert previous change until I figure out why it breaks distcheck. Original commit message from CVS: * gst/gst.c: (init_pre), (scan_and_update_registry), (ensure_current_registry_nonforking), (ensure_current_registry_forking), (ensure_current_registry), (init_post), (gst_debug_help), (gst_deinit): * gst/gst_private.h: * gst/gstregistry.c: (gst_registry_finalize), (gst_registry_remove_plugin), (gst_registry_scan_path_level), (gst_registry_scan_path), (_gst_registry_remove_cache_plugins), (_gst_registry_cleanup): * gst/gstregistry.h: Revert previous change until I figure out why it breaks distcheck. 2006-09-27 16:52:59 +0000 Jan Schmidt gst/gst.c: Make init_pre and init_post take the full complement of GOptionFunc args so they can return useful GErrors... Original commit message from CVS: * gst/gst.c: (init_pre), (scan_and_update_registry), (ensure_current_registry_nonforking), (ensure_current_registry_forking), (ensure_current_registry), (init_post), (gst_debug_help), (gst_deinit): Make init_pre and init_post take the full complement of GOptionFunc args so they can return useful GErrors. Make the registry updating functions do so. Call _priv_gst_registry_remove_cache_plugins after scanning files to ensure that the registry we're about to write out doesn't contain stale information about old-deleted plugin files. Make _priv_gst_registry_remove_cache_plugins return a boolean so that deletion of plugin files is considered a registry change. * gst/gst_private.h: * gst/gstregistry.c: (gst_registry_finalize), (gst_registry_remove_features_for_plugin_unlocked), (gst_registry_remove_plugin), (gst_registry_scan_path_level), (gst_registry_scan_path), (_priv_gst_registry_remove_cache_plugins), (_priv_gst_registry_cleanup): * gst/gstregistry.h: Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup by adding _priv prefix, so that they won't appear in the global symbol table. They still do atm though because of #318031. Move the prototypes to gst_private.h When removing a plugin, remove all features for that plugin too. Fixes #340878. 2006-09-27 13:19:55 +0000 Wim Taymans docs/random/moving-plugins: Make it clear that the "compiled-in descriptions" really mean the element details. Original commit message from CVS: * docs/random/moving-plugins: Make it clear that the "compiled-in descriptions" really mean the element details. * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state), (gst_base_sink_wait_preroll): Update docs. * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing), (gst_base_src_get_range), (gst_base_src_activate_push): * libs/gst/base/gstbasesrc.h: Added function to block while waiting for PLAYING, this function is used by live sources that block on the clock. API: gst_base_src_wait_playing() 2006-09-27 10:13:13 +0000 Peter Kjellerstedt Makefile.am: gst-element-check.m4 is generated and should therefore be copied from the build dir rather than the sour... Original commit message from CVS: Patch by: Peter Kjellerstedt * Makefile.am: gst-element-check.m4 is generated and should therefore be copied from the build dir rather than the source dir (#357593). 'make distcheck' hasn't noticed this because we were disting the file as well, so stop doing that. 2006-09-27 09:23:18 +0000 Tim-Philipp Müller tests/check/gst/gstcaps.c: Add some tests for gst_caps_intersect(). Original commit message from CVS: * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite): Add some tests for gst_caps_intersect(). * tools/gst-launch.c: (event_loop): Print all buffering percentages we get, even the 100% one. 2006-09-26 12:39:26 +0000 Wim Taymans tools/gst-inspect.c: Fix printing of flags to match the look of enums. Original commit message from CVS: * tools/gst-inspect.c: (print_element_properties_info), (print_signal_info): Fix printing of flags to match the look of enums. 2006-09-25 13:08:29 +0000 Tim-Philipp Müller gst/gstelementfactory.c: Fix typo in docs blurb. Original commit message from CVS: * gst/gstelementfactory.c: Fix typo in docs blurb. 2006-09-25 11:16:37 +0000 Tim-Philipp Müller gst/gsturi.c: Don't assert/crash here if a uri handler doesn't return any supported protocols. The list of protocols ... Original commit message from CVS: * gst/gsturi.c: (search_by_entry): Don't assert/crash here if a uri handler doesn't return any supported protocols. The list of protocols could be generated dynamically at runtime or at plugin registration, and an error in the underlying library shouldn't be fatal (#353301). 2006-09-25 10:36:23 +0000 Tim-Philipp Müller gst/gstinfo.c: Fix warning if HAVE_PRINTF_EXTENSION is undefined (spotted by Peter Kjellerstedt). Original commit message from CVS: * gst/gstinfo.c: Fix warning if HAVE_PRINTF_EXTENSION is undefined (spotted by Peter Kjellerstedt). 2006-09-23 09:30:40 +0000 Antoine Tremblay libs/gst/base/gstbasesrc.c: Match _start/_stop calls in the activate functions. Remove redundant _stop call from the ... Original commit message from CVS: Based on patch by: Antoine Tremblay * libs/gst/base/gstbasesrc.c: (gst_base_src_default_check_get_range), (gst_base_src_start), (gst_base_src_activate_push), (gst_base_src_activate_pull), (gst_base_src_change_state): Match _start/_stop calls in the activate functions. Remove redundant _stop call from the state change function. Fixes #356910. Turn failure DEBUG into ERROR. 2006-09-22 15:29:23 +0000 Wim Taymans Update docs about buffering. Original commit message from CVS: * docs/design/part-buffering.txt: * gst/gstmessage.c: (gst_message_new_buffering), (gst_message_parse_buffering): Update docs about buffering. * docs/design/part-trickmodes.txt: Fix typo. 2006-09-22 14:30:49 +0000 Thomas Vander Stichele * docs/manual/basics-elements.xml: audiotestsrc is not part of core, fakesrc is Original commit message from CVS: audiotestsrc is not part of core, fakesrc is 2006-09-22 13:32:43 +0000 Stefan Kost libs/gst/controller/gstcontroller.c: Ref instances when returning them again (fixes #357180) Original commit message from CVS: * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist), (gst_controller_new_list): Ref instances when returning them again (fixes #357180) 2006-09-22 10:17:15 +0000 Tim-Philipp Müller gst/gstghostpad.c: Don't forget to release proxy lock when there's an error. Original commit message from CVS: * gst/gstghostpad.c: (gst_ghost_pad_set_target): Don't forget to release proxy lock when there's an error. 2006-09-20 16:17:26 +0000 Jan Schmidt gst/gstcaps.h: Add extra initialisers for Caps things, to fix some plugin warnings when using -Wextra Original commit message from CVS: * gst/gstcaps.h: Add extra initialisers for Caps things, to fix some plugin warnings when using -Wextra 2006-09-18 13:56:26 +0000 Wim Taymans gst/gstghostpad.c: Also set template on the internal pad so that a getcaps from the target pad returns the template c... Original commit message from CVS: * gst/gstghostpad.c: (gst_ghost_pad_new_full): Also set template on the internal pad so that a getcaps from the target pad returns the template caps. 2006-09-18 13:44:12 +0000 Wim Taymans gst/gstelement.c: Use _DEBUG_OBJECT some more. Original commit message from CVS: * gst/gstelement.c: (gst_element_post_message), (gst_element_dispose): Use _DEBUG_OBJECT some more. * libs/gst/base/gstbasesrc.c: (gst_base_src_loop): Avoid typechecks. * tools/gst-launch.c: (main): If the toplevel element is not a GstPipeline, it must be put in a pipeline so that a bus and clock is selected. 2006-09-17 19:31:27 +0000 Tim-Philipp Müller libs/gst/base/gstbasesrc.c: JITTER, RATE, and LATENCY query should be handled by the default case and not by the CONV... Original commit message from CVS: * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query): JITTER, RATE, and LATENCY query should be handled by the default case and not by the CONVERT query code. 2006-09-17 19:26:16 +0000 Tim-Philipp Müller gst/gstformat.c: Fix locking order (must take lock before using n_values). Original commit message from CVS: * gst/gstformat.c: (gst_format_register): Fix locking order (must take lock before using n_values). * gst/gstvalue.c: (gst_value_serialize_enum), (gst_value_deserialize_enum_iter_cmp), (gst_value_deserialize_enum): Fix serialisation/deserialisation of custom registered GstFormats. * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite): Unit test for custom format serialisation/deserialisation. 2006-09-16 21:38:09 +0000 Stefan Kost More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp section. Original commit message from CVS: * docs/pwg/building-boiler.xml: * plugins/elements/gstcapsfilter.c: More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp section. 2006-09-16 12:49:02 +0000 Edward Hervey libs/gst/base/gstbasetransform.c: Check if requested caps are the same as the sinks caps IF Original commit message from CVS: * libs/gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc): Check if requested caps are the same as the sinks caps IF ->have_same_caps is TRUE. If they are not, act as if have_same_caps is FALSE. This fixes the renegotiation issues stated in #352827. 2006-09-16 10:49:47 +0000 Thomas Vander Stichele Extract the manual examples again like we used to do. Original commit message from CVS: * configure.ac: * docs/manual/advanced-autoplugging.xml: * tests/examples/Makefile.am: * tests/examples/manual/.cvsignore: * tests/examples/manual/Makefile.am: * tests/examples/manual/extract.pl: Extract the manual examples again like we used to do. Fix one of them. 2006-09-16 10:47:36 +0000 Thomas Vander Stichele win32/common/config.h: update for version Original commit message from CVS: * win32/common/config.h: update for version 2006-09-15 21:30:00 +0000 Stefan Kost gst/gsterror.c: Documents how to receive errors. Original commit message from CVS: * gst/gsterror.c: Documents how to receive errors. 2006-09-15 10:43:16 +0000 Wim Taymans tools/gst-launch.c: Added some comments here and there. Original commit message from CVS: * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr), (event_loop), (main): Added some comments here and there. Post an application message when an interrupt is caught instead of doing an uncontrolled state change. Clean up the event loop. Handle buffering messages, pause/resume the pipeline. Make shutdown because of an interrupt more reliable. 2006-09-15 09:49:14 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Make sure that our internal state is correct when we commit our state asynchronously. Th... Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state), (gst_base_sink_wait_preroll), (gst_base_sink_do_sync), (gst_base_sink_preroll_object): Make sure that our internal state is correct when we commit our state asynchronously. This solves a race where a state change to PLAYING could cause the sink to remain blocked in preroll in some situations. 2006-09-15 08:50:21 +0000 Wim Taymans tools/gst-inspect.c: List flags as hex so it's easier to deal with. Original commit message from CVS: * tools/gst-inspect.c: (print_element_properties_info), (print_signal_info): List flags as hex so it's easier to deal with. 2006-09-15 08:47:36 +0000 Wim Taymans Expose logic to wait for preroll so that subclasses such as audiosink can also use this method. Original commit message from CVS: * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll), (gst_base_sink_do_sync): * libs/gst/base/gstbasesink.h: Expose logic to wait for preroll so that subclasses such as audiosink can also use this method. API: gst_base_sink_wait_preroll() 2006-09-15 08:43:44 +0000 Wim Taymans gst/: Small cleanups in docs and code. Original commit message from CVS: * gst/gstobject.c: (gst_object_set_parent): * gst/gstpipeline.c: (do_pipeline_seek): Small cleanups in docs and code. * gst/gstsegment.c: (gst_segment_clip): * tests/check/gst/gstsegment.c: (GST_START_TEST): if stop == start and start is in the segment, no clipping should be done. Also add a test for this. 2006-09-15 08:39:56 +0000 Wim Taymans Added methods to create and parse BUFFERING messages. Original commit message from CVS: * docs/design/part-buffering.txt: * docs/gst/gstreamer-sections.txt: * gst/gstmessage.c: (gst_message_new_buffering), (gst_message_parse_buffering): * gst/gstmessage.h: Added methods to create and parse BUFFERING messages. Added preliminary docs about buffering. API: gst_message_new_buffering API: gst_message_parse_buffering 2006-09-15 08:32:57 +0000 Wim Taymans gst/gstbin.c: Update documentation. Original commit message from CVS: * gst/gstbin.c: Update documentation. * gst/gstelement.c: (gst_element_class_init), (gst_element_release_request_pad), (gst_element_set_clock), (gst_element_get_index), (gst_element_add_pad), (gst_element_remove_pad), (gst_element_get_random_pad), (gst_element_send_event), (gst_element_get_query_types), (gst_element_query), (gst_element_post_message), (gst_element_message_full), (gst_element_continue_state), (gst_element_lost_state), (gst_element_save_thyself), (gst_element_restore_thyself): Documentation updates. Rename last bit of the new-pad -> pad-added signal rename. Fix the case where an element query would only work if the source pad was linked. Avoid some useless type checking in message handling. * gst/gstevent.c: * gst/gstevent.h: * gst/gstutils.c: Documentation updates. 2006-09-14 20:12:04 +0000 Thomas Vander Stichele * ChangeLog: * plugins/elements/gstfdsrc.c: add an INFO line for when we actually update the fd Original commit message from CVS: add an INFO line for when we actually update the fd 2006-09-14 20:11:10 +0000 Thomas Vander Stichele * ChangeLog: * configure.ac: back to trunk Original commit message from CVS: back to trunk === release 0.10.10 === 2006-09-14 20:08:14 +0000 Thomas Vander Stichele * ChangeLog: * NEWS: * RELEASE: * common: * configure.ac: * docs/plugins/gstreamer-plugins.args: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * gst/gst.c: * gst/gstcaps.c: * gst/gstclock.h: * gst/gststructure.c: * win32/common/config.h: releasing 0.10.10 Original commit message from CVS: releasing 0.10.10 2006-09-09 16:08:17 +0000 Thomas Vander Stichele * configure.ac: * win32/common/config.h: first prerelease Original commit message from CVS: first prerelease 2006-09-09 16:07:34 +0000 Thomas Vander Stichele * po/af.po: * po/az.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/de.po: * po/en_GB.po: * po/fr.po: * po/it.po: * po/nb.po: * po/nl.po: * po/ru.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: translation updates Original commit message from CVS: translation updates 2006-09-05 14:11:06 +0000 Tim-Philipp Müller docs/manual/advanced-position.xml: Fix typo in sample code. Original commit message from CVS: * docs/manual/advanced-position.xml: Fix typo in sample code. 2006-09-05 08:35:20 +0000 Wim Taymans libs/gst/net/: Make stuff compile on windows. Fixes #345295. Original commit message from CVS: * libs/gst/net/gstnetclientclock.c: (inet_aton), (gst_net_client_clock_init), (gst_net_client_clock_finalize), (gst_net_client_clock_do_select), (gst_net_client_clock_new): * libs/gst/net/gstnetclientclock.h: * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send): * libs/gst/net/gstnettimepacket.h: * libs/gst/net/gstnettimeprovider.c: (inet_aton), (gst_net_time_provider_init), (gst_net_time_provider_finalize), (gst_net_time_provider_thread), (gst_net_time_provider_new): * libs/gst/net/gstnettimeprovider.h: Make stuff compile on windows. Fixes #345295. 2006-09-03 11:16:50 +0000 Tim-Philipp Müller gst/gst.c: Print better details when child was terminated by signal. Original commit message from CVS: * gst/gst.c: (ensure_current_registry_forking): Print better details when child was terminated by signal. 2006-09-03 11:06:52 +0000 Tim-Philipp Müller gst/gstregistryxml.c: Print a warning rather than g_assert() if a plugin feature is a URI handler but returns no prot... Original commit message from CVS: * gst/gstregistryxml.c: (gst_registry_xml_save_feature): Print a warning rather than g_assert() if a plugin feature is a URI handler but returns no protocols (#353976). 2006-09-02 19:10:56 +0000 Stefan Kost docs/random/moving-plugins: Fix two typos. Original commit message from CVS: * docs/random/moving-plugins: Fix two typos. 2006-09-02 19:03:41 +0000 Thomas Vander Stichele * docs/random/moving-plugins: document process some more Original commit message from CVS: document process some more 2006-09-02 13:40:41 +0000 Thomas Vander Stichele * gst/gsterror.c: clarify error message Original commit message from CVS: clarify error message 2006-09-02 13:36:44 +0000 Thomas Vander Stichele * docs/random/moving-plugins: document process some more Original commit message from CVS: document process some more 2006-09-01 16:03:49 +0000 Tim-Philipp Müller * ChangeLog: ChangeLog surgery: fix typo Original commit message from CVS: ChangeLog surgery: fix typo 2006-09-01 15:55:20 +0000 Tim-Philipp Müller gst/gstinfo.c: Fix locking order, handle NULL function values properly. Original commit message from CVS: * gst/gstinfo.c: (_gst_debug_nameof_funcptr): Fix locking order, handle NULL function values properly. * gst/gstinfo.h: Fix docs. * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked): Initialised variable before using it and fix debug statement to print the address of the function rather than the address of the variable on the stack holding the address of the function. 2006-09-01 10:33:03 +0000 Wim Taymans gst/gstghostpad.c: More cleanups. Original commit message from CVS: * gst/gstghostpad.c: (gst_proxy_pad_do_event), (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset), (gst_ghost_pad_internal_do_activate_push), (gst_ghost_pad_internal_do_activate_pull), (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull), (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink), (gst_ghost_pad_init), (gst_ghost_pad_dispose), (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target), (gst_ghost_pad_new), (gst_ghost_pad_new_from_template), (gst_ghost_pad_new_no_target_from_template), (gst_ghost_pad_get_target), (gst_ghost_pad_set_target): More cleanups. Avoid needless typechecking in macros. Since the internal pad is always present and never changes, there is no need to locking or ref when retrieving it. Improve debugging a bit. Handle link errors when setting the target. Fixes #341029. 2006-09-01 10:26:52 +0000 Wim Taymans docs/: Fix docs some more. Original commit message from CVS: * docs/libs/gstreamer-libs-sections.txt: * docs/plugins/gstreamer-plugins-sections.txt: Fix docs some more. * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad), (gst_collect_pads_event): * libs/gst/base/gstcollectpads.h: Documentation updates. Free queued buffer when removing a pad. 2006-08-31 17:13:34 +0000 Michael Smith gst/gstutils.c: Ensure that we set a capsfilter to NULL if we failed to link it when doing filtered linking, to avoid... Original commit message from CVS: * gst/gstutils.c: (gst_element_link_pads), (gst_element_link_pads_filtered): Ensure that we set a capsfilter to NULL if we failed to link it when doing filtered linking, to avoid criticals. No need to check for unreffing srcpad, which is explicly NULLed above (a trivial code cleanup). 2006-08-31 15:19:44 +0000 Wim Taymans docs/design/part-gstghostpad.txt: Update ascii art in documentation. Original commit message from CVS: * docs/design/part-gstghostpad.txt: Update ascii art in documentation. * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link), (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init), (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset), (gst_ghost_pad_internal_do_activate_push), (gst_ghost_pad_internal_do_activate_pull), (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull), (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink), (gst_ghost_pad_dispose), (gst_ghost_pad_new_full), (gst_ghost_pad_set_target): Small cleanups and leak fixes. Remove some checks now that the internal pad is never NULL. Fix the case where linking pads without a target would create nasty criticals. Fixes #341029. Don't assign a GstPadLinkReturn to a gboolean and mess up the return value of _set_target(). * tests/check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite): Some more tests for creating and linking untargeted ghostpads. 2006-08-31 10:59:11 +0000 Edward Hervey Refactored *_new() functions. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_dispose), (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target), (gst_ghost_pad_new), (gst_ghost_pad_new_from_template), (gst_ghost_pad_new_no_target_from_template): * gst/gstghostpad.h: Refactored *_new() functions. Templates are now used as a g_object_new() parameter. Use template in _do_getcaps() if we don't have a target. Small documentation cleanups. Added two new constructors: gst_ghost_pad_new_from_template() gst_ghost_pad_new_no_target_from_template() * tests/check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite): Added tests for new ghostpad instanciation functions. API additions: gst_ghost_pad_new_from_template, gst_ghost_pad_new_no_target_from_template 2006-08-30 12:28:55 +0000 Stefan Kost docs/random/ensonic/profiling.txt: Ideas about qos profiling. Original commit message from CVS: * docs/random/ensonic/profiling.txt: Ideas about qos profiling. 2006-08-29 14:39:42 +0000 Wim Taymans gst/gstcaps.c: Code cleanups. Original commit message from CVS: * gst/gstcaps.c: (gst_caps_structure_is_subset_field): Code cleanups. Fix memleak. 2006-08-29 10:49:03 +0000 Tim-Philipp Müller gst/gstxml.c: Improve and detypofy docs. Original commit message from CVS: * gst/gstxml.c: Improve and detypofy docs. * tests/check/Makefile.am: * tests/check/gst/.cvsignore: * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite): Add a basic test suite for GstXML. 2006-08-29 09:56:57 +0000 Wim Taymans gst/gstelement.c: Clear the pad caps when the element shut down all of the pads and is not streaming data that could ... Original commit message from CVS: * gst/gstelement.c: (activate_pads), (clear_caps), (iterator_activate_fold_with_resync), (gst_element_pads_activate): Clear the pad caps when the element shut down all of the pads and is not streaming data that could modify the caps. Fixes #352958. 2006-08-29 08:02:41 +0000 Thomas Vander Stichele * win32/common/config.h: I don't even know which arch that is Original commit message from CVS: I don't even know which arch that is 2006-08-28 23:16:33 +0000 Thomas Vander Stichele * gst/gstpad.c: more logical to log the sending pad, and the pad it is sending to Original commit message from CVS: more logical to log the sending pad, and the pad it is sending to 2006-08-28 18:20:00 +0000 Michael Smith plugins/elements/gstidentity.c: Revert previous change; I misunderstood single-segment mode. Original commit message from CVS: * plugins/elements/gstidentity.c: (gst_identity_transform_ip): Revert previous change; I misunderstood single-segment mode. 2006-08-28 18:08:09 +0000 Michael Smith plugins/elements/gstidentity.c: Unset DISCONT on buffers when using single-segment mode. Original commit message from CVS: * plugins/elements/gstidentity.c: (gst_identity_transform_ip): Unset DISCONT on buffers when using single-segment mode. 2006-08-28 16:39:20 +0000 Wim Taymans gst/gstcaps.*: Fix docs and indentation again. Original commit message from CVS: * gst/gstcaps.c: (gst_caps_merge_structure): * gst/gstcaps.h: Fix docs and indentation again. * tests/check/gst/gstquery.c: (GST_START_TEST): Fix leak in tests and add some more tests. 2006-08-28 15:57:39 +0000 Edward Hervey libs/gst/base/gstbasesink.c: Inform GstSegment of the last stop position in order for the current segment to have a p... Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times): Inform GstSegment of the last stop position in order for the current segment to have a proper duration if it doesn't have a specific stop position from which a duration could be calculated. This bug was noticeable when a non-flushing, non-update new segment was followed by another segment (all buffers from the new segment were being dropped). 2006-08-28 15:48:24 +0000 Wim Taymans libs/gst/base/gstbasesrc.c: Small comment update. Original commit message from CVS: * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek): Small comment update. * plugins/elements/gstidentity.c: (gst_identity_class_init), (gst_identity_transform_ip): Drop-probability is broken, mention this in the code with a FIXME and also in the property description. Make silent also be silent about the drop messages. 2006-08-28 11:06:05 +0000 Tim-Philipp Müller docs/manual/appendix-win32.xml: Remove mention of popt, we don't depend on that any longer (#353136). Add some commen... Original commit message from CVS: * docs/manual/appendix-win32.xml: Remove mention of popt, we don't depend on that any longer (#353136). Add some comments pointing out that this section is slightly outdated. 2006-08-28 08:44:29 +0000 Torsten Schoenfeld Initialize variables when creating a new segment query. Original commit message from CVS: Patch by: Torsten Schoenfeld * gst/gstquery.c: (gst_query_new_segment): * tests/check/gst/gstquery.c: (GST_START_TEST): Initialize variables when creating a new segment query. Fixes #353121. 2006-08-28 08:35:31 +0000 Torsten Schoenfeld Check for NULL before _reffing the bus. Fixes #353122. Original commit message from CVS: Patch by: Torsten Schoenfeld * gst/gstelement.c: (gst_element_get_bus): * tests/check/gst/gstelement.c: (GST_START_TEST): Check for NULL before _reffing the bus. Fixes #353122. 2006-08-25 16:46:09 +0000 Tim-Philipp Müller docs/manual/basics-bus.xml: Docs update: fix wrong callback return value explanation; add some lines about the implic... Original commit message from CVS: * docs/manual/basics-bus.xml: Docs update: fix wrong callback return value explanation; add some lines about the implicit relationship between main loop and main context; remove duplicate main loop variable declaration. 2006-08-24 12:30:04 +0000 Tim-Philipp Müller tests/check/gst/gstcaps.c: Don't leak caps in unit test; add a few more simple checks. Original commit message from CVS: * tests/check/gst/gstcaps.c: (GST_START_TEST): Don't leak caps in unit test; add a few more simple checks. 2006-08-24 10:40:31 +0000 Stefan Kost implement caps merging (fixes #352580) Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstcaps.c: (gst_caps_structure_is_subset_field), (gst_caps_structure_is_subset), (gst_caps_merge), (gst_caps_merge_structure): * gst/gstcaps.h: * libs/gst/base/gstbasetransform.c: (gst_base_transform_transform_caps): * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite): implement caps merging (fixes #352580) 2006-08-23 18:53:44 +0000 Stefan Kost tools/: add debug-log plotting developer tool (#340674) Original commit message from CVS: * tools/Makefile.am: * tools/gst-plot-timeline.py: add debug-log plotting developer tool (#340674) 2006-08-23 16:51:19 +0000 Wim Taymans gst/gstpad.c: Improve debugging for task functions. Original commit message from CVS: * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task): Improve debugging for task functions. * gst/gsttask.c: (gst_task_func), (gst_task_set_lock), (gst_task_start), (gst_task_pause), (gst_task_join): Make sure that the task function started and finished after a join(). Don't try to push the task function on the threadpool multiple times. Improve the g_warning message with some useful suggestions about how to fix the problem. 2006-08-23 10:59:47 +0000 Wim Taymans gst/gstutils.c: Handle RESYNC correctly in _proxy_getcaps. Original commit message from CVS: * gst/gstutils.c: (gst_pad_proxy_getcaps): Handle RESYNC correctly in _proxy_getcaps. 2006-08-23 09:47:32 +0000 Thomas Vander Stichele * gst/gstbuffer.h: word refcounting more precisely for gst_value_*_buffer Original commit message from CVS: word refcounting more precisely for gst_value_*_buffer 2006-08-21 15:19:40 +0000 Tim-Philipp Müller gst/gstxml.c: Chain up to parent class in dispose function and also unref the elements in the toplevel_elements GList. Original commit message from CVS: * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file), (gst_xml_parse_memory), (gst_xml_get_element): Chain up to parent class in dispose function and also unref the elements in the toplevel_elements GList. Don't leak XmlDocPtr in _parse_file() and _parse_memory(). Always return a reference in gst_xml_get_element() rather than only sometimes. * tools/gst-launch.c: (xmllaunch_parse_cmdline): Don't leak GstXml object. 2006-08-21 14:54:31 +0000 Stefan Kost API: Add gst_caps_merge() and use it in basetransform, fixes #345444 in a better way Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstcaps.c: (gst_structure_is_equal_foreach), (gst_caps_merge): * gst/gstcaps.h: * libs/gst/base/gstbasetransform.c: (gst_base_transform_transform_caps): API: Add gst_caps_merge() and use it in basetransform, fixes #345444 in a better way 2006-08-21 14:03:33 +0000 Edward Hervey gst/gstxml.c: Implement GObject::dispose virtual method in GstXML so we can free the top_elements GList. Original commit message from CVS: * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose): Implement GObject::dispose virtual method in GstXML so we can free the top_elements GList. 2006-08-21 09:30:04 +0000 Wim Taymans gst/gstbuffer.c: Copy duration/offset_end/caps when creating a subbuffer of the complete parent. Original commit message from CVS: * gst/gstbuffer.c: (gst_buffer_make_metadata_writable), (gst_buffer_create_sub): Copy duration/offset_end/caps when creating a subbuffer of the complete parent. Make the subbuffer read-only when we make the metadata writable for now. Fixes #351768. * tests/check/gst/gstbuffer.c: (GST_START_TEST): Added check for metadata copy when creating subbuffers. 2006-08-21 09:20:42 +0000 Edward Hervey libs/gst/base/gstbasetransform.c: Only call downstream buffer_alloc if transform element is passthrough or always_in_... Original commit message from CVS: * libs/gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc): Only call downstream buffer_alloc if transform element is passthrough or always_in_place. Closes #350449. 2006-08-20 19:36:21 +0000 Stefan Kost ChangeLog: ChangeLog surgery to add comments to previous changes Original commit message from CVS: * ChangeLog: ChangeLog surgery to add comments to previous changes 2006-08-20 19:30:09 +0000 Stefan Kost Simplify caps to get rid of duplicates, fixes #345444 Original commit message from CVS: * gst/gst.c: * gst/gstpad.c: (gst_pad_set_active): * libs/gst/base/gstbasetransform.c: (gst_base_transform_transform_caps): Simplify caps to get rid of duplicates, fixes #345444 2006-08-20 15:55:12 +0000 Stefan Kost gst/gstvalue.*: Use these optimizations only internaly. Original commit message from CVS: * gst/gstvalue.c: * gst/gstvalue.h: Use these optimizations only internaly. 2006-08-20 14:30:20 +0000 Stefan Kost gst/gstvalue.*: Saves the expensive lookup of the compare function in many cases (#345444) Original commit message from CVS: * gst/gstvalue.c: (gst_value_compare_list), (gst_value_compare_fraction_range), (gst_value_intersect_fraction_fraction_range), (gst_value_intersect_fraction_range_fraction_range), (gst_value_subtract_fraction_fraction_range), (gst_value_subtract_fraction_range_fraction_range), (gst_value_get_compare_func), (gst_value_compare), (gst_value_compare_with_func): * gst/gstvalue.h: Saves the expensive lookup of the compare function in many cases (#345444) 2006-08-18 13:41:02 +0000 Edward Hervey tests/check/gst/gstinfo.c: Disable test that require gstdebug if it wasn't built in core. Original commit message from CVS: * tests/check/gst/gstinfo.c: (gst_info_suite): Disable test that require gstdebug if it wasn't built in core. 2006-08-18 10:52:33 +0000 Stefan Kost docs/random/ensonic/logging.txt: update ideas Original commit message from CVS: * docs/random/ensonic/logging.txt: update ideas * gst/gstinfo.c: (gst_debug_log_default): reorder fields, save some columns, add optinal color codes for log- levels 2006-08-18 08:07:12 +0000 Stefan Kost docs/random/ensonic/logging.txt: add ideas about making the logs abit more useful Original commit message from CVS: * docs/random/ensonic/logging.txt: add ideas about making the logs abit more useful 2006-08-17 18:11:11 +0000 Tim-Philipp Müller docs/pwg/: Update for 0.10 API (#340627). Add myself to authors list. Original commit message from CVS: * docs/pwg/advanced-events.xml: * docs/pwg/titlepage.xml: Update for 0.10 API (#340627). Add myself to authors list. 2006-08-17 10:46:19 +0000 Tim-Philipp Müller Make gstcheck stuff show up in docs (still needs to be documented properly though). Original commit message from CVS: * docs/libs/gstreamer-libs-docs.sgml: * docs/libs/gstreamer-libs-sections.txt: * libs/gst/check/gstbufferstraw.c: Make gstcheck stuff show up in docs (still needs to be documented properly though). 2006-08-16 11:47:54 +0000 Jan Schmidt Add internal helpers for pre-registering quarks from static strings and using the quark values directly instead of lo... Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/Makefile.am: * gst/gst.c: (init_post): * gst/gst_private.h: * gst/gstquark.c: (_priv_gst_quarks_initialize): * gst/gstquark.h: * gst/gstquery.c: (gst_query_new_position), (gst_query_set_position), (gst_query_parse_position), (gst_query_new_duration), (gst_query_set_duration), (gst_query_parse_duration), (gst_query_new_convert), (gst_query_set_convert), (gst_query_parse_convert), (gst_query_new_segment), (gst_query_set_segment), (gst_query_parse_segment), (gst_query_new_seeking), (gst_query_set_seeking), (gst_query_parse_seeking): Add internal helpers for pre-registering quarks from static strings and using the quark values directly instead of looking them up when creating and parsing queries. Can be used for event construction too. Closes #350432. 2006-08-16 08:54:56 +0000 Wim Taymans gst/gstbin.c: Fix bogus docs. Original commit message from CVS: * gst/gstbin.c: Fix bogus docs. 2006-08-15 18:45:39 +0000 Tim-Philipp Müller gst/gstutils.c: Fix memleak (#351502). Original commit message from CVS: * gst/gstutils.c: (gst_util_set_value_from_string): Fix memleak (#351502). * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite): Add unit test for most of gst_util_set_value_from_string() (not that one would want to encourage use of this function). 2006-08-15 18:29:22 +0000 Tim-Philipp Müller libs/gst/check/gstcheck.h: Use const gchar * variables in fail_unless_equals_string macro to avoid compiler warnings ... Original commit message from CVS: * libs/gst/check/gstcheck.h: Use const gchar * variables in fail_unless_equals_string macro to avoid compiler warnings (and don't use tabs for indenting). 2006-08-15 10:08:34 +0000 Tim-Philipp Müller tools/gst-launch.c: More space on the left for the tag names, to cater for the 'extended comment' tag (not touching t... Original commit message from CVS: * tools/gst-launch.c: (print_tag): More space on the left for the tag names, to cater for the 'extended comment' tag (not touching the string for the first line since it's translated). 2006-08-15 09:44:58 +0000 Tim-Philipp Müller * ChangeLog: ChangeLog surgery: don't forget to mention the other change in the ChangeLog Original commit message from CVS: ChangeLog surgery: don't forget to mention the other change in the ChangeLog 2006-08-15 09:33:24 +0000 Tim-Philipp Müller libs/gst/check/gstcheck.h: Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually print something when they fail. Original commit message from CVS: * libs/gst/check/gstcheck.h: Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually print something when they fail. 2006-08-14 19:04:56 +0000 Tim-Philipp Müller API: add GST_TAG_EXTENDED_COMMENT (#350935). Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gsttaglist.c: (_gst_tag_initialize): * gst/gsttaglist.h: API: add GST_TAG_EXTENDED_COMMENT (#350935). 2006-08-14 17:29:31 +0000 Tim-Philipp Müller gst/gstinfo.c: Make GST_PTR_FORMAT print messages as well. Original commit message from CVS: * gst/gstinfo.c: (gst_debug_print_object): Make GST_PTR_FORMAT print messages as well. * tests/check/gst/gstinfo.c: (printf_extension_log_func), (GST_START_TEST), (gst_info_suite): More tests. 2006-08-14 15:33:17 +0000 Edward Hervey gst/gstelementfactory.c: If the GstElementClass doesn't have a GstElementDetails with all fields then error out nicel... Original commit message from CVS: * gst/gstelementfactory.c: (gst_element_register): If the GstElementClass doesn't have a GstElementDetails with all fields filled up correctly (longname, description AND author), then error out nicely instead of crashing. 2006-08-14 12:35:06 +0000 Tim-Philipp Müller gst/gststructure.c: Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line. Original commit message from CVS: * gst/gststructure.c: Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line. * gst/gstvalue.h: Expand on the difference between arrays and lists as we use them. 2006-08-14 07:44:14 +0000 Wim Taymans libs/gst/base/gstbasesrc.c: If the parent state change function failed, don't assume we can safely stop the source, t... Original commit message from CVS: * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state): If the parent state change function failed, don't assume we can safely stop the source, this will be done when the pads are deactivated. 2006-08-14 07:35:09 +0000 Wim Taymans gst/: Small doc updates. Original commit message from CVS: * gst/gstbuffer.c: * gst/gsttask.c: (gst_task_join): Small doc updates. * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push), (gst_pad_stop_task): When pad (de)activation failed for some reason, restore the old activation mode and set the pad to flushing instead of assuming the pad is deactivated. If the _task_join() failed, reinstall the task on the pad so that it can be stopped later and return an error. 2006-08-11 15:26:33 +0000 Andy Wingo GST_DISABLE_DEPRECATED is only for users of API that don't want to see deprecated functions in the headers; people th... Original commit message from CVS: 2006-08-11 Andy Wingo * configure.ac: * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new): * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED is only for users of API that don't want to see deprecated functions in the headers; people that want to compile out deprecated code should pass -DGST_REMOVE_DEPRECATED into the CFLAGS. Fixes the build of multifdsink, or will soon.. 2006-08-11 15:24:03 +0000 Wim Taymans docs/gst/gstreamer-sections.txt: Add GstClockClass vmethod docs. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: Add GstClockClass vmethod docs. * gst/gstcaps.h: Mark #endif with comment for associated #if * gst/gstclock.c: (gst_clock_id_wait): * gst/gstclock.h: Add vmethod wait_jitter to avoid an unneeded _get_time() for most clock implementations. Document vmethods. Flesh out docs about resolution methods. API: GstClockClass::wait_jitter * gst/gstsystemclock.c: (gst_system_clock_class_init), (gst_system_clock_async_thread), (gst_system_clock_id_wait_jitter_unlocked), (gst_system_clock_id_wait_jitter): Use base class wait_jitter variant for improved performance due to less clock polling. 2006-08-11 15:07:58 +0000 Edward Hervey gst/gst.c: Set gst as being initialized before scanning/updating the registry, since there might be some plugins that... Original commit message from CVS: * gst/gst.c: (gst_init_check), (init_post): Set gst as being initialized before scanning/updating the registry, since there might be some plugins that call gst_init() and we don't want to loop back in. Closes #350879 2006-08-11 13:13:06 +0000 Wim Taymans * ChangeLog: Mention that we fixed bug #349943 with the last commit. Original commit message from CVS: Mention that we fixed bug #349943 with the last commit. 2006-08-11 13:05:30 +0000 Wim Taymans docs/design/part-qos.txt: Bring docs in line with the code. Mostly the sign of the jitter was wrong in the docs. Original commit message from CVS: * docs/design/part-qos.txt: Bring docs in line with the code. Mostly the sign of the jitter was wrong in the docs. * gst/gstclock.c: Fix the docs for the jitter. * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_buffer_size), (gst_event_parse_buffer_size), (gst_event_parse_qos), (gst_event_new_seek), (gst_event_parse_seek), (gst_event_new_navigation): Make sure the GstStructure has no parent when creating custom events. Add some more argument checking so that we avoid 0.0 rates. Flesh out the docs for the QoS event some more. 2006-08-11 10:21:36 +0000 Wim Taymans * ChangeLog: Forgot to mention fixed bug. Original commit message from CVS: Forgot to mention fixed bug. 2006-08-11 10:19:51 +0000 Wim Taymans Doc updates. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gst.c: (gst_init_get_option_group), (gst_init_check), (ensure_current_registry_forking), (ensure_current_registry), (parse_one_option), (parse_goption_arg), (gst_deinit), (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled): * gst/gst.h: Doc updates. Added API and command line option to disable registry forking in addition to the environment variable. Constify some static arrays. Added some more debug. Don't deinit twice. API: gst_registry_fork_is_enabled() API: gst_registry_fork_set_enabled() API: --gst-disable-registry-fork command line option 2006-08-11 09:59:29 +0000 Tim-Philipp Müller gst/gst.c: Fix typo in error message. Original commit message from CVS: * gst/gst.c: (gst_init): Fix typo in error message. 2006-08-10 20:05:30 +0000 Stefan Kost libs/gst/controller/gstcontroller.h: fix ABI size-correction Original commit message from CVS: * libs/gst/controller/gstcontroller.h: fix ABI size-correction * tests/check/libs/gdp.c: (gst_dp_suite): make tests that use deprecated API conditional 2006-08-10 19:46:14 +0000 Stefan Kost API: add gst_object_{s,g}et_control_rate(), add private data section, fix docs Original commit message from CVS: * docs/libs/gstreamer-libs-sections.txt: * libs/gst/controller/gstcontroller.c: (_gst_controller_get_property), (_gst_controller_set_property), (_gst_controller_init), (_gst_controller_class_init): * libs/gst/controller/gstcontroller.h: * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate), (gst_object_set_control_rate): API: add gst_object_{s,g}et_control_rate(), add private data section, fix docs * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new): * libs/gst/dataprotocol/dataprotocol.h: add deprecation guards to make gtk-doc happy and allow disabling cruft 2006-08-09 15:26:54 +0000 Tim-Philipp Müller tests/check/: Let's enable the new unit test as well. Original commit message from CVS: * tests/check/Makefile.am: * tests/check/gst/.cvsignore: Let's enable the new unit test as well. 2006-08-09 15:13:14 +0000 Tim-Philipp Müller API: add GST_SEGMENT_FORMAT, which is a printf extension we register that lets us easily dump GstSegments into debug ... Original commit message from CVS: * configure.ac: * docs/gst/gstreamer-sections.txt: * gst/gstconfig.h.in: * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment), (_gst_info_printf_extension_ptr), (_gst_info_printf_extension_segment): API: add GST_SEGMENT_FORMAT, which is a printf extension we register that lets us easily dump GstSegments into debug logs (#350419). * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func), (info_segment_format_printf_extension), (gst_info_suite): Add simple unit test that logs a bunch of different segments (not valgrinded at the moment because of leaks in gst_debug_add_log_function). 2006-08-09 11:01:20 +0000 Edward Hervey libs/gst/base/gstbasetransform.c: Even if we can't figure out the proper format to request downstream, call buffer_al... Original commit message from CVS: * libs/gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc): Even if we can't figure out the proper format to request downstream, call buffer_alloc() downstream with the input parameters without setting the caps on the srcpad. This will force negotiation in the chain function. Closes #350449 2006-08-08 16:24:58 +0000 Edward Hervey gst/gstghostpad.c: Unlinking from a pad without a target is now a perfectly valid case which should NOT raise an asse... Original commit message from CVS: * gst/gstghostpad.c: (gst_ghost_pad_do_unlink): Unlinking from a pad without a target is now a perfectly valid case which should NOT raise an assertion. This case would happen if a linked ghostpad its target set to NULL after it was previously linked. 2006-08-08 09:56:45 +0000 Edward Hervey tests/check/libs/gdp.c: Also comment out the test (see below). Original commit message from CVS: * tests/check/libs/gdp.c: Also comment out the test (see below). 2006-08-08 09:07:34 +0000 Edward Hervey tests/check/libs/gdp.c: Use the architecture information from config.h and not gcc macros in order to properly disabl... Original commit message from CVS: * tests/check/libs/gdp.c: (gst_dp_suite): Use the architecture information from config.h and not gcc macros in order to properly disable a test that fails on PPC64. 2006-08-04 15:15:24 +0000 Tim-Philipp Müller gst/gstelement.c: Don't crash printing the warning if the pad has no parent. Original commit message from CVS: * gst/gstelement.c: (gst_element_remove_pad): Don't crash printing the warning if the pad has no parent. 2006-08-02 15:19:30 +0000 Wim Taymans libs/gst/dataprotocol/dataprotocol.c: Make debug category static Original commit message from CVS: * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any), (gst_dp_crc), (gst_dp_header_payload_length), (gst_dp_header_payload_type), (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header), (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet), (gst_dp_validate_header), (gst_dp_validate_payload): Make debug category static Constify the crc table. Do some more arg checking in public functions. Fix some docs and do some small cleanups. * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite): Add some more checks to see if GDP deals with bogus input. 2006-07-31 16:34:41 +0000 Wim Taymans gst/gstvalue.c: Fix GstValueList comparison code. Fixes #347293. Original commit message from CVS: * gst/gstvalue.c: (gst_value_compare_list): Fix GstValueList comparison code. Fixes #347293. * tests/check/gst/gstvalue.c: (GST_START_TEST): Check to test GstValueList comparison. 2006-07-31 15:12:59 +0000 Wim Taymans libs/gst/base/gstbasetransform.c: Use OBJECT_LOCK and refcounting to get the pad caps in the buffer_alloc function be... Original commit message from CVS: * libs/gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc): Use OBJECT_LOCK and refcounting to get the pad caps in the buffer_alloc function because the caps could change while we are busy with them. Fixes #349105 2006-07-31 15:12:01 +0000 Wim Taymans gst/gstelementfactory.c: Remove unnecessary ref/unref pair Original commit message from CVS: * gst/gstelementfactory.c: (gst_element_factory_create): Remove unnecessary ref/unref pair * gst/parse/grammar.y: Make sure to free the parse buffer on all code paths. Move a g_free up to the error handler where it's easier to see. * tests/check/gst/gstevent.c: (test_event): Extending timeout for downstream travelling events to 10 seconds to hopefully avoid intermittent failure on the buildbots. * tests/check/pipelines/parse-launch.c: (run_delayed_test): Don't manually set the state of the src element - it will happen as a natural consequence of the pipeline changing state, and that way it will do it in the right order too. 2006-07-31 15:07:30 +0000 Jan Schmidt gst/gstelementfactory.c: Remove unnecessary ref/unref pair Original commit message from CVS: * gst/gstelementfactory.c: (gst_element_factory_create): Remove unnecessary ref/unref pair * gst/parse/grammar.y: Make sure to free the parse buffer on all code paths. Move a g_free up to the error handler where it's easier to see. * tests/check/gst/gstevent.c: (test_event): Extending timeout for downstream travelling events to 10 seconds to hopefully avoid intermittent failure on the buildbots. * tests/check/pipelines/parse-launch.c: (run_delayed_test): Don't manually set the state of the src element - it will happen as a natural consequence of the pipeline changing state, and that way it will do it in the right order too. 2006-07-31 14:23:26 +0000 Wim Taymans gst/gstutils.c: Protect _PAD_CAPS with OBJECT_LOCK. Original commit message from CVS: * gst/gstutils.c: (gst_pad_get_fixed_caps_func): Protect _PAD_CAPS with OBJECT_LOCK. 2006-07-31 14:21:10 +0000 Wim Taymans gst/gstpad.c: Use _DEBUG_OBJECT when it makes sense. Original commit message from CVS: * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose), (gst_pad_get_property), (gst_pad_activate_pull), (gst_pad_activate_push), (gst_pad_set_blocked_async), (gst_pad_set_activate_function), (gst_pad_set_activatepull_function), (gst_pad_set_activatepush_function), (gst_pad_set_chain_function), (gst_pad_set_getrange_function), (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function), (gst_pad_set_query_function), (gst_pad_set_query_type_function), (gst_pad_set_internal_link_function), (gst_pad_set_link_function), (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function), (gst_pad_set_acceptcaps_function), (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function), (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked), (gst_pad_get_caps), (gst_pad_peer_get_caps), (gst_pad_accept_caps), (gst_pad_peer_accept_caps), (gst_pad_set_caps), (gst_pad_configure_sink), (gst_pad_configure_src), (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps), (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full), (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block), (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range), (gst_pad_send_event): Use _DEBUG_OBJECT when it makes sense. Protect GST_PAD_CAPS with the OBJECT_LOCK. Small cleanups and code reflows. Avoid caps refcounting in _accept_caps. Refactor alloc_buffer so that the code performed on the peer is in a separate function. Also if the pad does not implement a buffer alloc function, we should still check if the pad is flushing before falling back to the default allocator. 2006-07-30 22:20:42 +0000 Jan Schmidt tests/check/pipelines/parse-launch.c: Make all uses of identity and fakesink have silent=true to avoid serialising ev... Original commit message from CVS: * tests/check/pipelines/parse-launch.c: (GST_START_TEST): Make all uses of identity and fakesink have silent=true to avoid serialising every passing data structure, which is breaking tests on FC4 for some unknown reason. 2006-07-30 18:58:28 +0000 Stefan Kost gst/parse/: Reverted previous patch as it required to bump the flex dependency to 2.5.31, where fc4/5 seem to ship on... Original commit message from CVS: * gst/parse/Makefile.am: * gst/parse/grammar.y: * gst/parse/parse.l: Reverted previous patch as it required to bump the flex dependency to 2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :( 2006-07-30 18:32:49 +0000 Marc-Andre Lureau gst/parse/: push & pop the state of the lexer for reentrant use case Original commit message from CVS: Patch by: Marc-Andre Lureau * gst/parse/Makefile.am: * gst/parse/grammar.y: * gst/parse/parse.l: push & pop the state of the lexer for reentrant use case Fixes #349180 2006-07-29 13:45:09 +0000 Tim-Philipp Müller libs/gst/base/gstbasesrc.h: Note in the docs that the ::newsegment vfunc is not actually used by Original commit message from CVS: * libs/gst/base/gstbasesrc.h: Note in the docs that the ::newsegment vfunc is not actually used by GstBaseSrc. 2006-07-28 14:09:10 +0000 Wim Taymans libs/gst/base/gstcollectpads.c: When flushing a pad, also clear the queued buffer so that we don't accidentally use i... Original commit message from CVS: * libs/gst/base/gstcollectpads.c: (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop), (gst_collect_pads_clear), (gst_collect_pads_flush), (gst_collect_pads_event), (gst_collect_pads_chain): When flushing a pad, also clear the queued buffer so that we don't accidentally use it when we shouldn't. Fix leaks by inreffing incomming buffer. Flush out queued buffers in case of errors. Fixes #347452. 2006-07-28 10:17:54 +0000 Wim Taymans docs/random/phonon-gst: Random notes about a Phonon backend. Original commit message from CVS: * docs/random/phonon-gst: Random notes about a Phonon backend. 2006-07-27 14:32:01 +0000 Jan Schmidt libs/gst/base/gstbasetransform.c: Extra debug output Original commit message from CVS: * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps): Extra debug output * tests/check/libs/gdp.c: (gst_dp_suite): Take a whack at fixing the ppc compile using a different define to disable the broken test. * tests/check/pipelines/parse-launch.c: (GST_START_TEST): Remove excess g_print() 2006-07-27 13:44:22 +0000 Jan Schmidt tests/check/pipelines/parse-launch.c: Oops, meant to uncomment this line too to dampen the noise a bit. Original commit message from CVS: * tests/check/pipelines/parse-launch.c: (expected_fail_pipe): Oops, meant to uncomment this line too to dampen the noise a bit. 2006-07-27 13:26:27 +0000 Jan Schmidt Fix some of the leaks exposed by extending the parse-launch testsuite, and move the 3 I can't figure out into a separ... Original commit message from CVS: * gst/parse/grammar.y: * gst/parse/parse.l: * tests/check/pipelines/parse-launch.c: (expected_fail_pipe), (GST_START_TEST), (parse_suite): Fix some of the leaks exposed by extending the parse-launch testsuite, and move the 3 I can't figure out into a separate test that won't run the pipelines unless the appropriate line is uncommented. 2006-07-27 12:39:42 +0000 Tim-Philipp Müller plugins/elements/gstfilesrc.c: Requesting 0 bytes before the end of the file should result in Original commit message from CVS: * plugins/elements/gstfilesrc.c: (gst_file_src_create_read): Requesting 0 bytes before the end of the file should result in FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you unit test. 2006-07-27 11:00:21 +0000 Wim Taymans gst/gstcaps.c: Fix useless assert, a uint is always positive. Original commit message from CVS: * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure): Fix useless assert, a uint is always positive. * gst/gststructure.c: (gst_structure_nth_field_name), (gst_structure_foreach), (gst_structure_map_in_place): Check input arguments for public functions to avoid obvious crashes. * plugins/elements/gstfakesink.c: (gst_fake_sink_render): * plugins/elements/gstfakesink.h: Do less useless typechecking. 2006-07-27 10:54:29 +0000 Tim-Philipp Müller plugins/elements/gstfilesrc.c: Do not use mmap() by default since there are a number of error conditions that we woul... Original commit message from CVS: * plugins/elements/gstfilesrc.c: (gst_file_src_class_init): Do not use mmap() by default since there are a number of error conditions that we would like to handle in a non-fatal way that will result in a SIGBUS if we use mmap(). Examples: external devices (USB harddrive, portable music player) being unplugged while in use; file on mounted CD/DVD that can't be read because the medium is partly damaged. Fixes #348455 and #348475. 2006-07-26 22:59:19 +0000 Jan Schmidt gst/gstquery.h: Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN - rates are a gdouble Original commit message from CVS: * gst/gstquery.h: Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN - rates are a gdouble 2006-07-26 20:30:55 +0000 Stefan Kost gst/gstregistry.c: Move big documentation comment into class section header, so that it appears in the API docs. Original commit message from CVS: * gst/gstregistry.c: Move big documentation comment into class section header, so that it appears in the API docs. 2006-07-26 17:18:25 +0000 Jan Schmidt docs/gst/gstreamer-sections.txt: Oops. Commit the docs additions too for new API. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: Oops. Commit the docs additions too for new API. Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN 2006-07-26 17:04:45 +0000 Jan Schmidt gst/gststructure.*: Add API for setting values into structures without performing a quark lookup, if the appropriate ... Original commit message from CVS: * gst/gststructure.c: (gst_structure_id_set), (gst_structure_id_set_valist): * gst/gststructure.h: Add API for setting values into structures without performing a quark lookup, if the appropriate quark is already known. API: gst_structure_id_set API: gst_structure_id_set_valist * gst/parse/grammar.y: * gst/parse/parse.l: Remove some dead code shown by the coverage information. Don't throw a critical g_warning when encountering a syntax error, just warn and let the normal error path handle it. * plugins/elements/gstelements.c: Bump the rank of filesink up to PRIMARY so that it is preferred over gnomevfssink for file:// sink uri's * tests/check/pipelines/parse-launch.c: (expected_fail_pipe), (GST_START_TEST), (run_delayed_test), (gst_parse_test_element_base_init), (gst_parse_test_element_class_init), (gst_parse_test_element_init), (gst_parse_test_element_change_state), (gst_register_parse_element), (parse_suite): Beef up the tests for parse syntax to check that more error cases fail as they are supposed to. Increases the test coverage a bit. 2006-07-26 11:43:23 +0000 Tim-Philipp Müller docs/manual/basics-elements.xml: Fix gst_element_link() example. Original commit message from CVS: * docs/manual/basics-elements.xml: Fix gst_element_link() example. * gst/gstutils.c: Mention in API docs that one should usually gst_bin_add() elements to a bin or pipeline before doing the linking. 2006-07-26 10:47:17 +0000 Thomas Vander Stichele * win32/common/config.h: back to 32 bit Original commit message from CVS: back to 32 bit 2006-07-26 10:39:58 +0000 Wim Taymans gst/gstbuffer.c: Avoid function call for known types by keeping the buffer and subbuffer GType global. Original commit message from CVS: * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new), (gst_subbuffer_get_type), (gst_buffer_create_sub): Avoid function call for known types by keeping the buffer and subbuffer GType global. * plugins/elements/gstfilesrc.c: (gst_file_src_create_read): Random silly optimisations in read() path. 2006-07-26 06:18:44 +0000 Jan Schmidt tools/gst-launch.c: If the top-level of the parse is a normal bin, it doesn't do the right logic to run as a top-leve... Original commit message from CVS: * tools/gst-launch.c: (main): If the top-level of the parse is a normal bin, it doesn't do the right logic to run as a top-level element, so place it inside a pipeline. 2006-07-25 19:37:05 +0000 Tim-Philipp Müller plugins/elements/gstfilesrc.c: Remove superfluous g_object_notify() calls, GObject does that for us automatically. Original commit message from CVS: * plugins/elements/gstfilesrc.c: (gst_file_src_set_property): Remove superfluous g_object_notify() calls, GObject does that for us automatically. 2006-07-25 15:07:58 +0000 Christian Schaller * gstreamer.spec.in: add latest .h addition Original commit message from CVS: add latest .h addition 2006-07-25 13:06:14 +0000 Stefan Kost gst/gstinfo.h: Move the Win32 version from gst-plugins-good/gst/avi/avidemux.c to here. Original commit message from CVS: * gst/gstinfo.h: Move the Win32 version from gst-plugins-good/gst/avi/avidemux.c to here. 2006-07-24 16:33:31 +0000 Tim-Philipp Müller gst/gsttaglist.c: Allow more than one GST_TAG_IMAGE per taglist. Original commit message from CVS: * gst/gsttaglist.c: (_gst_tag_initialize): Allow more than one GST_TAG_IMAGE per taglist. 2006-07-24 07:40:13 +0000 Thomas Vander Stichele gst/gstminiobject.c: update docs Original commit message from CVS: * gst/gstminiobject.c: update docs * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property), (gst_fd_src_create): log recurring events at LOG level add more debug for when the fd gets set 2006-07-24 07:37:52 +0000 Thomas Vander Stichele * autogen.sh: * common: remove --enable-docs Original commit message from CVS: remove --enable-docs 2006-07-23 09:41:30 +0000 Tim-Philipp Müller * ChangeLog: * common: ChangeLog surgery: add bug reference Original commit message from CVS: ChangeLog surgery: add bug reference 2006-07-21 18:52:30 +0000 Stefan Kost gst/gstparse.c: Also remove reentrance checks if flex is MT save (#348179) Original commit message from CVS: * gst/gstparse.c: (gst_parse_launch): Also remove reentrance checks if flex is MT save (#348179) Fix my empty ChangeLog entry below 2006-07-21 16:01:34 +0000 Andy Wingo docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot. Original commit message from CVS: 2006-07-21 Andy Wingo * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot. 2006-07-21 15:48:04 +0000 Andy Wingo libs/gst/check/Makefile.am (libgstcheck_@GST_MAJORMINOR@include_HEADERS) Original commit message from CVS: 2006-07-21 Andy Wingo * libs/gst/check/Makefile.am (libgstcheck_@GST_MAJORMINOR@include_HEADERS) (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): * libs/gst/check/gstbufferstraw.h: * libs/gst/check/gstbufferstraw.c: Add some new hype testing functions, thus proving I am still a GStreamer haxor. OK I wrote them a long time ago, but anyways. 2006-07-21 13:11:33 +0000 Stefan Kost * ChangeLog: * common: * configure.ac: * gst/gstparse.c: Original commit message from CVS: * configure.ac: * gst/gstparse.c: (gst_parse_launch): 2006-07-21 10:40:25 +0000 Wim Taymans gst/gstparse.c: Protect recursive calls to _parse with a recursive mutex and busy flag. Original commit message from CVS: * gst/gstparse.c: (gst_parse_launch): Protect recursive calls to _parse with a recursive mutex and busy flag. 2006-07-21 10:38:53 +0000 Wim Taymans tests/check/gst/gstpad.c: Fix leak in test. Original commit message from CVS: * tests/check/gst/gstpad.c: (GST_START_TEST): Fix leak in test. 2006-07-20 20:02:55 +0000 Stefan Kost gst/gstparse.c: Do not hange on recursive uasge of gst_parse_launch() Original commit message from CVS: * gst/gstparse.c: (gst_parse_launch): Do not hange on recursive uasge of gst_parse_launch() 2006-07-20 16:10:17 +0000 Tim-Philipp Müller gst/gsttaglist.c: Add some more docs, comments and FIXME 0.11s here and there and also fix some typos. Original commit message from CVS: * gst/gsttaglist.c: Add some more docs, comments and FIXME 0.11s here and there and also fix some typos. 2006-07-20 10:50:20 +0000 Tim-Philipp Müller gst/gstsegment.h: Convert tabs to spaces for better readability. Original commit message from CVS: * gst/gstsegment.h: Convert tabs to spaces for better readability. 2006-07-20 10:25:28 +0000 Edward Hervey tests/check/libs/gdp.c: the test_buffer test fails at line 140 on ppc64 at the following check: "GST_BUFFER_IN_CAPS f... Original commit message from CVS: * tests/check/libs/gdp.c: (gst_dp_suite): the test_buffer test fails at line 140 on ppc64 at the following check: fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer, GST_BUFFER_FLAG_IN_CAPS), "GST_BUFFER_IN_CAPS flag should have been copied !"); See bug #348114 for more details. 2006-07-19 12:40:54 +0000 Tim-Philipp Müller Fix typos (#348000). Original commit message from CVS: * docs/pwg/advanced-scheduling.xml: * gst/gstpad.c: Fix typos (#348000). 2006-07-18 20:38:45 +0000 Tim-Philipp Müller docs/pwg/intro-basics.xml: Fix wrong links (#347927). Original commit message from CVS: * docs/pwg/intro-basics.xml: Fix wrong links (#347927). 2006-07-18 19:01:25 +0000 Stefan Kost make --disable-index work (#342564) Original commit message from CVS: * gst/gstregistry.h: * gst/gstregistryxml.c: (load_feature), (gst_registry_xml_read_cache), (gst_registry_xml_save_feature): * win32/common/config.h: make --disable-index work (#342564) 2006-07-18 09:42:31 +0000 Peter Kjellerstedt gst/: The attached patch adds two missing defines to gsttrace.h when tracing is disabled. It also corrects one exist... Original commit message from CVS: Patch by: Peter Kjellerstedt * gst/Makefile.am: * gst/gsttrace.h: The attached patch adds two missing defines to gsttrace.h when tracing is disabled. It also corrects one existing define. Fixes #347756. 2006-07-17 17:40:52 +0000 Wim Taymans Add two functions to check and change the SIGSEGV behaviour when loading plugins. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled): * gst/gst.h: * gst/gstplugin.c: (_gst_plugin_fault_handler_restore): Add two functions to check and change the SIGSEGV behaviour when loading plugins. Don't mess with the SIGSEGV handler when we were told not to. Fixes #347794. API: gst_segtrap_is_enabled API: gst_segtrap_set_enabled 2006-07-14 16:42:20 +0000 Wim Taymans Revert fix for regression in #347408 after release. Original commit message from CVS: * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length): * tests/check/elements/filesrc.c: (GST_START_TEST): Revert fix for regression in #347408 after release. 2006-07-14 16:20:18 +0000 Antoine Tremblay gst/gstutils.c: Free iterator when done (#347311). Original commit message from CVS: Patch by: Antoine Tremblay * gst/gstutils.c: (gst_element_unlink): Free iterator when done (#347311). * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite): And add a test case for this. 2006-07-14 15:52:55 +0000 Jan Schmidt configure.ac: Bump nano back to CVS Original commit message from CVS: * configure.ac: Bump nano back to CVS === release 0.10.9 === 2006-07-14 15:50:19 +0000 Jan Schmidt configure.ac: releasing 0.10.9, "On the road again" Original commit message from CVS: 2006-07-13 Jan Schmidt * configure.ac: releasing 0.10.9, "On the road again" 2006-07-13 19:47:14 +0000 Jan Schmidt * po/af.po: * po/az.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/de.po: * po/en_GB.po: * po/fr.po: * po/it.po: * po/nb.po: * po/nl.po: * po/ru.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files Original commit message from CVS: Update .po files 2006-07-13 15:51:05 +0000 Wim Taymans Revert pull-0 fix for release. Disable check. Fixes #347408. Original commit message from CVS: * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length): * tests/check/elements/filesrc.c: (GST_START_TEST): Revert pull-0 fix for release. Disable check. Fixes #347408. 2006-07-13 14:02:16 +0000 Thomas Vander Stichele libs/gst/dataprotocol/dataprotocol.c: Fixes #347337: failure to deserialize event packets with empty payload (only ev... Original commit message from CVS: * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_event_from_packet_1_0): Fixes #347337: failure to deserialize event packets with empty payload (only event type) 2006-07-13 13:57:33 +0000 Thomas Vander Stichele gst/Makefile.am: do not install a .c file in the header directory Original commit message from CVS: * gst/Makefile.am: do not install a .c file in the header directory 2006-07-13 10:47:00 +0000 Edward Hervey gst/gstghostpad.c: GhostPad no longer implicitely use the padtemplates of the targets. Original commit message from CVS: * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked): GhostPad no longer implicitely use the padtemplates of the targets. Fixes #347384 2006-07-11 22:55:40 +0000 Jan Schmidt * po/af.po: * po/az.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/de.po: * po/en_GB.po: * po/fr.po: * po/it.po: * po/nb.po: * po/nl.po: * po/ru.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files Original commit message from CVS: Update .po files 2006-07-11 20:44:46 +0000 Jan Schmidt * ChangeLog: Mention bug #341029 fixed by bilboed's previous commit Original commit message from CVS: Mention bug #341029 fixed by bilboed's previous commit 2006-07-11 20:14:20 +0000 Jan Schmidt Make GstValueArray comparison be order dependent as designed. Original commit message from CVS: * gst/gstvalue.c: (gst_value_compare_list), (gst_value_compare_array), (_gst_value_initialize): * tests/check/gst/gstvalue.c: (GST_START_TEST): Make GstValueArray comparison be order dependent as designed. Add checks for value lists and value array comparisons. Fixes #347221 2006-07-11 16:20:09 +0000 Edward Hervey gst/gstbin.c: (de)activate src pads before calling state_change on the childs. Original commit message from CVS: * gst/gstbin.c: (activate_pads), (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate), (gst_bin_change_state_func): (de)activate src pads before calling state_change on the childs. This is to avoid the case where a src ghostpad is blocked (holding the stream lock), which would block the deactivation of the ghostpad's target pad. * gst/gstghostpad.c: (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event), (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps), (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal), (gst_proxy_pad_dispose), (gst_proxy_pad_init), (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset), (gst_ghost_pad_class_init), (gst_ghost_pad_internal_do_activate_push), (gst_ghost_pad_internal_do_activate_pull), (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull), (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink), (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target), (gst_ghost_pad_new), (gst_ghost_pad_set_target): GhostPads now create their internal GstProxyPad at creation (and not when they're linked, as it was being done previously). The internal and target pads are linked straight away. The data will also travel through the other pad in order to make pad blocking and probes non-hackish (the probe/block now really happens on the GhostPad and not on the target). * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_link_prepare), (gst_pad_push_event): Remove previous ghostpad cruft. * gst/gstutils.c: (gst_pad_add_data_probe), (gst_pad_add_event_probe), (gst_pad_add_buffer_probe), (gst_pad_remove_data_probe), (gst_pad_remove_event_probe), (gst_pad_remove_buffer_probe): Remove previous ghost pad cruft. Added more detailed debug statements. * tests/check/gst/gstghostpad.c: (GST_START_TEST): Fix the testsuite for refcounting changes. The comments about who has references were correct, but the refcount being checked wasn't the same (!?!). 2006-07-10 19:35:32 +0000 Stefan Kost More docs for configuration options, add docs to gtk-doc. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstconfig.h.in: More docs for configuration options, add docs to gtk-doc. 2006-07-10 18:27:40 +0000 Stefan Kost Fix build when disabling tracing (fixes #344016). Also start to document the defines that disable the sub-systems. Original commit message from CVS: * gst/Makefile.am: * gst/gstconfig.h.in: * win32/common/config.h: Fix build when disabling tracing (fixes #344016). Also start to document the defines that disable the sub-systems. 2006-07-10 09:42:20 +0000 Edward Hervey gst/gst.c: let's make valgrind happy... Original commit message from CVS: * gst/gst.c: (ensure_current_registry_forking): let's make valgrind happy... 2006-07-09 16:56:48 +0000 Wim Taymans gst/gstelement.c: Better pad activation code: Reset the collect value too on resync. Original commit message from CVS: * gst/gstelement.c: (activate_pads), (iterator_activate_fold_with_resync), (gst_element_pads_activate): Better pad activation code: Reset the collect value too on resync. Add some comments. 2006-07-09 13:26:06 +0000 Wim Taymans gst/gstpad.c: Use some more macros where it makes sense. Original commit message from CVS: * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull), (gst_pad_activate_push): Use some more macros where it makes sense. Allow pad mode switching instead of asserting. When a pad is activated in one mode and we activate it in another, deactivate it first before activating it in a different mode. Fixes #329198. 2006-07-08 13:22:32 +0000 Andy Wingo tools/gst-launch.c (main): Handle err == NULL. gst/gst.c (init_post, ensure_current_registry) (ensure_current_registr... Original commit message from CVS: 2006-07-08 Andy Wingo * tools/gst-launch.c (main): Handle err == NULL. * gst/gst.c (init_post, ensure_current_registry) (ensure_current_registry_forking) (ensure_current_registry_nonforking): Reduce #ifdef ratnest by factoring out the registry scanning into separate functions. Don't fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging. Better environment var name/interface suggestions accepted. 2006-07-07 17:16:26 +0000 Tim-Philipp Müller gst/gstobject.c: Random micro-optimisation: don't use a hash table with strings as keys and the usual strdup/strcmp i... Original commit message from CVS: * gst/gstobject.c: (gst_object_set_name_default), (gst_object_set_name): Random micro-optimisation: don't use a hash table with strings as keys and the usual strdup/strcmp involved, but rather just use the GQuark of the type name as key, since it needs to be looked up anyway to get the type name string. * tests/check/gst/gstobject.c: (GST_START_TEST): Fix various leaks. 2006-07-07 15:42:08 +0000 Tim-Philipp Müller gst/gstbin.c: Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes. Original commit message from CVS: * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface), (gst_bin_iterate_all_by_interface): Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes. GTypes are gulongs and thus the top 4 bytes might be cut off on some platforms when doing GPOINTER_TO_INT, leading to invalid GTypes and bad things happening. Also add a check to make sure the type passed in is really an interface type. 2006-07-07 09:47:19 +0000 Tim-Philipp Müller .cvsignore: Ignore more. Original commit message from CVS: * .cvsignore: Ignore more. 2006-07-07 09:09:10 +0000 Tim-Philipp Müller Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION instead of the unversioned gst-inspect (#324176, #168659). Original commit message from CVS: * Makefile.am: * configure.ac: * gst-element-check.m4: * gst-element-check.m4.in: Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION instead of the unversioned gst-inspect (#324176, #168659). 2006-07-06 16:17:20 +0000 Wim Taymans gst/gstmessage.h: Use a valid int for the _MESSAGE_ANY enum value to avoid compiler warnings. Original commit message from CVS: * gst/gstmessage.h: Use a valid int for the _MESSAGE_ANY enum value to avoid compiler warnings. 2006-07-06 15:46:25 +0000 Wim Taymans libs/gst/base/gstbasesrc.c: Update docs. blocksize == 0 now means the default blocksize when working in push based mode. Original commit message from CVS: * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init), (gst_base_src_wait), (gst_base_src_update_length), (gst_base_src_get_range), (gst_base_src_default_check_get_range), (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range), (gst_base_src_loop), (gst_base_src_start), (gst_base_src_activate_pull): Update docs. blocksize == 0 now means the default blocksize when working in push based mode. Remove some pointless asserts in _wait function. Fix offset/length calculations and EOS handling. We can now pull 0 bytes as well, which is allowed. use _check_get_range() to decide if we can operate in _pull based mode. Fix refcounting leak when check_get_range function was not implemented. API GstBaseSrc::blocksize range can be 0 too now (default) * tests/check/elements/filesrc.c: (GST_START_TEST), (filesrc_suite): Added check to test _get_range() behaviour. 2006-07-06 15:21:46 +0000 Wim Taymans gst/gstpad.*: Lots of comments and docs added to the pad functions. Original commit message from CVS: * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain), (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range), (gst_pad_pull_range): * gst/gstpad.h: Lots of comments and docs added to the pad functions. Flesh out the expected behaviour of the get_range() functions. 2006-07-06 09:21:03 +0000 Wim Taymans gst/: Remove comma at end of enumerator list. Original commit message from CVS: * gst/gstbus.h: * gst/gstclock.h: * gst/gstevent.h: * gst/gstiterator.h: * gst/gstpad.h: * gst/gstplugin.h: * gst/gsttask.h: Remove comma at end of enumerator list. 2006-07-05 19:56:08 +0000 Sébastien Moutte win32/common/: Add new exported functions. Original commit message from CVS: * win32/common/libgstbase.def: * win32/common/libgstdataprotocol.def: * win32/common/libsgtreamer.def: Add new exported functions. 2006-07-05 18:20:58 +0000 Wim Taymans libs/gst/base/gstpushsrc.c: Add some more docs here and there. Original commit message from CVS: * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range): Add some more docs here and there. 2006-07-05 18:18:47 +0000 Wim Taymans libs/gst/base/gstbasesink.c: When operating in pull mode update the offset so that we read sequentially. Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object), (gst_base_sink_loop), (gst_base_sink_get_position): When operating in pull mode update the offset so that we read sequentially. 2006-07-05 18:17:01 +0000 Wim Taymans gst/gstregistryxml.c: Avoid strdup. (will happen in libxml, but hey!) Original commit message from CVS: * gst/gstregistryxml.c: (read_string): Avoid strdup. (will happen in libxml, but hey!) * gst/gsturi.c: Add some more docs. 2006-07-05 17:09:18 +0000 Wim Taymans No point in checking if the size of the subbuffer > 0, the code handles it correclty as demonstrated by unit test. Original commit message from CVS: * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub): * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_buffer_suite): No point in checking if the size of the subbuffer > 0, the code handles it correclty as demonstrated by unit test. Also add a unit test for the zero sized _new_and_alloc and _copy. Fixes #346663. 2006-07-05 08:16:12 +0000 Wim Taymans libs/gst/base/gstbasetransform.c: Make sure the buffer we pass to transform_ip has a refcount of 1 and thus is writab... Original commit message from CVS: * libs/gst/base/gstbasetransform.c: (gst_base_transform_prepare_output_buffer), (gst_base_transform_buffer_alloc), (gst_base_transform_handle_buffer): Make sure the buffer we pass to transform_ip has a refcount of 1 and thus is writable. Fixes #343196 2006-07-04 09:01:51 +0000 Jan Schmidt plugins/elements/gstfilesrc.*: Add "sequential" property, off by default, to use madvise and hint to the kernel that ... Original commit message from CVS: * plugins/elements/gstfilesrc.c: (gst_file_src_class_init), (gst_file_src_init), (gst_file_src_set_property), (gst_file_src_get_property), (gst_file_src_map_region): * plugins/elements/gstfilesrc.h: Add "sequential" property, off by default, to use madvise and hint to the kernel that sequential access is desired. Touch all retrieved pages by default to ensure they are pulled into memory. (Closes #345720) 2006-07-03 17:44:09 +0000 Wim Taymans docs/design/: Small docs updates. Original commit message from CVS: * docs/design/part-block.txt: * docs/design/part-dynamic.txt: Small docs updates. 2006-07-03 16:57:54 +0000 Wim Taymans gst/: Use GSlice when the glib we build against is >= 2.10 Original commit message from CVS: * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free), (gst_caps_unref), (gst_static_caps_get), (gst_caps_append_structure): * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free): Use GSlice when the glib we build against is >= 2.10 2006-07-03 16:46:07 +0000 Wim Taymans gst/gstelement.c: Small cleanup in pad activation code. Original commit message from CVS: * gst/gstelement.c: (gst_element_pads_activate): Small cleanup in pad activation code. 2006-07-03 14:14:48 +0000 Peter Kjellerstedt The attached patch will make the inclusion of gettext.h unconditional in gst/gst-i18n-app.h and gst/gst-i18n-lib.h, a... Original commit message from CVS: Patch by: Peter Kjellerstedt * gst/gst-i18n-app.h: * gst/gst-i18n-lib.h: * tools/gst-inspect.c: (print_signal_info): The attached patch will make the inclusion of gettext.h unconditional in gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of libintl.h in tools/gst-inspect.c. This allows use of --disable-nls again and fixes #344642. 2006-07-03 11:10:43 +0000 Thomas Vander Stichele * tests/check/gst/gstbin.c: fix leak Original commit message from CVS: fix leak 2006-07-03 10:30:49 +0000 Edward Hervey gst/gstpad.c: Implement pad blocking on events according to part-block.txt. Original commit message from CVS: * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event): Implement pad blocking on events according to part-block.txt. More comments on behaviour. * tests/check/gst/gstevent.c: (test_event): Send event to peer pad of blocked pad (else it will block). 2006-07-02 23:22:31 +0000 Thomas Vander Stichele libs/gst/check/gstcheck.c: if we get the wrong message, give us the types as string Original commit message from CVS: * libs/gst/check/gstcheck.c: (gst_check_message_error), (gst_check_run_suite): if we get the wrong message, give us the types as string * plugins/elements/gstfilesrc.c: (gst_file_src_start): Fix a translatable * tests/check/elements/filesrc.c: (GST_START_TEST): add a test for trying to open a non-existing file 2006-07-02 22:44:24 +0000 Thomas Vander Stichele * docs/libs/gstreamer-libs-sections.txt: add macros Original commit message from CVS: add macros 2006-07-02 22:28:38 +0000 Thomas Vander Stichele * tests/check/Makefile.am: remove double var Original commit message from CVS: remove double var 2006-07-02 22:27:32 +0000 Thomas Vander Stichele * plugins/elements/Makefile.am: clean more Original commit message from CVS: clean more 2006-07-02 22:20:20 +0000 Thomas Vander Stichele * docs/gst/.gitignore: * docs/libs/.gitignore: * tests/benchmarks/.gitignore: * tests/check/elements/.gitignore: * tests/check/generic/.gitignore: * tests/check/gst/.gitignore: * tests/check/libs/.gitignore: * tests/check/pipelines/.gitignore: * tests/examples/controller/.gitignore: * tests/examples/helloworld/.gitignore: * tests/examples/launch/.gitignore: * tests/examples/metadata/.gitignore: * tests/examples/queue/.gitignore: * tests/examples/typefind/.gitignore: * tests/examples/xml/.gitignore: moap ignore Original commit message from CVS: moap ignore 2006-07-02 22:17:31 +0000 Thomas Vander Stichele tests/check/gst/gstbin.c: add a test for adding self Original commit message from CVS: * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite): add a test for adding self 2006-07-02 22:05:48 +0000 Thomas Vander Stichele libs/gst/check/gstcheck.h: add some assert_ as alias for fail_unless_* Original commit message from CVS: * libs/gst/check/gstcheck.h: add some assert_ as alias for fail_unless_* * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite): increase test coverage 2006-07-02 21:54:43 +0000 Thomas Vander Stichele Makefile.am: include lcov.mak for lcov coverage generation Original commit message from CVS: * Makefile.am: include lcov.mak for lcov coverage generation * tools/Makefile.am: add to CLEANFILES 2006-07-02 21:52:57 +0000 Thomas Vander Stichele * common: * gst/gstevent.h: * gst/gstmessage.h: whitespace/doc fixes Original commit message from CVS: whitespace/doc fixes 2006-07-02 16:27:14 +0000 Edward Hervey tests/check/elements/.cvsignore: moaping Original commit message from CVS: * tests/check/elements/.cvsignore: moaping 2006-07-02 14:39:12 +0000 Thomas Vander Stichele configure.ac: don't set CFLAGS and friends for gcov, done from GST_GCOV now Original commit message from CVS: * configure.ac: don't set CFLAGS and friends for gcov, done from GST_GCOV now * tests/check/Makefile.am: clean up gcov files 2006-07-02 14:37:10 +0000 Thomas Vander Stichele gst/gstcaps.c: remove gst_caps_simplify; it was not declared and not used and deprecated in 0.8 Original commit message from CVS: * gst/gstcaps.c: (gst_caps_remove_and_get_structure): remove gst_caps_simplify; it was not declared and not used and deprecated in 0.8 2006-07-02 14:05:54 +0000 Thomas Vander Stichele docs/faq/gst-uninstalled: don't put empty paths on PYTHONPATH Original commit message from CVS: * docs/faq/gst-uninstalled: don't put empty paths on PYTHONPATH * docs/gst/gstreamer-sections.txt: remove some symbols that are not there 2006-07-02 12:57:19 +0000 Thomas Vander Stichele * tests/check/gst/gstcaps.c: unbreak test Original commit message from CVS: unbreak test 2006-07-02 12:54:03 +0000 Thomas Vander Stichele gst/gstcaps.c: whitespace fixes Original commit message from CVS: * gst/gstcaps.c: (gst_caps_compare_structures): whitespace fixes * tests/check/gst/gstbuffer.c: (GST_START_TEST): * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite): add more tests 2006-07-02 12:52:09 +0000 Thomas Vander Stichele * gst/.gitignore: ignore more Original commit message from CVS: ignore more 2006-07-02 09:04:45 +0000 Thomas Vander Stichele libs/gst/dataprotocol/Makefile.am: build dataprotocol test by linking to the lib, instead of compiling the source, so... Original commit message from CVS: * libs/gst/dataprotocol/Makefile.am: build dataprotocol test by linking to the lib, instead of compiling the source, so we get coverage * tests/check/Makefile.am: * tests/check/elements/filesrc.c: (event_func), (setup_filesrc), (cleanup_filesrc), (GST_START_TEST), (filesrc_suite): add a test for filesrc 2006-07-02 08:26:48 +0000 Thomas Vander Stichele tests/check/gst/gststructure.c: Push coverage from 59.04% to 70.00% Original commit message from CVS: * tests/check/gst/gststructure.c: (GST_START_TEST), (gst_structure_suite): Push coverage from 59.04% to 70.00% 2006-07-02 00:40:56 +0000 Thomas Vander Stichele tests/check/gst/gststructure.c: Push coverage from 59.04% to 70.00% Original commit message from CVS: * tests/check/gst/gststructure.c: (GST_START_TEST), (gst_structure_suite): Push coverage from 59.04% to 70.00% 2006-07-02 00:39:28 +0000 Thomas Vander Stichele * libs/gst/base/.gitignore: * libs/gst/check/.gitignore: * libs/gst/dataprotocol/.gitignore: moap ignore Original commit message from CVS: moap ignore 2006-07-02 00:38:35 +0000 Thomas Vander Stichele * libs/gst/base/.gitignore: moap ignore Original commit message from CVS: moap ignore 2006-07-02 00:33:51 +0000 Thomas Vander Stichele tests/check/Makefile.am: gst-inspect every element; this makes sure that we also get coverage on element's get/set fu... Original commit message from CVS: * tests/check/Makefile.am: gst-inspect every element; this makes sure that we also get coverage on element's get/set functions * tests/check/gst/gststructure.c: (GST_START_TEST), (gst_structure_suite): Push coverage from 59.04% to 70.00% 2006-07-01 23:26:06 +0000 Thomas Vander Stichele configure.ac: set CFLAGS and friends to -O0 if gcov is being used add GCOV LIBS Original commit message from CVS: * configure.ac: set CFLAGS and friends to -O0 if gcov is being used add GCOV LIBS * gst/Makefile.am: * libs/gst/base/Makefile.am: * libs/gst/check/Makefile.am: * libs/gst/controller/Makefile.am: * libs/gst/dataprotocol/Makefile.am: * libs/gst/net/Makefile.am: * plugins/elements/Makefile.am: * plugins/indexers/Makefile.am: add makefile rules to generate gcov data and clean up * tests/check/Makefile.am: add a coverage target that generates an html overview of coverage data 2006-07-01 23:19:28 +0000 Thomas Vander Stichele * docs/libs/gstreamer-libs-sections.txt: fix docs build Original commit message from CVS: fix docs build 2006-07-01 20:56:56 +0000 Thomas Vander Stichele tests/check/: use the new macro Original commit message from CVS: * tests/check/elements/fakesink.c: * tests/check/elements/fakesrc.c: * tests/check/elements/fdsrc.c: * tests/check/elements/identity.c: * tests/check/generic/sinks.c: (gst_sinks_suite): * tests/check/generic/states.c: * tests/check/gst/gst.c: * tests/check/gst/gstabi.c: * tests/check/gst/gstbin.c: * tests/check/gst/gstbuffer.c: (gst_buffer_suite): * tests/check/gst/gstbus.c: (gst_bus_suite): * tests/check/gst/gstcaps.c: (GST_START_TEST): * tests/check/gst/gstelement.c: * tests/check/gst/gstevent.c: (gst_event_suite): * tests/check/gst/gstghostpad.c: * tests/check/gst/gstiterator.c: (gst_iterator_suite): * tests/check/gst/gstmessage.c: (gst_message_suite): * tests/check/gst/gstminiobject.c: * tests/check/gst/gstobject.c: * tests/check/gst/gstpad.c: * tests/check/gst/gstpipeline.c: * tests/check/gst/gstplugin.c: * tests/check/gst/gstquery.c: (gst_query_suite): * tests/check/gst/gstsegment.c: (gst_segment_suite): * tests/check/gst/gststructure.c: * tests/check/gst/gstsystemclock.c: * tests/check/gst/gsttag.c: * tests/check/gst/gsttask.c: (gst_task_suite): * tests/check/gst/gstutils.c: * tests/check/gst/gstvalue.c: * tests/check/libs/adapter.c: * tests/check/libs/basesrc.c: * tests/check/libs/collectpads.c: * tests/check/libs/controller.c: * tests/check/libs/gdp.c: (gst_dp_suite): * tests/check/libs/gstnetclientclock.c: * tests/check/libs/gstnettimeprovider.c: * tests/check/libs/libsabi.c: (libsabi_suite): * tests/check/libs/typefindhelper.c: * tests/check/pipelines/cleanup.c: * tests/check/pipelines/parse-launch.c: * tests/check/pipelines/simple-launch-lines.c: * tests/check/pipelines/stress.c: (stress_suite): use the new macro 2006-07-01 20:54:25 +0000 Thomas Vander Stichele libs/gst/check/gstcheck.*: create a macro and function so that the simple unit test case can be just one macro to cre... Original commit message from CVS: * libs/gst/check/gstcheck.c: (gst_check_run_suite): * libs/gst/check/gstcheck.h: create a macro and function so that the simple unit test case can be just one macro to create main() 2006-06-30 13:17:46 +0000 Tim-Philipp Müller gst/: Fix deserialisation from XML. Set parent manually instead of using gst_bin_add(), since gst_bin_add() will unli... Original commit message from CVS: * gst/gstbin.c: (gst_bin_restore_thyself): * gst/gstxml.c: (gst_xml_make_element): Fix deserialisation from XML. Set parent manually instead of using gst_bin_add(), since gst_bin_add() will unlink all pads of the element being added. Fixes #341667. 2006-06-28 15:19:08 +0000 Peter Kjellerstedt gst/gst.c: Fix missing g_strdup() and double free when using the Original commit message from CVS: Patch by: Peter Kjellerstedt * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate): Fix missing g_strdup() and double free when using the --gst-plugin-load command line option (#346097). 2006-06-23 13:16:46 +0000 Tim-Philipp Müller gst/gstinfo.c: Promote GST_DEBUG_CATEGORY_STATIC in example in docs. Original commit message from CVS: * gst/gstinfo.c: Promote GST_DEBUG_CATEGORY_STATIC in example in docs. * libs/gst/net/gstnetclientclock.c: * libs/gst/net/gstnettimeprovider.c: Use GST_DEBUG_CATEGORY_STATIC here too (#342503). 2006-06-23 10:30:09 +0000 Tim-Philipp Müller docs/manual/advanced-dataaccess.xml: Fix buffer probe example compilation in Original commit message from CVS: * docs/manual/advanced-dataaccess.xml: Fix buffer probe example compilation in ADM (#345708). 2006-06-22 17:09:13 +0000 Edward Hervey gst/gstelement.c: We need to deactivate src pads first and then sink pads. Original commit message from CVS: * gst/gstelement.c: (gst_element_pads_activate): We need to deactivate src pads first and then sink pads. The reason is the src pads might be blocking while holding the streaming lock, so we need to deactivate them first so that deactivating the sink pads doesn't block (since it will require the streaming lock). 2006-06-22 15:12:50 +0000 Wim Taymans libs/gst/base/gstbasetransform.c: Forgot to remove two unneeded unrefs. Original commit message from CVS: * libs/gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc): Forgot to remove two unneeded unrefs. Simplify a check _is_equal allready checks the obvious case. 2006-06-22 14:09:41 +0000 Wim Taymans docs/design/part-block.txt: Some docs about what pad_block should do. Original commit message from CVS: * docs/design/part-block.txt: Some docs about what pad_block should do. 2006-06-22 13:51:19 +0000 Wim Taymans gst/gstcaps.c: Fix crasher when passed NULL. Doc clarification. Original commit message from CVS: * gst/gstcaps.c: (gst_caps_replace): Fix crasher when passed NULL. Doc clarification. Optimize for the trivial case. * gst/gstpipeline.c: (gst_pipeline_change_state): Small cleanups. * libs/gst/base/gstbasesrc.c: (gst_base_src_loop): Small documentation cleanup. * libs/gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc): Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS is what we need and it avoids a whole lot of redundant refcount operations. 2006-06-22 08:53:40 +0000 Philip Jägenstedt docs/manual/advanced-dataaccess.xml: Fix 'Embedding static elements' section to use Original commit message from CVS: Patch by: Philip Jägenstedt * docs/manual/advanced-dataaccess.xml: Fix 'Embedding static elements' section to use GST_PLUGIN_DEFINE_STATIC (#345607). 2006-06-21 11:12:24 +0000 Tim-Philipp Müller tests/check/pipelines/simple-launch-lines.c: Attempt to 'fix' spuriously failing test case: it seems like the timeout... Original commit message from CVS: * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app): Attempt to 'fix' spuriously failing test case: it seems like the timeout of half a second is simply too small when the system is under load otherwise, and the timeout doesn't really seem to serve any particular purpose here. Give the pipeline a few seconds to preroll first, and then give it another half a second to go from PAUSED to PLAYING and marshal the message into the main thread. 2006-06-21 10:14:00 +0000 Tim-Philipp Müller tools/gst-feedback-m.m: Don't only use unversioned tools, try versioned tools as well (#345086). Original commit message from CVS: * tools/gst-feedback-m.m: Don't only use unversioned tools, try versioned tools as well (#345086). 2006-06-21 10:01:58 +0000 Tim-Philipp Müller gst/gstbus.c: Fix some typos, make docs more explicit. Original commit message from CVS: * gst/gstbus.c: (gst_bus_class_init): Fix some typos, make docs more explicit. 2006-06-20 08:40:40 +0000 Wim Taymans tests/check/gst/gstghostpad.c: Added some more ghostpad tests, mainly blocking and probes. Original commit message from CVS: * tests/check/gst/gstghostpad.c: (block_callback), (GST_START_TEST), (gst_ghost_pad_suite): Added some more ghostpad tests, mainly blocking and probes. 2006-06-19 08:56:48 +0000 Christian Schaller * gstreamer.spec.in: latest updates Original commit message from CVS: latest updates 2006-06-16 16:28:37 +0000 Wim Taymans plugins/elements/gstfilesink.*: Check if we can seek in the file instead of assuming we always can. Post an error whe... Original commit message from CVS: * plugins/elements/gstfilesink.c: (gst_file_sink_open_file), (gst_file_sink_close_file), (gst_file_sink_do_seek), (gst_file_sink_event), (gst_file_sink_render): * plugins/elements/gstfilesink.h: Check if we can seek in the file instead of assuming we always can. Post an error when we are asked to seek in a non-seekable file (like a fifo). Fixes #343312. Some cleanups. 2006-06-16 14:31:07 +0000 Tim-Philipp Müller tools/gst-launch.1.in: Un-garble (fourcc) bit in filtered caps section. Original commit message from CVS: * tools/gst-launch.1.in: Un-garble (fourcc) bit in filtered caps section. 2006-06-16 09:39:54 +0000 Tim-Philipp Müller docs/manual/: Don't leak bus reference in sample code. Original commit message from CVS: * docs/manual/advanced-autoplugging.xml: * docs/manual/basics-helloworld.xml: * docs/manual/highlevel-components.xml: Don't leak bus reference in sample code. 2006-06-16 08:30:47 +0000 Tim-Philipp Müller autogen.sh: Add default for new --enable-plugin-docs switch. Original commit message from CVS: * autogen.sh: Add default for new --enable-plugin-docs switch. * configure.ac: Use new GST_PLUGIN_DOCS macro to check for pyxml etc. Fixes #344039. * docs/Makefile.am: Use new ENABLE_PLUGIN_DOCS conditional. 2006-06-14 10:34:14 +0000 Wim Taymans gst/gstbin.c: Make it clear with a FIXME and a real define what the #if 0 previously disabled. Original commit message from CVS: * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query): Make it clear with a FIXME and a real define what the #if 0 previously disabled. 2006-06-14 10:31:43 +0000 Wim Taymans libs/gst/base/: Don't randomly and silently reset a segment when the format changes as this is a bug somewhere upstre... Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment), (gst_base_sink_preroll_object), (gst_base_sink_get_position): * libs/gst/base/gstbasetransform.c: (gst_base_transform_sink_eventfunc): * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event): Don't randomly and silently reset a segment when the format changes as this is a bug somewhere upstream. Fixes #330379. 2006-06-14 08:26:53 +0000 Wouter Paesen libs/gst/controller/gstcontroller.c: Fix controlling of float properties (#344849). Original commit message from CVS: Patch by: Wouter Paesen * libs/gst/controller/gstcontroller.c: (gst_controlled_property_new): Fix controlling of float properties (#344849). * tests/check/libs/controller.c: (gst_test_mono_source_get_property), (gst_test_mono_source_set_property), (gst_test_mono_source_class_init), (GST_START_TEST): While we're at it, add some float stuff to unit test. 2006-06-13 19:24:34 +0000 Thomas Vander Stichele docs/: add a gdp image Original commit message from CVS: * docs/README: * docs/images/gdp-header.svg: add a gdp image * docs/libs/Makefile.am: * docs/libs/gdp-header.png: * libs/gst/dataprotocol/dataprotocol.c: add it to the API docs * docs/manual/intro-motivation.xml: fix typo 2006-06-13 16:41:37 +0000 Tim-Philipp Müller gst/gst.c: If the fork()'ed child process can't write the updated registry cache file to disk for some reason, make i... Original commit message from CVS: * gst/gst.c: (scan_and_update_registry), (init_post): If the fork()'ed child process can't write the updated registry cache file to disk for some reason, make it exit with a failure exit code, so that the parent can then re-scan the plugins itself and update the registry structures in memory and work with that (rather than failing when creating elements because seemingly no plugins are available). Refactor registry scanning code into separate function for this and also separate fork() and non-fork() code paths. Fixes #344748. 2006-06-13 16:24:43 +0000 Wim Taymans docs/manual/advanced-dataaccess.xml: Fix wrong PluginDesc. Fixes #344755. Original commit message from CVS: * docs/manual/advanced-dataaccess.xml: Fix wrong PluginDesc. Fixes #344755. 2006-06-13 13:30:46 +0000 Tim-Philipp Müller gst/gstregistryxml.c: Fix silly bug that prevented us from creating ~/.gstreamer-0.10 and writing the registry in one... Original commit message from CVS: * gst/gstregistryxml.c: (gst_registry_xml_write_cache): Fix silly bug that prevented us from creating ~/.gstreamer-0.10 and writing the registry in one go (the first call to g_mkstemp() would overwrite the placeholder in the template string, so the second call to g_mkstemp() after creating the missing directory would then error out with 'invalid argument'). 2006-06-13 11:17:02 +0000 Edward Hervey gst/gst.c: Free string. Original commit message from CVS: * gst/gst.c: (init_post): Free string. 2006-06-13 08:20:24 +0000 Thomas Vander Stichele gst/: remove GLib 2.6 compatibility code Original commit message from CVS: * gst/glib-compat-private.h: * gst/glib-compat.c: * gst/glib-compat.h: * gst/gstvalue.c: (gst_value_serialize_flags): remove GLib 2.6 compatibility code 2006-06-12 16:50:09 +0000 Tim-Philipp Müller gst/parse/Makefile.am: Fix build with 'make -j N' even more (#340016). Original commit message from CVS: * gst/parse/Makefile.am: Fix build with 'make -j N' even more (#340016). 2006-06-12 09:37:58 +0000 Wim Taymans docs/gst/gstreamer-sections.txt: Fix docs. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: Fix docs. 2006-06-12 09:29:49 +0000 Wim Taymans gst/gstsegment.c: Use G_UNLIKELY to help the compiler a bit. Original commit message from CVS: * gst/gstsegment.c: (gst_segment_set_duration), (gst_segment_set_last_stop), (gst_segment_set_seek), (gst_segment_set_newsegment_full), (gst_segment_to_stream_time), (gst_segment_to_running_time), (gst_segment_clip): Use G_UNLIKELY to help the compiler a bit. 2006-06-12 09:28:35 +0000 Stefan Kost gst/: constify quark registration strings. Fixes #344115 Original commit message from CVS: Patch by: Stefan Kost * gst/gstevent.c: (gst_event_get_type): * gst/gstmessage.c: * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain), (gst_pad_push): constify quark registration strings. Fixes #344115 Avoid unneeded type checking is _pad_push() by internally calling gst_pad_chain_unchecked(). 2006-06-12 09:23:43 +0000 Wim Taymans gst/gstbuffer.c: Init _type for consistency. Original commit message from CVS: * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize), (_gst_buffer_copy), (gst_buffer_is_metadata_writable), (gst_subbuffer_finalize), (gst_buffer_create_sub), (gst_buffer_is_span_fast), (gst_buffer_span): Init _type for consistency. Use _FLAGS macro to avoid type check. Avoid unneeded type checks in subbufer code. 2006-06-12 09:17:44 +0000 Wim Taymans gst/: Use _CAST macros to avoid unneeded type checking. Original commit message from CVS: * gst/gst.c: (gst_debug_help): * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free): * gst/gstpluginfeature.c: (gst_plugin_feature_finalize), (gst_plugin_feature_list_free): * gst/gstregistry.c: (gst_registry_add_plugin), (gst_registry_add_feature), (gst_registry_plugin_filter), (gst_registry_feature_filter), (gst_registry_find_plugin), (gst_registry_find_feature), (gst_registry_get_plugin_list), (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked): * gst/gstregistryxml.c: (load_feature), (gst_registry_xml_read_cache), (gst_registry_xml_write_cache): * gst/gstminiobject.c: (gst_mini_object_unref), (gst_mini_object_replace), (gst_value_mini_object_free), (gst_value_mini_object_copy): Use _CAST macros to avoid unneeded type checking. Added some more G_UNLIKELY. 2006-06-12 09:11:44 +0000 Wim Taymans gst/gstbuffer.h: Avoid unneeded type checking. Original commit message from CVS: * gst/gstbuffer.h: Avoid unneeded type checking. API: GST_BUFFER_IS_DISCONT * gst/gstminiobject.h: Avoid type check in flag accessor. * gst/gstelementfactory.h: * gst/gstplugin.h: * gst/gstpluginfeature.h: Add _CAST macros. API: GST_ELEMENT_FACTORY_CAST API: GST_PLUGIN_CAST API: GST_PLUGIN_FEATURE_CAST 2006-06-12 09:06:01 +0000 Wim Taymans gst/gstobject.c: Add G_UNLIKELY in type registration. Original commit message from CVS: * gst/gstobject.c: (gst_object_get_type), (gst_object_ref), (gst_object_unref): Add G_UNLIKELY in type registration. Avoid type check in _ref/_unref since that is also done in glib. 2006-06-12 08:55:21 +0000 Wim Taymans Add G_UNLIKELY in type registration. Original commit message from CVS: * gst/gsterror.c: (gst_g_error_get_type): * gst/gstpadtemplate.c: (gst_pad_template_get_type), (gst_static_pad_template_get_type): * gst/gsttaglist.c: (gst_tag_list_get_type): * gst/gsttagsetter.c: (gst_tag_setter_get_type): * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type): * gst/gsturi.c: (gst_uri_handler_get_type): * gst/gstvalue.c: (gst_date_get_type): * gst/gstxml.c: (gst_xml_get_type): * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type), (gst_base_sink_preroll_object), (gst_base_sink_get_position): * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type): Add G_UNLIKELY in type registration. 2006-06-12 08:51:20 +0000 Wim Taymans tools/gst-inspect.c: Properly print enum values. Original commit message from CVS: * tools/gst-inspect.c: (print_signal_info): Properly print enum values. 2006-06-12 08:47:16 +0000 Wim Taymans gst/gstinfo.*: Add some G_[UN]LIKELY. Original commit message from CVS: * gst/gstinfo.c: (gst_debug_set_active), (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr): * gst/gstinfo.h: Add some G_[UN]LIKELY. Maintain __gst_debug_min to avoid formatting the arguments of debug messages that will be dropped anyway to avoid a lot of overhead from the debugging system. 2006-06-11 20:37:41 +0000 Stefan Kost po/POTFILES.*: add missing files containing translatable strings, tell intltool about one exception Original commit message from CVS: * po/POTFILES.in: * po/POTFILES.skip: add missing files containing translatable strings, tell intltool about one exception 2006-06-11 17:28:19 +0000 Stefan Kost tests/check/libs/.cvsignore: add test-binary to ignore list Original commit message from CVS: * tests/check/libs/.cvsignore: add test-binary to ignore list 2006-06-11 17:03:06 +0000 Stefan Kost docs/libs/gstreamer-libs-docs.sgml: reorder (put dp into a chapter) and indent Original commit message from CVS: * docs/libs/gstreamer-libs-docs.sgml: reorder (put dp into a chapter) and indent 2006-06-11 11:56:36 +0000 Thomas Vander Stichele * common: * docs/random/autotools: add notes on our autotools setup Original commit message from CVS: add notes on our autotools setup 2006-06-10 17:32:53 +0000 Thomas Vander Stichele * ChangeLog: * configure.ac: * win32/common/config.h: back to HEAD Original commit message from CVS: back to HEAD === release 0.10.8 === 2006-06-10 17:06:33 +0000 Thomas Vander Stichele * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * po/af.po: * po/az.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/de.po: * po/en_GB.po: * po/fr.po: * po/it.po: * po/nb.po: * po/nl.po: * po/ru.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: * win32/common/config.h: releasing 0.10.8 Original commit message from CVS: releasing 0.10.8 2006-06-10 11:51:58 +0000 Thomas Vander Stichele gst/gst.c: move pid declaration to declaration block Original commit message from CVS: * gst/gst.c: (init_post): move pid declaration to declaration block 2006-06-10 11:47:42 +0000 Thomas Vander Stichele gst/gst.c: use _exit() instead of exit() in our forked child; this ensures that none of the registered exit handlers ... Original commit message from CVS: * gst/gst.c: (init_post): use _exit() instead of exit() in our forked child; this ensures that none of the registered exit handlers from whatever is using GStreamer get executed. This fixes gnome-mixer-applet failing to load, because ORBit would shut down. Spotted by: Edward Hervey Fix suggested by: Tim-Philipp Müller Fixes #344474 2006-06-09 18:52:02 +0000 Thomas Vander Stichele configure.ac: back to TRUNK Original commit message from CVS: 2006-06-09 Thomas Vander Stichele * configure.ac: back to TRUNK === release 0.10.7 === 2006-06-09 18:49:25 +0000 Thomas Vander Stichele * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/gstreamer-plugins.args: * docs/plugins/gstreamer-plugins.signals: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * win32/common/config.h: releasing 0.10.7 Original commit message from CVS: releasing 0.10.7 2006-06-07 10:46:04 +0000 Thomas Vander Stichele 0.10.6.2 prerelease Original commit message from CVS: * configure.ac: * po/af.po: * po/az.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/de.po: * po/en_GB.po: * po/fr.po: * po/it.po: * po/nb.po: * po/nl.po: * po/ru.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: * win32/common/config.h: 0.10.6.2 prerelease 2006-06-07 08:38:30 +0000 Wim Taymans Fix leak spotted by coverity checker. Fixes #343827 Original commit message from CVS: * gst/gstindex.c: (gst_index_gtype_resolver): * tools/gst-xmlinspect.c: (print_plugin_info): Fix leak spotted by coverity checker. Fixes #343827 Fix another other leak found by paolo borelli. 2006-06-06 16:52:59 +0000 Thomas Vander Stichele * tests/check/gst/struct_ppc64.h: * tests/check/gst/struct_x86_64.h: ifdef LOADSAVE Original commit message from CVS: ifdef LOADSAVE 2006-06-06 15:18:26 +0000 Thomas Vander Stichele * docs/libs/tmpl/gstcontrol.sgml: remove old docs Original commit message from CVS: remove old docs 2006-06-06 14:51:45 +0000 Thomas Vander Stichele * tests/check/libs/libsabi.c: terminate ifdef Original commit message from CVS: terminate ifdef 2006-06-06 14:32:55 +0000 Thomas Vander Stichele * docs/libs/tmpl/gstbytestream.sgml: remove unused tmpl Original commit message from CVS: remove unused tmpl 2006-06-06 14:29:54 +0000 Thomas Vander Stichele * docs/libs/tmpl/gstdataprotocol.sgml: * libs/gst/dataprotocol/dataprotocol.c: add note to docs about GDP versioning; remove tmpl file Original commit message from CVS: add note to docs about GDP versioning; remove tmpl file 2006-06-06 14:24:00 +0000 Thomas Vander Stichele libs/gst/dataprotocol/dataprotocol.*: API: add a GstDPPacketizer object, and create/free functions Original commit message from CVS: * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any), (gst_dp_version_get_type), (gst_dp_init), (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0), (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0), (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0), (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0), (gst_dp_event_from_packet), (gst_dp_packetizer_new), (gst_dp_packetizer_free): * libs/gst/dataprotocol/dataprotocol.h: API: add a GstDPPacketizer object, and create/free functions API: add GstDPVersion enum Add 1.0 event function that uses the string serialization Serialize more useful buffer flags Fixes #343988 2006-06-06 14:21:10 +0000 Thomas Vander Stichele * docs/libs/gstreamer-libs-sections.txt: * docs/libs/tmpl/gstdataprotocol.sgml: add symbol Original commit message from CVS: add symbol 2006-06-06 14:16:33 +0000 Thomas Vander Stichele * gst/gstbuffer.h: width respectationizing Original commit message from CVS: width respectationizing 2006-06-06 14:10:09 +0000 Thomas Vander Stichele tests/check/: add ppc64 structure sizes Original commit message from CVS: * tests/check/Makefile.am: * tests/check/gst/gstabi.c: * tests/check/gst/struct_ppc64.h: * tests/check/libs/libsabi.c: * tests/check/libs/struct_ppc64.h: add ppc64 structure sizes 2006-06-06 13:59:10 +0000 Thomas Vander Stichele tests/check/: generate and add structure size lists for x86_64 Original commit message from CVS: * tests/check/Makefile.am: * tests/check/gst/gstabi.c: * tests/check/gst/struct_x86_64.h: * tests/check/libs/libsabi.c: * tests/check/libs/struct_x86_64.h: generate and add structure size lists for x86_64 2006-06-06 13:53:25 +0000 Thomas Vander Stichele * libs/gst/check/gstcheck.c: cosmetics Original commit message from CVS: cosmetics 2006-06-06 13:48:20 +0000 Thomas Vander Stichele libs/gst/check/gstcheck.*: factor out the method from tests that checks size of structures, and add code to generate ... Original commit message from CVS: * libs/gst/check/gstcheck.c: (gst_check_abi_list): * libs/gst/check/gstcheck.h: factor out the method from tests that checks size of structures, and add code to generate the header containing these sizes * tests/check/gst/gstabi.c: (GST_START_TEST): * tests/check/gst/struct_i386.h: * tests/check/libs/libsabi.c: (GST_START_TEST): * tests/check/libs/struct_i386.h: use it 2006-06-06 13:11:03 +0000 Michael Smith gst/gstsegment.h: Don't use c++-style comments, fixes #343929 Original commit message from CVS: * gst/gstsegment.h: Don't use c++-style comments, fixes #343929 2006-06-06 09:47:40 +0000 Thomas Vander Stichele * gst/gstelement.h: whitespace/width fixes Original commit message from CVS: whitespace/width fixes 2006-06-06 08:50:40 +0000 Thomas Vander Stichele * gst/gstbuffer.c: whitespace fixes Original commit message from CVS: whitespace fixes 2006-06-06 08:50:25 +0000 Thomas Vander Stichele * common: * gst/gsterror.c: remove an extra space Original commit message from CVS: remove an extra space 2006-06-05 13:05:37 +0000 Edward Hervey gst/gst.c: plugin_paths is not used if we build without registry support. Original commit message from CVS: * gst/gst.c: plugin_paths is not used if we build without registry support. * gst/gstsegment.c: (gst_segment_copy): _copy() was always returning NULL... 2006-06-05 12:55:58 +0000 Edward Hervey gst/gstsegment.c: _copy() was always returning NULL... Original commit message from CVS: * gst/gstsegment.c: (gst_segment_copy): _copy() was always returning NULL... 2006-06-02 16:46:19 +0000 Thomas Vander Stichele libs/gst/dataprotocol/dataprotocol.c: factor out CRC code Original commit message from CVS: * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_header_from_buffer), (gst_dp_packet_from_caps), (gst_dp_packet_from_event): factor out CRC code 2006-06-02 16:45:08 +0000 Thomas Vander Stichele libs/gst/check/gstcheck.c: make sure we unset caps Original commit message from CVS: * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad): make sure we unset caps 2006-06-02 16:41:02 +0000 Michael Smith libs/gst/check/gstcheck.*: Add a cond/mutex to the check support lib, signal this whenever we add to the buffers list... Original commit message from CVS: * libs/gst/check/gstcheck.c: (gst_check_init), (gst_check_chain_func): * libs/gst/check/gstcheck.h: Add a cond/mutex to the check support lib, signal this whenever we add to the buffers list. This will allow tests to not busy-wait on the buffer-list. 2006-06-02 10:58:47 +0000 Thomas Vander Stichele libs/gst/dataprotocol/dataprotocol.c: factor out some common header init code Original commit message from CVS: * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_header_from_buffer), (gst_dp_packet_from_caps), (gst_dp_packet_from_event): factor out some common header init code 2006-06-02 10:08:31 +0000 Thomas Vander Stichele API: make gst_dp_crc() public Original commit message from CVS: * docs/libs/gstreamer-libs-sections.txt: * docs/libs/tmpl/gstdataprotocol.sgml: * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc): * libs/gst/dataprotocol/dataprotocol.h: API: make gst_dp_crc() public 2006-06-02 09:13:56 +0000 Thomas Vander Stichele * gst/gstevent.c: debug change Original commit message from CVS: debug change 2006-06-01 18:30:19 +0000 Stefan Kost plugins/indexers/gstindexers.c: conditionally register fileindexer (fixes #343598) Original commit message from CVS: * plugins/indexers/gstindexers.c: (plugin_init): conditionally register fileindexer (fixes #343598) 2006-06-01 18:22:14 +0000 Stefan Kost gst/gsttagsetter.h: Can't cast ifaces to a class Original commit message from CVS: * gst/gsttagsetter.h: Can't cast ifaces to a class * libs/gst/net/gstnetclientclock.h: * libs/gst/net/gstnettimeprovider.h: * plugins/elements/gstfakesink.h: * plugins/elements/gstfakesrc.h: * plugins/elements/gstfdsink.h: * plugins/elements/gstfdsrc.h: * plugins/elements/gstfilesink.h: * plugins/elements/gstfilesrc.h: * plugins/elements/gstidentity.h: * plugins/elements/gstqueue.h: * plugins/elements/gsttee.h: * plugins/indexers/gstfileindex.c: * plugins/indexers/gstmemindex.c: * tests/old/examples/plugins/example.h: Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass 2006-06-01 11:13:44 +0000 Thomas Vander Stichele libs/gst/dataprotocol/dataprotocol.c: make sure we zero the whole ABI-compatible area Original commit message from CVS: * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_header_from_buffer): make sure we zero the whole ABI-compatible area 2006-06-01 09:02:23 +0000 Alessandro Decina libs/gst/base/gstcollectpads.c: Make sure the EOS flag is cleared from pads after a flush or stop. Fixes #343538. Original commit message from CVS: Patch by: Alessandro Decina * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop): Make sure the EOS flag is cleared from pads after a flush or stop. Fixes #343538. * tests/check/libs/collectpads.c: (GST_START_TEST), (gst_collect_pads_suite): Added test for collectpads reusage after EOS. 2006-05-30 20:25:03 +0000 Sébastien Moutte gst/gst.c: set #include in a #ifdef #ifdef HAVE_FORK Original commit message from CVS: * gst/gst.c: set #include in a #ifdef #ifdef HAVE_FORK * win32/common/libgstbase.def: export gst_collect_pads_set_flushing * win32/common/libgstreamer.def: export gst_pad_set_acceptcaps_function, gst_structure_empty_new, gst_value_fraction_multiply * win32/vs6/gst_inspect.dsp: add a link to intl.lib 2006-05-30 15:55:19 +0000 Wim Taymans libs/gst/base/gstcollectpads.c: Handle the case where a pad is removed from the collection that could cause the other... Original commit message from CVS: * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad), (gst_collect_pads_chain): Handle the case where a pad is removed from the collection that could cause the other pads to become collectable. 2006-05-30 15:53:40 +0000 Wim Taymans gst/gstelement.c: Clarify the use of _release_request_pad() and _get_request_pad() a bit better. Original commit message from CVS: * gst/gstelement.c: Clarify the use of _release_request_pad() and _get_request_pad() a bit better. * libs/gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_take_buffer): Fix some doc and comment typos. 2006-05-30 14:43:35 +0000 Thomas Vander Stichele docs/: add declared symbols Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * docs/libs/gstreamer-libs-sections.txt: add declared symbols 2006-05-30 14:41:15 +0000 Thomas Vander Stichele * po/af.po: * po/az.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/de.po: * po/en_GB.po: * po/fr.po: * po/it.po: * po/nb.po: * po/nl.po: * po/ru.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: update po files Original commit message from CVS: update po files 2006-05-30 14:40:48 +0000 Thomas Vander Stichele * tests/check/Makefile.am: fix build Original commit message from CVS: fix build 2006-05-30 14:03:58 +0000 Thomas Vander Stichele * win32/common/config.h: added HAVE_FORK Original commit message from CVS: added HAVE_FORK 2006-05-30 12:04:29 +0000 Jan Schmidt gst/gstsystemclock.c: Add debug that can be enabled using a #define at the top of the file, for dumping stats about h... Original commit message from CVS: * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked): Add debug that can be enabled using a #define at the top of the file, for dumping stats about how late/early we were when waking up from waiting on the clock. 2006-05-30 11:43:43 +0000 Wim Taymans libs/gst/base/gstcollectpads.c: When rebuilding the pad list, don't leak the previous list. Original commit message from CVS: * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads): When rebuilding the pad list, don't leak the previous list. 2006-05-30 10:57:44 +0000 Lutz Mueller libs/gst/base/gstbasesrc.c: Publish supported query types. Original commit message from CVS: Patch by: Lutz Mueller * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init), (gst_base_src_get_query_types), (gst_base_src_update_length): Publish supported query types. Update last_stop field in get_range mode so the position query works. Fixes #342321. 2006-05-30 10:12:02 +0000 Tim-Philipp Müller API: add GST_TAG_PREVIEW_IMAGE (#343341). Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gsttaglist.c: (_gst_tag_initialize): * gst/gsttaglist.h: API: add GST_TAG_PREVIEW_IMAGE (#343341). 2006-05-30 09:42:09 +0000 Alessandro Decina libs/gst/base/gstcollectpads.c: Unlock mutex when removing an unknown pad. Original commit message from CVS: Patch by: Alessandro Decina * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad): Unlock mutex when removing an unknown pad. Fixes #343334. * tests/check/Makefile.am: * tests/check/libs/collectpads.c: (collected_cb), (push_buffer), (push_event), (setup), (teardown), (GST_START_TEST), (gst_collect_pads_suite), (main): Added collecpads check, disabled for now as check crashes for some reason. 2006-05-29 17:20:03 +0000 Wim Taymans libs/gst/base/gstcollectpads.c: Don't leak pads lists. Original commit message from CVS: * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize): Don't leak pads lists. 2006-05-29 16:00:13 +0000 Wim Taymans API: gst_collect_pads_set_flushing Original commit message from CVS: * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstcollectpads.c: (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_set_flushing), (gst_collect_pads_start), (gst_collect_pads_stop): * libs/gst/base/gstcollectpads.h: API: gst_collect_pads_set_flushing Added api to set the pads to flushing, usefull for seeking code in elements using collectpads. Clear segment when receiving a flush. 2006-05-29 11:52:50 +0000 Tim-Philipp Müller gst/gst.c: Don't scan registry paths passed via --gst-plugin--path immediately (will crash, because absolutely nothin... Original commit message from CVS: * gst/gst.c: (add_path_func), (init_post): Don't scan registry paths passed via --gst-plugin--path immediately (will crash, because absolutely nothing is set up and no types are registered etc.); do this later in init_post(). Fixes #343057. 2006-05-28 09:09:03 +0000 Thomas Vander Stichele gst/gst.c: if we have fork, fork while reading/rebuilding the registry so the parent doesn't take the hit of having a... Original commit message from CVS: * gst/gst.c: (init_post): if we have fork, fork while reading/rebuilding the registry so the parent doesn't take the hit of having all plugins loaded in memory. Fixes #342777. * configure.ac: Check if we have fork() * win32/common/config.h.in: no fork() on win32 2006-05-26 13:52:03 +0000 Jan Schmidt plugins/elements/: Add a use-mmap property to enable easier testing of all code paths. Original commit message from CVS: * plugins/elements/gstelements.c: * plugins/elements/gstfilesrc.c: (gst_file_src_class_init), (gst_file_src_init), (gst_file_src_set_property), (gst_file_src_get_property), (gst_file_src_start): * plugins/elements/gstfilesrc.h: Add a use-mmap property to enable easier testing of all code paths. Bump rank to PRIMARY, so filesrc is the preferred file reader and used in the absence of gnomevfssrc. (Closes #340501) 2006-05-26 10:35:34 +0000 Zaheer Abbas Merali tools/gst-inspect.c: Add missing include, removes warning of ngettext not being defined on some arches. Original commit message from CVS: 2006-05-26 Zaheer Abbas Merali * tools/gst-inspect.c: Add missing include, removes warning of ngettext not being defined on some arches. 2006-05-26 09:19:24 +0000 Jan Schmidt gst/gstvalue.c: Handle NULL input and output pointers silently as a failed conversion, rather than g_warnings. Original commit message from CVS: * gst/gstvalue.c: (gst_value_deserialize_fraction): Handle NULL input and output pointers silently as a failed conversion, rather than g_warnings. 2006-05-25 15:52:19 +0000 Wim Taymans libs/gst/net/gstnetclientclock.c: Initialize variable before using. Fixes #342820. Original commit message from CVS: * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start): Initialize variable before using. Fixes #342820. 2006-05-24 17:11:06 +0000 Tim-Philipp Müller libs/gst/base/gsttypefindhelper.c: Fix off-by-one bug that would only allow peeks of N-1 bytes from the start even if... Original commit message from CVS: * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek): Fix off-by-one bug that would only allow peeks of N-1 bytes from the start even if the buffer to typefind on contains in fact N bytes of data (makes vorbis typefinding from a vorbis identification header buffer work). * tests/check/Makefile.am: * tests/check/libs/.cvsignore: * tests/check/libs/typefindhelper.c: (GST_START_TEST), (gst_typefindhelper_suite), (main), (foobar_typefind), (plugin_init): Add very basic unit test for gst_type_find_helper_for_buffer() that checks for the problem fixed above. 2006-05-24 09:00:47 +0000 Thomas Vander Stichele * gst/gsttypefind.c: doc indent fix Original commit message from CVS: doc indent fix 2006-05-24 09:00:10 +0000 Thomas Vander Stichele * ChangeLog: * tools/gst-inspect.c: mark more strings for translation Original commit message from CVS: mark more strings for translation 2006-05-23 14:23:49 +0000 Julien Moutte docs/gst/gstreamer-sections.txt: Make new GST_FLOW_IS_SUCCESS macro visible in docs. Original commit message from CVS: Patch by: Julien Moutte * docs/gst/gstreamer-sections.txt: Make new GST_FLOW_IS_SUCCESS macro visible in docs. * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init), (gst_fake_sink_preroll): * plugins/elements/gstfakesink.h: Add new ::preroll-handoff signal (#337100). 2006-05-23 11:13:51 +0000 Wim Taymans gst/gstpad.*: Added _CUSTOM error and success GstFlowReturn that can be used be elements internally. Original commit message from CVS: * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark): * gst/gstpad.h: Added _CUSTOM error and success GstFlowReturn that can be used be elements internally. Added macro to check for SUCCESS flowreturns. API: GST_FLOW_CUSTOM_SUCCESS API: GST_FLOW_CUSTOM_ERROR API: GST_FLOW_IS_SUCCESS * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite): Added check for GstFlowReturn sanity. 2006-05-23 09:40:14 +0000 Mark Nauwelaerts libs/gst/base/gstcollectpads.c: clear/reset segment info in FLUSH_STOP. Original commit message from CVS: Patch by: Mark Nauwelaerts * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad), (gst_collect_pads_event): clear/reset segment info in FLUSH_STOP. Fixes #336929. 2006-05-22 16:30:34 +0000 Stefan Kost libs/gst/base/gstcollectpads.c: Flush queued buffer on _stop(), fixes playing again (#342454) Original commit message from CVS: * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop), (gst_collect_pads_check_collected): Flush queued buffer on _stop(), fixes playing again (#342454) 2006-05-22 13:34:03 +0000 Thomas Vander Stichele tests/check/gst/gststructure.c: add a test for a complete structure Original commit message from CVS: * tests/check/gst/gststructure.c: (GST_START_TEST), (gst_structure_suite): add a test for a complete structure 2006-05-22 13:31:48 +0000 Thomas Vander Stichele * libs/gst/check/gstcheck.c: debugging changes Original commit message from CVS: debugging changes 2006-05-19 15:35:41 +0000 Tim-Philipp Müller docs/faq/: Some minor FAQ updates that won't change the fact that our FAQ is badly structured, full of information ha... Original commit message from CVS: * docs/faq/developing.xml: * docs/faq/faq.xml: * docs/faq/troubleshooting.xml: * docs/faq/using.xml: Some minor FAQ updates that won't change the fact that our FAQ is badly structured, full of information hardly anyone new to GStreamer needs to know and lacking lots of information people constantly ask for. 2006-05-19 13:46:10 +0000 Jan Schmidt gst/gstpad.c: Short-circuit gst_pad_set_caps if setting the existing caps pointer again, and avoid printing debug and... Original commit message from CVS: * gst/gstpad.c: (gst_pad_set_caps): Short-circuit gst_pad_set_caps if setting the existing caps pointer again, and avoid printing debug and reffing/unreffing the caps. * plugins/elements/gstqueue.c: (gst_queue_push_one): There's actually no need to set the caps before pushing - the acceptcaps method will handle it anyway. 2006-05-19 10:29:07 +0000 Tim-Philipp Müller API: add gst_element_seek_simple() (#342238). Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * win32/common/libgstreamer.def: * gst/gstutils.c: (gst_element_seek_simple): * gst/gstutils.h: API: add gst_element_seek_simple() (#342238). 2006-05-18 14:25:00 +0000 Edward Hervey gst/gsttypefind.*: Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets registered for GstTypeFind p... Original commit message from CVS: * gst/gsttypefind.c: (gst_type_find_get_type): * gst/gsttypefind.h: Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets registered for GstTypeFind pointers. This allows wrapping the structure in bindings (i.e. gst-python). 2006-05-18 14:01:03 +0000 Tim-Philipp Müller gst/gsttagsetter.c: Docs additions and fixes (see #339918). Original commit message from CVS: * gst/gsttagsetter.c: Docs additions and fixes (see #339918). 2006-05-18 09:07:55 +0000 Jan Schmidt plugins/elements/gstcapsfilter.c: The caps intersection algorithm can produce multiple copies of the caps. Until that... Original commit message from CVS: * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf): The caps intersection algorithm can produce multiple copies of the caps. Until that is fixed, we need to simplify the result to be sure whether the allowed caps are fixed or not. * plugins/elements/gstqueue.c: (gst_queue_init), (gst_queue_bufferalloc), (gst_queue_acceptcaps), (gst_queue_push_one): Proxied buffer alloc should not set the caps on the source pad. When pushing buffers, we always accept the caps change that triggers. This prevents negotiation errors caused by caps changing mid-stream and then being refused on our source pad (because upstream is now refusing those caps). 2006-05-18 08:48:21 +0000 Tim-Philipp Müller tests/examples/helloworld/helloworld.c: Must plug audioconvert and audioresample between decoder and audio sink. Original commit message from CVS: * tests/examples/helloworld/helloworld.c: (main): Must plug audioconvert and audioresample between decoder and audio sink. 2006-05-17 14:18:12 +0000 Jan Schmidt * ChangeLog: Mention bug fixed by previous commit Original commit message from CVS: Mention bug fixed by previous commit 2006-05-17 14:01:33 +0000 Jan Schmidt gst/gstregistryxml.c: Allow empty strings for some of the plugin fields so we don't drop valid plugin entries that we... Original commit message from CVS: * gst/gstregistryxml.c: (read_string), (load_pad_template), (load_feature), (load_plugin): Allow empty strings for some of the plugin fields so we don't drop valid plugin entries that were written out correctly. 2006-05-17 13:40:20 +0000 Sébastien Moutte gst/gstregistryxml.c: Use g_remove and g_rename instead of remove and rename that don't handle utf8 characters. renam... Original commit message from CVS: * gst/gstregistryxml.c: (gst_registry_xml_write_cache): Use g_remove and g_rename instead of remove and rename that don't handle utf8 characters. rename was failing for users who had specific characters in their name then the registry was built at each gstreamer init. * win32/vs6/gst_inspect.dsp: * win32/vs6/gst_launch.dsp: * win32/vs6/libgstbase.dsp: * win32/vs6/libgstcoreelements.dsp: * win32/vs6/libgstreamer.dsp: Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG build of libgstreamer and clean unused libraries in project links settings. 2006-05-17 09:24:34 +0000 Edward Hervey plugins/elements/gstqueue.c: The queue is not responsible for pushing an EOS when receiving a fatal flow error. It's ... Original commit message from CVS: * plugins/elements/gstqueue.c: (gst_queue_push_one): The queue is not responsible for pushing an EOS when receiving a fatal flow error. It's up to the real element driving the pipeline to do that. 2006-05-16 17:15:02 +0000 Edward Hervey plugins/elements/gstqueue.c: The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a buffer returned a fa... Original commit message from CVS: * plugins/elements/gstqueue.c: (gst_queue_push_one): The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a buffer returned a fatal error. It should just send an EOS and stop it's task. Upstream elements will then properly receive the GST_FLOW_UNEXPECTED when pushing buffers on the queue and will be able to handle the event. 2006-05-16 16:10:38 +0000 Tim-Philipp Müller docs/manual/: Fix typos and minor errors in sample code (#341856). Original commit message from CVS: * docs/manual/basics-bins.xml: * docs/manual/basics-init.xml: Fix typos and minor errors in sample code (#341856). 2006-05-16 13:31:32 +0000 Wim Taymans docs/design/part-qos.txt: Fix indexes in formulas to make more sense. Original commit message from CVS: * docs/design/part-qos.txt: Fix indexes in formulas to make more sense. 2006-05-15 11:54:22 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Don't report POSITION based on clock time if sync is disabled in a sink. Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position): Don't report POSITION based on clock time if sync is disabled in a sink. 2006-05-15 08:16:09 +0000 Tim-Philipp Müller gst/gstobject.h: Add cast to make compiler happy - refcount variable was a gint in GstObject but is a guint in GObjec... Original commit message from CVS: * gst/gstobject.h: Add cast to make compiler happy - refcount variable was a gint in GstObject but is a guint in GObject and g_atomic_int_get() wants a gint *. 2006-05-14 23:23:56 +0000 Thomas Vander Stichele * ChangeLog: * gst/parse/Makefile.am: fix parallel make Original commit message from CVS: fix parallel make 2006-05-14 21:18:23 +0000 Thomas Vander Stichele * win32/common/config.h: update config.h Original commit message from CVS: update config.h 2006-05-14 21:16:58 +0000 Thomas Vander Stichele * gst/gstpad.h: whitespace fixes Original commit message from CVS: whitespace fixes 2006-05-14 21:16:50 +0000 Thomas Vander Stichele * docs/random/streamheader: some streamheader updates Original commit message from CVS: some streamheader updates 2006-05-14 19:25:51 +0000 Tim-Philipp Müller Minor docs fixes. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstevent.c: * gst/gstevent.h: * gst/gstmessage.h: Minor docs fixes. 2006-05-14 16:03:20 +0000 Jan Schmidt * common: * configure.ac: Back to CVS Original commit message from CVS: Back to CVS === release 0.10.6 === 2006-05-14 15:20:24 +0000 Jan Schmidt configure.ac: releasing 0.10.6, "Take the cannoli" Original commit message from CVS: 2006-05-14 Jan Schmidt * configure.ac: releasing 0.10.6, "Take the cannoli" 2006-05-14 15:18:02 +0000 Jan Schmidt * po/af.po: * po/az.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/de.po: * po/en_GB.po: * po/fr.po: * po/it.po: * po/nb.po: * po/nl.po: * po/ru.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files Original commit message from CVS: Update .po files 2006-05-13 17:50:11 +0000 Tim-Philipp Müller tools/gst-launch.c: Fix use of uninitialized variable in the hypothetical case that some broken plugin creates a GST_... Original commit message from CVS: * tools/gst-launch.c: (print_tag): Fix use of uninitialized variable in the hypothetical case that some broken plugin creates a GST_TAG_IMAGE tag containing a NULL buffer (#341667). 2006-05-12 16:50:37 +0000 Tim-Philipp Müller tools/gst-launch.c: Print something more intelligible for image tags when using the -t switch (#341556). Original commit message from CVS: * tools/gst-launch.c: (print_tag): Print something more intelligible for image tags when using the -t switch (#341556). 2006-05-12 14:53:49 +0000 Thomas Vander Stichele Makefile.am: updates for win32 Original commit message from CVS: * Makefile.am: updates for win32 * configure.ac: define GST_MAJORMINOR so we have it available in win32/common/config.h Possibly remove it from our Makefile.am files later * win32/common/config.h: * win32/common/config.h.in: added GST_MAJORMINOR * win32/common/gstenumtypes.c: (register_gst_resource_error): * win32/common/gstversion.h: updated 2006-05-12 13:42:54 +0000 Thomas Vander Stichele * docs/random/streamheader: adding notes about current implementation and ideas about streamheader Original commit message from CVS: adding notes about current implementation and ideas about streamheader 2006-05-12 10:50:42 +0000 Sébastien Moutte win32/MANIFEST: Update win32 files listing. Original commit message from CVS: * win32/MANIFEST: Update win32 files listing. * win32/common/gstversion.h: Add GST_MAJORMINOR definition. * win32/common/libgstreamer.def: Add new exported functions. 2006-05-12 09:28:22 +0000 Michael Smith gst/gstplugin.c: If an so file has no plugin entry point, unload the module. Original commit message from CVS: * gst/gstplugin.c: (gst_plugin_load_file): If an so file has no plugin entry point, unload the module. 2006-05-11 19:07:48 +0000 Wim Taymans plugins/elements/gstqueue.c: Don't forget to signal the _chain or _loop function when the queue size or thresholds ch... Original commit message from CVS: * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop), (gst_queue_set_property): Don't forget to signal the _chain or _loop function when the queue size or thresholds change since that might cause them to make progres again. 2006-05-11 18:10:34 +0000 Stefan Kost G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core Original commit message from CVS: * gst/gstclock.c: (gst_clock_class_init): * gst/gstindex.c: (gst_index_class_init): * gst/gstobject.c: (gst_object_class_init): * gst/gstpad.c: (gst_pad_class_init): * gst/gstpipeline.c: (gst_pipeline_class_init): * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init): * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init): * libs/gst/base/gstbasetransform.c: (gst_base_transform_class_init): * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init): * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_class_init): * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init): * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init): * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init): * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init): * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init): * plugins/elements/gstfilesink.c: (gst_file_sink_class_init): * plugins/elements/gstfilesrc.c: (gst_file_src_class_init): * plugins/elements/gstidentity.c: (gst_identity_class_init): * plugins/elements/gsttee.c: (gst_tee_class_init): * tests/old/examples/plugins/example.c: (gst_example_class_init): * tests/old/testsuite/threads/signals.c: (gst_test_class_init): G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core 2006-05-11 10:35:14 +0000 Wim Taymans gst/gstbuffer.c: Register subbufer along with the buffer type so that it does not accidentally gets registered from N... Original commit message from CVS: * gst/gstbuffer.c: (_gst_buffer_initialize): Register subbufer along with the buffer type so that it does not accidentally gets registered from N different streaming threads in a non threadsafe way. 2006-05-10 16:44:15 +0000 Tim-Philipp Müller gst/: Make gtk-doc generate docs for our inlined gst_buffer_ref(), gst_event_ref() and gst_message_ref() functions ag... Original commit message from CVS: * gst/gstbuffer.h: * gst/gstevent.h: * gst/gstmessage.h: Make gtk-doc generate docs for our inlined gst_buffer_ref(), gst_event_ref() and gst_message_ref() functions again (ugly hack, please do fix if there's a better way besides overrides.txt, which doesn't seem to work). 2006-05-10 15:49:30 +0000 Thomas Vander Stichele libs/gst/check/gstcheck.h: add an assert for setting state to avoid lots of repetitive code in the future Original commit message from CVS: 2006-05-10 Thomas Vander Stichele * libs/gst/check/gstcheck.h: add an assert for setting state to avoid lots of repetitive code in the future 2006-05-10 15:38:53 +0000 Thomas Vander Stichele gst/gstvalue.c: fix a leak if no flags are set Original commit message from CVS: * gst/gstvalue.c: (gst_value_serialize_flags): fix a leak if no flags are set * tests/check/gst/gstvalue.c: (GST_START_TEST): fix leak in tests 2006-05-10 15:00:32 +0000 Tim-Philipp Müller docs/manual/basics-pads.xml: Expand a bit on caps and filtered links and update examples that were still using the no... Original commit message from CVS: * docs/manual/basics-pads.xml: Expand a bit on caps and filtered links and update examples that were still using the no longer existing gst_pad_link_filtered() (#338206). 2006-05-10 14:51:33 +0000 Wim Taymans libs/gst/base/gstcollectpads.*: No need to call _stop in _finalize. Original commit message from CVS: * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize), (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing), (gst_collect_pads_start), (gst_collect_pads_stop): * libs/gst/base/gstcollectpads.h: No need to call _stop in _finalize. Iterate the main pad list in _finalize. Added some more debug. Free lists and data in the right order. Also free data whem doing _remove_pad when stopped for backward compatibility protect ::started with PAD_LOCK as well. 2006-05-10 14:12:14 +0000 Thomas Vander Stichele gst/gststructure.c: add some comments rename a method so that it actually says what it does better Original commit message from CVS: * gst/gststructure.c: (gst_structure_gtype_from_abbr), (gst_structure_parse_value): add some comments rename a method so that it actually says what it does better 2006-05-10 14:05:46 +0000 Thomas Vander Stichele gst/: make sure some essential types used by events are registered as part of gst_init() Original commit message from CVS: * gst/gstevent.c: (_gst_event_initialize): * gst/gstformat.c: (_gst_format_initialize): make sure some essential types used by events are registered as part of gst_init() * gst/gstvalue.c: (gst_value_serialize_flags): if no flags are set, serialize them to a value that represents NONE so that deserializing them works * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite): add tests for serialization and deserialization of flags 2006-05-10 13:53:48 +0000 Thomas Vander Stichele * docs/design/part-TODO.txt: limit to 80 chars add note about changing divider for flags Original commit message from CVS: limit to 80 chars add note about changing divider for flags 2006-05-10 11:24:55 +0000 Wim Taymans libs/gst/base/gstcollectpads.c: Update docs. Original commit message from CVS: * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect), (gst_collect_pads_collect_range), (gst_collect_pads_available), (gst_collect_pads_check_pads), (gst_collect_pads_check_collected), (gst_collect_pads_event), (gst_collect_pads_chain): Update docs. Better debug info. Catch and return errors from the collect function Refuse data on eos pads. 2006-05-10 10:26:55 +0000 Edward Hervey gst/gstinterface.h: GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal Original commit message from CVS: * gst/gstinterface.h: GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal GInterface type checking. They were previously using non-defined macros. 2006-05-09 20:47:23 +0000 Wim Taymans libs/gst/base/gstcollectpads.*: Clean up the mess that is collectpads, add comments and Original commit message from CVS: * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init), (gst_collect_pads_finalize), (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing), (gst_collect_pads_start), (gst_collect_pads_stop), (gst_collect_pads_peek), (gst_collect_pads_pop), (gst_collect_pads_available), (gst_collect_pads_read), (gst_collect_pads_flush), (gst_collect_pads_check_pads), (gst_collect_pads_is_collected), (gst_collect_pads_event), (gst_collect_pads_chain): * libs/gst/base/gstcollectpads.h: Clean up the mess that is collectpads, add comments and FIXMEs where needed. Maintain a separate pad list so we can add pads while collecting the other ones. For this we need a new separate lock (see comics). Fix memory leak in finalize. Refactor some weird code to set/unset pad flushing flags, mark with comments. Don't crash in _available, _read, _flush when we're EOS. * tests/check/libs/.cvsignore: Ignore adapter check binary. 2006-05-09 19:14:55 +0000 Thomas Vander Stichele * gst/gstevent.h: doc whitespace fixes Original commit message from CVS: doc whitespace fixes 2006-05-09 17:58:35 +0000 Tim-Philipp Müller Const-ify GEnumValue arrays. Original commit message from CVS: * gst/gstindex.c: (gst_index_resolver_get_type): * plugins/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type): * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type), (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type): * plugins/elements/gstqueue.c: (queue_leaky_get_type): Const-ify GEnumValue arrays. 2006-05-09 13:23:06 +0000 Tim-Philipp Müller tests/check/gst/gstbuffer.c: Add test case for flags + gst_buffer_make_metadata_writable(). Original commit message from CVS: * tests/check/gst/gstbuffer.c: (GST_START_TEST): Add test case for flags + gst_buffer_make_metadata_writable(). 2006-05-09 12:01:32 +0000 Tim-Philipp Müller gst/gstbuffer.c: gst_buffer_make_metadata_writable() should maintain the buffer flags (those that make sense at least... Original commit message from CVS: * gst/gstbuffer.c: (gst_buffer_make_metadata_writable): gst_buffer_make_metadata_writable() should maintain the buffer flags (those that make sense at least) (see #340859). 2006-05-09 10:53:18 +0000 Tim-Philipp Müller tools/: Fix up includes: need to include stdlib.h in tools.h for exit(). Original commit message from CVS: * tools/gst-inspect.c: * tools/gst-launch.c: * tools/gst-typefind.c: * tools/gst-xmlinspect.c: * tools/tools.h: Fix up includes: need to include stdlib.h in tools.h for exit(). 2006-05-09 10:02:51 +0000 Tim-Philipp Müller gst/gsttaglist.*: API: add GST_TAG_IMAGE tag (#340721). Original commit message from CVS: * gst/gsttaglist.c: (_gst_tag_initialize): * gst/gsttaglist.h: API: add GST_TAG_IMAGE tag (#340721). 2006-05-08 17:12:08 +0000 Wim Taymans gst/gstquery.c: Added some docs for the segment query. Original commit message from CVS: * gst/gstquery.c: Added some docs for the segment query. 2006-05-08 17:03:13 +0000 Wim Taymans libs/gst/base/gstbasesrc.c: Always push non-flushing serialized events in the streaming thread. Original commit message from CVS: * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek), (gst_base_src_loop), (gst_base_src_change_state): Always push non-flushing serialized events in the streaming thread. 2006-05-08 15:53:12 +0000 Thomas Vander Stichele * gst/gstelement.c: * gst/gstutils.c: * libs/gst/dataprotocol/dataprotocol.c: * libs/gst/dataprotocol/dataprotocol.h: whitespace, comment, doc fixup Original commit message from CVS: whitespace, comment, doc fixup 2006-05-08 15:52:28 +0000 Thomas Vander Stichele gst/gsterror.c: Add a missing error string. Original commit message from CVS: * gst/gsterror.c: (_gst_stream_errors_init): Add a missing error string. 2006-05-08 14:55:26 +0000 Jan Schmidt libs/gst/base/gstbasesink.c: Add applied_rate to the debug Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment): Add applied_rate to the debug * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek): Copy applied_rate into the outgoing NEWSEGMENT event 2006-05-08 11:49:43 +0000 Philippe Rouquier libs/gst/base/gstbasesink.c: call ::unlock before taking the PREROLL_LOCK so we can safely handle elements that lock ... Original commit message from CVS: Patch by: Philippe Rouquier * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing), (gst_base_sink_change_state): call ::unlock before taking the PREROLL_LOCK so we can safely handle elements that lock in ::render. Fixes #340174. 2006-05-08 11:43:19 +0000 Edward Hervey autogen.sh: Darwin's libtoolize is in fact called glibtoolize. Original commit message from CVS: * autogen.sh: (CONFIGURE_DEF_OPT): Darwin's libtoolize is in fact called glibtoolize. Adding glibtoolize to the list of accepted names for libtoolize. 2006-05-08 11:35:29 +0000 Wim Taymans libs/gst/base/gstbasesrc.c: Unify error handling, don't post an error message when a push() returns EOS but perform o... Original commit message from CVS: * libs/gst/base/gstbasesrc.c: (gst_base_src_loop): Unify error handling, don't post an error message when a push() returns EOS but perform our normal EOS handling code. Fixes #340772. 2006-05-08 09:52:33 +0000 Wim Taymans docs/design/part-overview.txt: Make upsteam/downstream concepts more clear. Original commit message from CVS: * docs/design/part-overview.txt: Make upsteam/downstream concepts more clear. Give an example of serialized/non-serialized events. * docs/design/part-events.txt: * docs/design/part-streams.txt: Mention applied_rate. * docs/design/part-trickmodes.txt: Mention applied rate, flesh out some more use cases. * gst/gstevent.c: (gst_event_new_new_segment), (gst_event_parse_new_segment), (gst_event_new_new_segment_full), (gst_event_parse_new_segment_full), (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_buffer_size), (gst_event_parse_buffer_size), (gst_event_new_qos), (gst_event_parse_qos), (gst_event_parse_seek), (gst_event_new_navigation): * gst/gstevent.h: Add applied_rate field to NEWSEGMENT event. API: gst_event_new_new_segment_full() API: gst_event_parse_new_segment_full() * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek), (gst_segment_set_newsegment), (gst_segment_set_newsegment_full), (gst_segment_to_stream_time), (gst_segment_to_running_time): * gst/gstsegment.h: Add applied_rate to GstSegment structure. Make calculation of stream_time and running_time more correct wrt rate/applied_rate. Add some more docs. API: GstSegment::applied_rate field API: gst_segment_set_newsegment_full(); * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment), (gst_base_sink_get_sync_times), (gst_base_sink_get_position): * libs/gst/base/gstbasetransform.c: (gst_base_transform_sink_eventfunc), (gst_base_transform_handle_buffer): Parse and use applied_rate in the GstSegment field. * tests/check/gst/gstevent.c: (GST_START_TEST): Add check for applied_rate field. * tests/check/gst/gstsegment.c: (GST_START_TEST), (gstsegments_suite): Add more checks for various GstSegment operations. 2006-05-08 09:16:01 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Store the sync time of the buffer end position separatly in a new variable eos_rtime so ... Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times), (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked), (gst_base_sink_get_position), (gst_base_sink_change_state): Store the sync time of the buffer end position separatly in a new variable eos_rtime so we can properly sync the EOS event. Fixes #340697. Fix the docs for gst_base_sink_set_qos_enabled(). Don't set segment start to invalid value when we receive a non TIME newsegment. get closer to handling position reporting for negative rates correctly. 2006-05-07 19:57:48 +0000 Stefan Kost gst/gstcaps.c: Docs about how to print caps for debug purposes. Original commit message from CVS: * gst/gstcaps.c: Docs about how to print caps for debug purposes. * gst/gstpadtemplate.c: (gst_static_pad_template_get): use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608 2006-05-06 21:45:27 +0000 Stefan Kost gst/gstelement.c: use full enum names and preprend a '%' in docs strings to make recent gtk-doc turn that into a link Original commit message from CVS: * gst/gstelement.c: use full enum names and preprend a '%' in docs strings to make recent gtk-doc turn that into a link 2006-05-05 21:44:57 +0000 Tim-Philipp Müller docs/manual/: Some typo fixes, some additions, some clarifications. Original commit message from CVS: * docs/manual/basics-bins.xml: * docs/manual/basics-bus.xml: * docs/manual/basics-pads.xml: Some typo fixes, some additions, some clarifications. 2006-05-05 17:45:41 +0000 Tim-Philipp Müller tools/: Use the string passed to g_option_context_new() for what it's intended for - the program name is already prin... Original commit message from CVS: * tools/gst-inspect.c: (main): * tools/gst-launch.c: (main): * tools/gst-run.c: (main): * tools/gst-typefind.c: (main): * tools/gst-xmlinspect.c: (main): Use the string passed to g_option_context_new() for what it's intended for - the program name is already printed elsewhere. 2006-05-05 17:07:42 +0000 Tim-Philipp Müller tools/: Add back --version command line option (#340460). Original commit message from CVS: * tools/Makefile.am: * tools/gst-inspect.c: (main): * tools/gst-launch.c: (main): * tools/gst-xmlinspect.c: (main): * tools/tools.h: Add back --version command line option (#340460). * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main): Add --version option and use GOption for argument parsing; refactor a bit; accept directories as arguments and recurse into them; lastly, print a decent error message when things go wrong. 2006-05-05 14:38:01 +0000 Maciej Katafiasz * ChangeLog: * docs/manual/basics-bins.xml: * docs/manual/basics-elements.xml: Don't mention GstThread (#340611) Original commit message from CVS: Don't mention GstThread (#340611) Update link to GObject tutorial (#340607) 2006-05-05 14:27:31 +0000 Wim Taymans gst/: Add note about refcounting and miniobject/buffer writeability to docs. Fixes #340604 Original commit message from CVS: * gst/gstbuffer.h: * gst/gstminiobject.c: Add note about refcounting and miniobject/buffer writeability to docs. Fixes #340604 * gst/gstelementfactory.h: Added some explanation about @klass. 2006-05-05 14:09:21 +0000 Maciej Katafiasz * ChangeLog: * docs/manual/intro-motivation.xml: * docs/manual/manual.xml: Avoid CORBA & Bonobo references (#340598) Original commit message from CVS: Avoid CORBA & Bonobo references (#340598) 2006-05-05 13:53:28 +0000 Maciej Katafiasz * ChangeLog: * docs/manual/basics-bus.xml: * docs/manual/basics-pads.xml: Fix up some inaccuracies and omissions in ADM (#340609) Original commit message from CVS: Fix up some inaccuracies and omissions in ADM (#340609) 2006-05-05 12:53:33 +0000 Maciej Katafiasz * ChangeLog: * gst/gstghostpad.c: Small typo in docs (#340625) Original commit message from CVS: Small typo in docs (#340625) 2006-05-05 09:01:52 +0000 Tim-Philipp Müller gst/parse/Makefile.am: Make 'make -j' proof (see #340698). Original commit message from CVS: * gst/parse/Makefile.am: Make 'make -j' proof (see #340698). 2006-05-05 08:56:32 +0000 Tim-Philipp Müller configure.ac: Require GLib-2.8 here as well. Original commit message from CVS: * configure.ac: Require GLib-2.8 here as well. 2006-05-05 08:17:22 +0000 Wim Taymans gst/: Remove pre glib2.8 compatibility, fixes #340508 Original commit message from CVS: * gst/glib-compat.c: * gst/gst.c: (init_pre): * gst/gstobject.c: (gst_object_init), (gst_object_ref), (gst_object_unref), (gst_object_replace), (gst_object_dispose), (gst_object_dispatch_properties_changed): * gst/gstobject.h: * gst/gstregistryxml.c: (gst_registry_xml_read_cache): * gst/gststructure.c: (gst_structure_set_valist): * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize): Remove pre glib2.8 compatibility, fixes #340508 2006-05-04 18:14:31 +0000 Tim-Philipp Müller gst/gsttaglist.h: Mention type of tags in doc blurbs. Original commit message from CVS: * gst/gsttaglist.h: Mention type of tags in doc blurbs. 2006-05-04 16:34:20 +0000 Jan Schmidt gst/gstpad.c: Restore acceptcaps checking behaviour now that good plugins have been released. Original commit message from CVS: * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink), (gst_pad_configure_src), (gst_pad_push): Restore acceptcaps checking behaviour now that good plugins have been released. 2006-05-04 15:20:14 +0000 James Andrewartha Make sure gstprivate.h and/or config.h are always included first, otherwise some of our defines (like _FILE_OFFSET_BI... Original commit message from CVS: Patch by: James Andrewartha * gst/gst.c: * gst/gstbus.c: * gst/gstclock.c: * gst/gstevent.c: * gst/gstformat.c: * gst/gstmessage.c: * gst/gstparse.c: * gst/gstquery.c: * gst/gstutils.c: * gst/parse/Makefile.am: * libs/gst/base/gstadapter.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstpushsrc.c: * libs/gst/base/gsttypefindhelper.c: * plugins/elements/gstfakesrc.c: * plugins/elements/gstidentity.c: Make sure gstprivate.h and/or config.h are always included first, otherwise some of our defines (like _FILE_OFFSET_BITS) might be redefined in the system headers. Fixes build on opensolaris (#340016). 2006-05-04 14:19:53 +0000 Wim Taymans docs/libs/gstreamer-libs-sections.txt: API: addition: gst_adapter_take_buffer() Original commit message from CVS: * docs/libs/gstreamer-libs-sections.txt: API: addition: gst_adapter_take_buffer() * libs/gst/base/gstadapter.c: (gst_adapter_push), (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer), (gst_adapter_available_fast): * libs/gst/base/gstadapter.h: Prepare for optimizing the hell out of this hugely inefficient piece of code. Added gst_adapter_take_buffer() so we can at least start thinking about subbuffering and merging. Added some comments. * tests/check/Makefile.am: * tests/check/libs/adapter.c: (GST_START_TEST), (gst_adapter_suite), (main): Added GstAdapter check. 2006-05-04 13:30:30 +0000 Wim Taymans docs/design/part-overview.txt: Fix some typos, add blurb about buffer flags. Original commit message from CVS: * docs/design/part-overview.txt: Fix some typos, add blurb about buffer flags. 2006-05-03 16:45:11 +0000 Thomas Vander Stichele docs/libs/gstreamer-libs-sections.txt: make sure GstBaseTransformClass shows up in the docs Original commit message from CVS: * docs/libs/gstreamer-libs-sections.txt: make sure GstBaseTransformClass shows up in the docs * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstbasetransform.h: move docs so gtk-doc picks it up now 2006-05-03 16:42:08 +0000 Thomas Vander Stichele * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesink.h: whitespace removal and width coercion Original commit message from CVS: whitespace removal and width coercion 2006-05-03 16:40:57 +0000 Thomas Vander Stichele * Makefile.am: whitespace moving Original commit message from CVS: whitespace moving 2006-05-02 17:29:07 +0000 Stefan Kost docs/libs/gstreamer-libs-sections.txt: add missing symbols to docs Original commit message from CVS: * docs/libs/gstreamer-libs-sections.txt: add missing symbols to docs 2006-05-02 17:17:22 +0000 Stefan Kost libs/gst/base/gstcollectpads.c: back out the newsegment handling change, see #340060 for ongoing discussion Original commit message from CVS: * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event): back out the newsegment handling change, see #340060 for ongoing discussion 2006-04-29 23:15:40 +0000 Tim-Philipp Müller tools/gst-run.c: Fix wrong g_file_test() usage (see glib docs for why it doesn't work); fix typo in error message. Fi... Original commit message from CVS: * tools/gst-run.c: (get_candidates), (main): Fix wrong g_file_test() usage (see glib docs for why it doesn't work); fix typo in error message. Fixes #340079. 2006-04-29 00:38:06 +0000 Thomas Vander Stichele * docs/plugins/tmpl/.gitignore: ignore more Original commit message from CVS: ignore more 2006-04-29 00:36:47 +0000 Thomas Vander Stichele move upload.mak to common Original commit message from CVS: * common/Makefile.am: * docs/Makefile.am: * docs/faq/Makefile.am: * docs/gst/Makefile.am: * docs/libs/Makefile.am: * docs/manual/Makefile.am: * docs/plugins/Makefile.am: * docs/pwg/Makefile.am: * docs/slides/Makefile.am: * docs/upload.mak: * common/upload.mak: move upload.mak to common 2006-04-29 00:35:48 +0000 Thomas Vander Stichele * docs/random/moving-plugins: add more notes on moving Original commit message from CVS: add more notes on moving 2006-04-29 00:33:44 +0000 Thomas Vander Stichele tests/check/gst/gstghostpad.c: add more asserts on refcounts do more cleanup at end of tests fix test leaks showing i... Original commit message from CVS: 2006-04-29 Thomas Vander Stichele * tests/check/gst/gstghostpad.c: (GST_START_TEST): add more asserts on refcounts do more cleanup at end of tests fix test leaks showing in FC5 2006-04-28 22:56:28 +0000 Stefan Kost plugins/elements/gsttypefindelement.c: reverted wrong change and reflowed code to avoid others falling into this trap Original commit message from CVS: * plugins/elements/gsttypefindelement.c: (gst_type_find_element_handle_event): reverted wrong change and reflowed code to avoid others falling into this trap 2006-04-28 20:55:33 +0000 Stefan Kost libs/gst/base/gstcollectpads.c: fix changelog entry about last collectpads change, add notes about proper fix Original commit message from CVS: * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event): fix changelog entry about last collectpads change, add notes about proper fix 2006-04-28 20:47:23 +0000 Stefan Kost gst/: only write out registry if it has changed, fixes #338339 Original commit message from CVS: * gst/gst.c: * gst/gstregistry.c: (gst_registry_scan_path_level), (gst_registry_scan_path): * gst/gstregistry.h: only write out registry if it has changed, fixes #338339 2006-04-28 20:44:21 +0000 Stefan Kost gst/: only write out registry if it has changed, fixes #338339 Original commit message from CVS: * gst/gst.c: * gst/gstregistry.c: (gst_registry_scan_path_level), (gst_registry_scan_path): * gst/gstregistry.h: only write out registry if it has changed, fixes #338339 2006-04-28 18:55:17 +0000 Stefan Kost make GstElementDetails const Original commit message from CVS: * gst/gstbin.c: * gst/gstpipeline.c: * plugins/elements/gstcapsfilter.c: * plugins/elements/gstfakesink.c: * plugins/elements/gstfakesrc.c: * plugins/elements/gstfdsink.c: * plugins/elements/gstfdsrc.c: * plugins/elements/gstfilesink.c: * plugins/elements/gstfilesrc.c: * plugins/elements/gstidentity.c: * plugins/elements/gstqueue.c: * plugins/elements/gsttee.c: * plugins/elements/gsttypefindelement.c: (gst_type_find_element_handle_event): make GstElementDetails const 2006-04-28 18:48:38 +0000 Stefan Kost libs/gst/base/: more detailed debug and formatting cleanup Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_event): * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init), (gst_collect_pads_is_collected), (gst_collect_pads_event): more detailed debug and formatting cleanup 2006-04-28 17:52:13 +0000 Stefan Kost gst/gstutils.c: cleanup double code Original commit message from CVS: * gst/gstutils.c: (gst_element_link_pads): cleanup double code 2006-04-28 17:33:41 +0000 Stefan Kost libs/gst/controller/gstcontroller.c: some little tuning Original commit message from CVS: * libs/gst/controller/gstcontroller.c: (gst_controller_sync_values): some little tuning * tests/check/libs/controller.c: (GST_START_TEST), (gst_controller_suite): a new test for live value handling 2006-04-28 15:51:56 +0000 Wim Taymans * ChangeLog: Give credit to Tapi Paavola for last patch Original commit message from CVS: Give credit to Tapi Paavola for last patch 2006-04-28 15:48:50 +0000 Wim Taymans gst/gstutils.c: Added some more docs. Original commit message from CVS: * gst/gstutils.c: (push_and_ref): Added some more docs. Fix refcount issue whith gst_element_found_tags() helper function. Fixes #338335 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite): Added testsuite for gst_element_found_tags(). 2006-04-28 13:51:00 +0000 Michael Smith gst/gstvalue.c: Avoid NULL dereference when trying to serialize flags containing invalid values. Original commit message from CVS: * gst/gstvalue.c: (gst_value_serialize_flags): Avoid NULL dereference when trying to serialize flags containing invalid values. 2006-04-28 13:44:20 +0000 Thomas Vander Stichele * gst/gstpad.c: small doc fix Original commit message from CVS: small doc fix 2006-04-28 13:43:03 +0000 Michael Smith plugins/elements/gsttypefindelement.c: If we get EOS before any data is accumulated, don't use uninitialised local va... Original commit message from CVS: * plugins/elements/gsttypefindelement.c: (gst_type_find_element_handle_event): If we get EOS before any data is accumulated, don't use uninitialised local variables. 2006-04-28 13:40:15 +0000 Michael Smith libs/gst/dataprotocol/dataprotocol.c: Fixes in reading/writing events over GDP (not currently used?) - dereferencing ... Original commit message from CVS: * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event), (gst_dp_event_from_packet): Fixes in reading/writing events over GDP (not currently used?) - dereferencing NULL events for unknown/invalid event types, memory leak, and change g_warning to GST_WARNING. 2006-04-28 13:25:58 +0000 Wim Taymans libs/gst/base/gstbasesink.c: When frame dropping is enabled, we should not ignore frames without a duration. Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late), (gst_base_sink_do_render_stats), (gst_base_sink_render_object), (gst_base_sink_get_position), (gst_base_sink_change_state): When frame dropping is enabled, we should not ignore frames without a duration. Update some documentation. 2006-04-28 13:18:41 +0000 Wim Taymans libs/gst/base/gstbasesrc.c: Documentation updates. Original commit message from CVS: * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek), (gst_base_src_send_event), (gst_base_src_change_state): Documentation updates. 2006-04-28 13:16:03 +0000 Wim Taymans plugins/elements/gstfdsink.c: handle EAGAIN, EINTR and short writes correctly. Also clean up some error cases, avoid ... Original commit message from CVS: * plugins/elements/gstfdsink.c: (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_update_fd): handle EAGAIN, EINTR and short writes correctly. Also clean up some error cases, avoid a deadlock on bad file descriptors and use GST_DEBUG_OBJECT. Fixes #339843 2006-04-28 13:13:23 +0000 Wim Taymans gst/gstvalue.c: Don't try to serialize a GValue with a NULL buffer. Original commit message from CVS: * gst/gstvalue.c: (gst_value_serialize_buffer), (gst_value_deserialize_buffer): Don't try to serialize a GValue with a NULL buffer. Fixes #339821. * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite): Added check for serialisation of NULL buffers. 2006-04-28 13:10:07 +0000 Wim Taymans gst/gstminiobject.c: Taking a NULL miniobject is valid, fix the case where we try to unref the NULL miniobject. Original commit message from CVS: * gst/gstminiobject.c: (gst_value_take_mini_object): Taking a NULL miniobject is valid, fix the case where we try to unref the NULL miniobject. 2006-04-28 13:05:19 +0000 Thomas Vander Stichele * win32/common/config.h: update win32 config.h Original commit message from CVS: update win32 config.h 2006-04-28 13:04:07 +0000 Stefan Kost gst/gstbin.c: Update docs. Original commit message from CVS: Patch by: Stefan Kost * gst/gstbin.c: (gst_bin_handle_message_func): Update docs. Don't leak bin refcount when a state recalc is in progress and we delay another one #339808. 2006-04-28 12:58:15 +0000 Wim Taymans docs/design/part-TODO.txt: Mention QoS as an ongoing work item. Original commit message from CVS: * docs/design/part-TODO.txt: Mention QoS as an ongoing work item. * docs/design/part-buffering.txt: New doc about buffering that needs to be fleshed out at some point. * docs/design/part-qos.txt: More QoS policy for decoders/demuxers/transforms * docs/design/part-trickmodes.txt: Small update. 2006-04-28 10:56:04 +0000 Thomas Vander Stichele * ChangeLog: * configure.ac: back to HEAD Original commit message from CVS: back to HEAD === release 0.10.5 === 2006-04-28 10:53:33 +0000 Thomas Vander Stichele * ChangeLog: * NEWS: * RELEASE: * configure.ac: * win32/common/config.h: releasing 0.10.5 Original commit message from CVS: releasing 0.10.5 2006-04-28 09:48:09 +0000 Thomas Vander Stichele * docs/plugins/gstreamer-plugins.signals: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * docs/upload.mak: fix upload.mak; should move to common Original commit message from CVS: fix upload.mak; should move to common 2006-04-28 09:20:26 +0000 Thomas Vander Stichele * win32/MANIFEST: adding missing dsp files Original commit message from CVS: adding missing dsp files 2006-04-26 13:54:48 +0000 Thomas Vander Stichele * configure.ac: * win32/common/config.h: prerelease Original commit message from CVS: prerelease 2006-04-22 21:34:23 +0000 Wim Taymans gst/: Fix internal data flow errors. Fixes #338711. Original commit message from CVS: patch by: Wim Taymans * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink), (gst_pad_configure_src), (gst_pad_push): * gst/gstpipeline.c: (gst_pipeline_init): Fix internal data flow errors. Fixes #338711. 2006-04-12 11:58:43 +0000 Wim Taymans tests/check/gst/gstelement.c: Don't leak the factory. Original commit message from CVS: * tests/check/gst/gstelement.c: (GST_START_TEST): Don't leak the factory. 2006-04-12 11:06:44 +0000 Thomas Vander Stichele * po/bg.po: * po/cs.po: * po/de.po: * po/en_GB.po: * po/fr.po: * po/it.po: * po/nl.po: * po/ru.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_TW.po: updated translations Original commit message from CVS: updated translations 2006-04-12 11:04:36 +0000 Thomas Vander Stichele * configure.ac: * po/af.po: * po/az.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/de.po: * po/en_GB.po: * po/fr.po: * po/it.po: * po/nb.po: * po/nl.po: * po/ru.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: update libtool versioning Original commit message from CVS: update libtool versioning 2006-04-12 10:57:26 +0000 Thomas Vander Stichele * ChangeLog: * configure.ac: * win32/common/config.h: prerelease Original commit message from CVS: prerelease 2006-04-12 10:28:53 +0000 Tim-Philipp Müller libs/gst/controller/gstcontroller.c: Free allocated GstTimedValues when freeing list nodes. Original commit message from CVS: * libs/gst/controller/gstcontroller.c: (gst_controller_unset), (gst_controller_unset_all): Free allocated GstTimedValues when freeing list nodes. Should fix leaks 'make check-valgrind' complains about. * win32/common/libgstcontroller.def: Add gst_controller_unset_all. 2006-04-12 10:15:12 +0000 Thomas Vander Stichele * ChangeLog: fix ChangeLog Original commit message from CVS: fix ChangeLog 2006-04-11 21:07:26 +0000 Stefan Kost Added new method _unset_all() and fixed _unset() Original commit message from CVS: * docs/libs/gstreamer-libs-sections.txt: * libs/gst/controller/gstcontroller.c: (gst_controller_unset), (gst_controller_unset_all): * libs/gst/controller/gstcontroller.h: Added new method _unset_all() and fixed _unset() * tests/check/libs/controller.c: (GST_START_TEST), (gst_controller_suite): Added two testcases for new and fixed method 2006-04-11 18:43:04 +0000 Tim-Philipp Müller libs/gst/net/gstnettimepacket.c: MSG_DONTWAIT is not defined on Cygwin, so work around that (fixes #317048). Original commit message from CVS: * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send): MSG_DONTWAIT is not defined on Cygwin, so work around that (fixes #317048). 2006-04-11 14:48:34 +0000 Christian Schaller * gstreamer.spec.in: fix versioning macro Original commit message from CVS: fix versioning macro 2006-04-11 11:47:39 +0000 Wim Taymans gst/gstelementfactory.c: Some cleanups. Original commit message from CVS: * gst/gstelementfactory.c: (gst_element_register), (gst_element_factory_create), (gst_element_factory_make): Some cleanups. Fixed a FIXME. Updated docs (Fixes #131079) * gst/gstpluginfeature.c: (gst_plugin_feature_load): Small cleanups. * tests/check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite): Added testcase for elementfactory class field. 2006-04-10 10:46:44 +0000 Wim Taymans gst/gstsegment.c: Added some more docs. Original commit message from CVS: * gst/gstsegment.c: Added some more docs. * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos), (gst_base_sink_reset_qos): Calculate more accurate rate values. 2006-04-09 16:57:34 +0000 Sébastien Moutte gst/gst_private.h: add a new #ifdef to use __declspec(dllimport) only for other modules and not for gstreamer core Original commit message from CVS: * gst/gst_private.h: add a new #ifdef to use __declspec(dllimport) only for other modules and not for gstreamer core * gst/gstbasesink.c: (gst_base_sink_perform_qos): use gst_guint64_to_gdouble for conversion * win32/common/libgstreamer.def: add new exported functions * win32/vs6/gst_inspect.dsp: * win32/vs6/gst_launch.dsp: * win32/vs6/libgstbase.dsp: * win32/vs6/libgstcontroller.dsp: * win32/vs6/libgstcoreelements.dsp: * win32/vs6/libgstdataprotocol.dsp: * win32/vs6/libgstnet.dsp: update project files 2006-04-08 20:57:31 +0000 Stefan Kost Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent) Original commit message from CVS: * gst/gstbuffer.c: (gst_subbuffer_class_init): * gst/gstclock.c: (gst_clock_class_init): * gst/gstelement.c: (gst_element_class_init): * gst/gstindex.c: (gst_index_class_init): * gst/gstindexfactory.c: (gst_index_factory_class_init): * gst/gstobject.c: (gst_object_class_init), (gst_signal_object_class_init): * gst/gstpad.c: (gst_pad_class_init): * gst/gstpadtemplate.c: (gst_pad_template_class_init): * gst/gstpluginfeature.c: (gst_plugin_feature_class_init): * gst/gstregistry.c: (gst_registry_class_init): * gst/gstsystemclock.c: (gst_system_clock_class_init): * gst/gsttask.c: (gst_task_class_init): * gst/gstxml.c: (gst_xml_class_init): * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init): * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init), (gst_base_src_loop): * libs/gst/controller/gstcontroller.c: (_gst_controller_class_init): * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init): * plugins/indexers/gstfileindex.c: (gst_file_index_class_init): * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init): * tests/old/examples/plugins/example.c: (gst_example_class_init): * tests/old/testsuite/threads/signals.c: (gst_test_class_init): Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent) 2006-04-08 18:11:56 +0000 Tim-Philipp Müller gst/gstpad.c: Must set peer pads before calling the link function, otherwise a task started from a link function migh... Original commit message from CVS: * gst/gstpad.c: (gst_pad_link): Must set peer pads before calling the link function, otherwise a task started from a link function might get a flow-not-linked result when trying to push because the other thread where the linking happens hasn't had a chance to set the peers yet. This might happen for example when a queue gets linked to a downstream element, as queue starts a streaming task when its source pad gets linked. Happens in real life when playing back flac/musepack files in playbin (#332390). 2006-04-08 18:05:16 +0000 Stefan Kost Fix broken GObject macros Original commit message from CVS: * gst/gstindex.h: * gst/gstxml.h: * libs/gst/base/gstadapter.h: * libs/gst/base/gstbasesink.h: * libs/gst/base/gstbasesrc.h: * libs/gst/base/gstbasetransform.h: * libs/gst/base/gstcollectpads.h: * libs/gst/base/gstpushsrc.h: Fix broken GObject macros 2006-04-07 15:19:08 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Initialize start and stop times, thanks valgrind. Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times): Initialize start and stop times, thanks valgrind. 2006-04-07 14:50:06 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Be a bit nicer to badly behaving upstream elements that expect us to deal with non TIME ... Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times): Be a bit nicer to badly behaving upstream elements that expect us to deal with non TIME segments and timestamps (such as fakesrc in the testsuite). 2006-04-07 14:02:12 +0000 Wim Taymans gst/gstbus.c: Small documentation clarification about the signal watch. Original commit message from CVS: * gst/gstbus.c: Small documentation clarification about the signal watch. * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock), (gst_base_sink_do_sync), (gst_base_sink_perform_qos), (gst_base_sink_reset_qos), (gst_base_sink_do_render_stats), (gst_base_sink_render_object), (gst_base_sink_get_position_last), (gst_base_sink_get_position_paused), (gst_base_sink_change_state): Convert and store timestamps in stream time and running time, the raw timestamps are not usefull, also document this better. Use different window sizes for good and bad QoS observations so we react to badness a little quicker. Keep track of the amount of rendered and dropped buffers. Send QoS timestamps in running time. * libs/gst/base/gstbasetransform.c: (gst_base_transform_sink_eventfunc), (gst_base_transform_handle_buffer): Compare QoS timestamps against running time. 2006-04-06 17:36:27 +0000 Thomas Vander Stichele * docs/faq/gst-uninstalled: add gnonlin Original commit message from CVS: add gnonlin 2006-04-06 15:46:04 +0000 Tim-Philipp Müller gst/gstpad.c: Typo fixes in docs. Original commit message from CVS: * gst/gstpad.c: Typo fixes in docs. 2006-04-06 15:07:12 +0000 Michael Smith gst/gstpad.c: Use g_value_get_object() instead of g_value_dup_gst_object(), to avoid double-reffing the pad template ... Original commit message from CVS: * gst/gstpad.c: (gst_pad_set_property): Use g_value_get_object() instead of g_value_dup_gst_object(), to avoid double-reffing the pad template (which we then sink, so this worked previously if (and only if) the pad template was floating. * gst/gstpadtemplate.c: (gst_pad_template_init), (gst_pad_template_pad_created): Never return floating references to pad templates, create them as initially-sunken. Document an extra function (and make this stop sinking our pad template, since that is now guaranteed to do nothing, since we created it sunken). * gst/gstghostpad.c: Fix docs typo. 2006-04-06 11:27:24 +0000 Tim-Philipp Müller gst/gstinfo.c: Add some newlines. Original commit message from CVS: * gst/gstinfo.c: (__gst_in_valgrind): Add some newlines. * plugins/elements/gsttypefindelement.c: (gst_type_find_element_chain): Don't leak buffer caps. 2006-04-06 10:38:54 +0000 Michael Smith gst/parse/grammar.y: Fix a leak in parse-launch for any source-or-sink named element references used. Original commit message from CVS: * gst/parse/grammar.y: Fix a leak in parse-launch for any source-or-sink named element references used. * tests/check/pipelines/parse-launch.c: (expected_fail_pipe): Unref the pipeline if it exists after we've failed parsing. 2006-04-05 15:46:00 +0000 Michael Smith gst/gstpipeline.c: When we create a pipeline bus, initially create it in flushing mode. Original commit message from CVS: * gst/gstpipeline.c: (gst_pipeline_init): When we create a pipeline bus, initially create it in flushing mode. Fixes leaks in at least one test, and makes a new pipeline work the same as one that has gone to READY and then back to NULL. * gst/gstelement.c: Typo fix in docs. 2006-04-05 15:12:39 +0000 Michael Smith tests/check/gst/gstghostpad.c: Unref a pad we reffed. Original commit message from CVS: * tests/check/gst/gstghostpad.c: (GST_START_TEST): Unref a pad we reffed. * tests/check/gst/gstutils.c: (GST_START_TEST): Unref bins 2006-04-05 13:18:29 +0000 Michael Smith gst/gstquery.c: Fix leaking GValues in queries, as shown by valgrind/testsuite. Original commit message from CVS: * gst/gstquery.c: (gst_query_set_formats), (gst_query_set_formatsv): Fix leaking GValues in queries, as shown by valgrind/testsuite. 2006-04-05 12:11:20 +0000 Michael Smith tests/check/generic/sinks.c: Fix a variety of memleaks in sinks check, which are only sometimes shown by running the ... Original commit message from CVS: * tests/check/generic/sinks.c: (GST_START_TEST): Fix a variety of memleaks in sinks check, which are only sometimes shown by running the tests under valgrind (weird?). 2006-04-05 11:04:19 +0000 Jan Schmidt docs/version.entities.in: Fix the substituted entity name after thomas' changes on the weekend. Original commit message from CVS: * docs/version.entities.in: Fix the substituted entity name after thomas' changes on the weekend. 2006-04-05 10:31:20 +0000 Zaheer Abbas Merali gst/gstinfo.c: Use printf instead of Original commit message from CVS: 2006-04-05 Zaheer Abbas Merali * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of VALGRIND_PRINTF 2006-04-05 10:26:29 +0000 Andy Wingo gst/gstpad.c (gst_pad_set_blocked_async): More debug. libs/gst/base/gstbasetransform.c Original commit message from CVS: 2006-04-05 Andy Wingo * gst/gstpad.c (gst_pad_set_blocked_async): More debug. * libs/gst/base/gstbasetransform.c (gst_base_transform_sink_eventfunc): When resetting our segment on FLUSH_STOP, also update the flag saying we haven't seen a newsegment. 2006-04-04 18:02:07 +0000 Paolo Borelli gst/gstplugin.c: minor clean-ups: G_DEFINE_TYPE already takes care of the parent_class stuff, no need to do it twice.... Original commit message from CVS: Patch by: Paolo Borelli * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init), (gst_plugin_check_license): minor clean-ups: G_DEFINE_TYPE already takes care of the parent_class stuff, no need to do it twice. Mark array of license strings as constant. (#337103) 2006-04-04 17:54:30 +0000 Michael Smith tools/gst-inspect.c: Free the right plugin list; fixes a memory leak. Original commit message from CVS: * tools/gst-inspect.c: (print_element_list): Free the right plugin list; fixes a memory leak. 2006-04-04 15:45:36 +0000 Mark Nauwelaerts plugins/elements/gstfilesink.c: Don't error out on empty buffers (#336945). Original commit message from CVS: Patch by: Mark Nauwelaerts * plugins/elements/gstfilesink.c: (gst_file_sink_render): Don't error out on empty buffers (#336945). 2006-04-04 14:58:50 +0000 Jan Schmidt Documentation updates. Make BaseSink and BaseSrc docs contain the class structure so that people can actually see the... Original commit message from CVS: * docs/libs/gstreamer-libs-sections.txt: * gst/gsttaglist.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesink.h: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasesrc.h: Documentation updates. Make BaseSink and BaseSrc docs contain the class structure so that people can actually see the prototypes for virtual functions they're supposed to be overriding. 2006-04-04 08:55:44 +0000 Tim-Philipp Müller plugins/elements/gsttypefindelement.c: More debug info; when skipping typefinding, send cached events in all cases. Original commit message from CVS: * plugins/elements/gsttypefindelement.c: (gst_type_find_element_chain): More debug info; when skipping typefinding, send cached events in all cases. 2006-04-03 17:05:31 +0000 Michael Smith * gst/gstpad.c: Fix typo in docs. Original commit message from CVS: Fix typo in docs. 2006-04-03 08:59:52 +0000 Thomas Vander Stichele * common: * docs/faq/gst-uninstalled: * win32/common/config.h: update win32 common dir; update uninstalled script Original commit message from CVS: update win32 common dir; update uninstalled script 2006-04-01 15:30:49 +0000 Thomas Vander Stichele * common: * configure.ac: disable use of AS_LIBTOOL_TAGS, it doesn't work correctly Original commit message from CVS: disable use of AS_LIBTOOL_TAGS, it doesn't work correctly 2006-04-01 09:41:43 +0000 Thomas Vander Stichele configure.ac: use new AS_VERSION and AS_NANO macros Original commit message from CVS: * configure.ac: use new AS_VERSION and AS_NANO macros * gst/gst-i18n-lib.h: * gst/gst.c: * gst/gsterror.c: * gst/gstversion.h.in: * win32/common/config.h: * win32/common/config.h.in: update accordingly 2006-03-31 15:26:04 +0000 Michael Smith plugins/elements/gsttypefindelement.c: Do not typefind content if the buffers already have caps. and the right thing ... Original commit message from CVS: * plugins/elements/gsttypefindelement.c: (gst_type_find_element_chain): Do not typefind content if the buffers already have caps. Neccesary for icydemux (#333657), and the right thing to do anyway. 2006-03-30 16:36:12 +0000 Wim Taymans libs/gst/base/gstbasesink.c: More QoS measurements as described in the design doc. Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_init), (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync), (gst_base_sink_record_qos_observation), (gst_base_sink_perform_qos), (gst_base_sink_reset_qos), (gst_base_sink_is_too_late), (gst_base_sink_render_object), (gst_base_sink_change_state): More QoS measurements as described in the design doc. Get rid of ringbuffer with observations, running average is more simple and equally good. Calculates valid proportion now. Added beginning of flood measurement. 2006-03-29 13:45:15 +0000 Wim Taymans Small documentation updates and additions. Original commit message from CVS: * docs/design/part-qos.txt: * gst/gstclock.c: Small documentation updates and additions. 2006-03-29 13:39:05 +0000 Wim Taymans libs/gst/base/gstbasesrc.c: Perform the EOS logic when we reach the segment stop position. Original commit message from CVS: * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize), (gst_base_src_send_event), (gst_base_src_loop), (gst_base_src_change_state): Perform the EOS logic when we reach the segment stop position. Fix compilation on gcc4.1 2006-03-29 11:02:33 +0000 Tommi Myöhänen plugins/elements/gstqueue.*: In queue, when EOS is received, if minimum threshold > max_size - current_level, there i... Original commit message from CVS: Patch by Tommi Myöhänen * plugins/elements/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush), (gst_queue_handle_sink_event), (gst_queue_set_property): * plugins/elements/gstqueue.h: In queue, when EOS is received, if minimum threshold > max_size - current_level, there is chance that queue blocks forever in conditional item del wait. This is because the queue is not emptied completely due to minimum threshold. Here is another approach. Instead of setting cur_levels to max in EOS, just zero all minimum threshold levels. This should make sure that queue gives out all data. When going to READY (stop) state, just reset the original minimum threshold levels. Fixes #336336. 2006-03-29 10:33:19 +0000 Tim-Philipp Müller plugins/elements/gsttypefindelement.*: When typefinding is done in push mode, we should cache events we receive durin... Original commit message from CVS: * plugins/elements/gsttypefindelement.c: (stop_typefinding), (gst_type_find_element_handle_event), (gst_type_find_element_send_cached_events), (gst_type_find_element_change_state): * plugins/elements/gsttypefindelement.h: When typefinding is done in push mode, we should cache events we receive during typefinding instead of just dropping them (e.g. newsegment, custom events from dvdreadsrc etc.) and then send them out once we've determined the type of the stream (and decodebin has had a chance to plug in a decoder/demuxer). 2006-03-27 18:38:49 +0000 Wim Taymans docs/design/part-qos.txt: First QoS ideas. Original commit message from CVS: * docs/design/part-qos.txt: First QoS ideas. 2006-03-27 11:48:10 +0000 Wim Taymans libs/gst/base/gstbasesrc.c: Handle element seek correctly when we are streaming. Original commit message from CVS: Inspired by a patch of: Lutz Mueller * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize), (gst_base_src_send_event), (gst_base_src_change_state): Handle element seek correctly when we are streaming. Fixes #326998. 2006-03-24 18:38:12 +0000 Michael Smith docs/faq/gst-uninstalled: Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will allow you to correctly... Original commit message from CVS: * docs/faq/gst-uninstalled: Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will allow you to correctly run intalled applications built against old core, using plugins that require updated core (e.g. running installed totem against a full uninstalled gstreamer stack) 2006-03-24 17:29:25 +0000 Thomas Vander Stichele * ChangeLog: add API: marker in ChangeLog Original commit message from CVS: add API: marker in ChangeLog 2006-03-24 17:10:46 +0000 Stefan Kost libs/gst/base/gstcollectpads.c: more debug details Original commit message from CVS: * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected): more debug details 2006-03-24 11:02:42 +0000 Wim Taymans docs/gst/gstreamer-sections.txt: Rearrange the order of the methods so that related methods are grouped together in s... Original commit message from CVS: * docs/gst/gstreamer-sections.txt: Rearrange the order of the methods so that related methods are grouped together in sections. 2006-03-24 10:44:17 +0000 Stefan Kost gst/gstelement.c: Little clarification in the docs Original commit message from CVS: * gst/gstelement.c: Little clarification in the docs 2006-03-24 10:38:20 +0000 Stefan Kost docs/README: formatting fix Original commit message from CVS: * docs/README: formatting fix * plugins/elements/gstidentity.c: * plugins/elements/gstqueue.c: * plugins/elements/gsttee.c: * plugins/elements/gsttypefindelement.c: GST_ELEMENT_DETAILS formatting 2006-03-24 09:48:33 +0000 Wim Taymans libs/gst/base/gstbasesink.h: Only add fields, not insert or we break ABI. Original commit message from CVS: * libs/gst/base/gstbasesink.h: Only add fields, not insert or we break ABI. 2006-03-23 18:51:05 +0000 Tim-Philipp Müller win32/common/: Update, add recently added functions. Original commit message from CVS: * win32/common/libgstbase.def: * win32/common/libgstreamer.def: Update, add recently added functions. 2006-03-23 18:45:02 +0000 Tim-Philipp Müller API: add some new utility functions: Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstutils.c: (gst_pad_query_peer_position), (gst_pad_query_peer_duration), (gst_pad_query_peer_convert): * gst/gstutils.h: API: add some new utility functions: - gst_pad_query_peer_position - gst_pad_query_peer_duration - gst_pad_query_peer_convert 2006-03-23 16:32:41 +0000 Wim Taymans * ChangeLog: Forgot to mention the previous commit fixed #326311 Original commit message from CVS: Forgot to mention the previous commit fixed #326311 2006-03-23 16:20:40 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Decouple max-lateness and the fact that QoS messages are generated with a new property (... Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init), (gst_base_sink_init), (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled), (gst_base_sink_set_property), (gst_base_sink_get_property), (gst_base_sink_commit_state), (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock), (gst_base_sink_do_sync), (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos), (gst_base_sink_perform_qos), (gst_base_sink_reset_qos), (gst_base_sink_is_too_late), (gst_base_sink_render_object), (gst_base_sink_preroll_object), (gst_base_sink_event), (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last), (gst_base_sink_get_position_paused), (gst_base_sink_get_position), (gst_base_sink_query), (gst_base_sink_change_state): Decouple max-lateness and the fact that QoS messages are generated with a new property (qos). Add vmethod so subclasses can be notified of ASYNC playing state changes. Collect timestamp start and stop to report better current position in EOS/PLAYING/PAUSED/READY/NULL. Refactor QoS/frame dropping and other measurements. API: GstBaseSrc::qos * libs/gst/base/gstbasesink.h: Added Private struct. API: gst_base_sink_set_qos_enabled API: gst_base_sink_is_qos_enabled 2006-03-23 11:54:51 +0000 Tim-Philipp Müller gst/gstregistryxml.c: If compiling against GLib-2.8 or newer, try to read the registry file using GMappedFile first b... Original commit message from CVS: * gst/gstregistryxml.c: (gst_registry_xml_read_cache): If compiling against GLib-2.8 or newer, try to read the registry file using GMappedFile first before falling back to fopen() + fread() (#332151). 2006-03-22 18:25:04 +0000 Wim Taymans gst/gstinfo.c: Disable debugging unless explicitly activated. Original commit message from CVS: * gst/gstinfo.c: (gst_debug_set_active), (gst_debug_category_set_threshold): Disable debugging unless explicitly activated. Fixes #335480. 2006-03-22 13:10:16 +0000 Wim Taymans gst/gstelement.c: Cleanup the error case. Original commit message from CVS: * gst/gstelement.c: (gst_element_set_locked_state), (gst_element_dispose): Cleanup the error case. * gst/gstobject.c: (gst_object_dispose): print a critical when some object was disposed with a parent, also revive the object since it might crash the parent. 2006-03-22 09:03:10 +0000 Tim-Philipp Müller tools/gst-launch.1.in: Fix another typo. Original commit message from CVS: * tools/gst-launch.1.in: Fix another typo. 2006-03-21 19:27:15 +0000 Thomas Vander Stichele disable some tests when we don't have a registry Original commit message from CVS: * configure.ac: * tests/check/Makefile.am: disable some tests when we don't have a registry * tests/check/gst/gstutils.c: (gst_utils_suite): don't build the part that needs parsing 2006-03-21 17:25:22 +0000 Thomas Vander Stichele gst/Makefile.am Original commit message from CVS: * gst/Makefile.am * tests/examples/Makefile.am: fix --disable-parse build 2006-03-21 17:24:30 +0000 Thomas Vander Stichele * docs/gst/gstreamer.types: the .in file is in cvs Original commit message from CVS: the .in file is in cvs 2006-03-21 15:42:02 +0000 Tim-Philipp Müller tools/gst-feedback.1.in: Fix typo: s/feeback/feedback/ (#133494). Original commit message from CVS: * tools/gst-feedback.1.in: Fix typo: s/feeback/feedback/ (#133494). 2006-03-21 15:04:20 +0000 Tim-Philipp Müller tools/: Add FILES section and correct entry about GST_REGISTRY_PATH environment variable (#133495; #133494). Original commit message from CVS: * tools/Makefile.am: * tools/gst-launch.1.in: Add FILES section and correct entry about GST_REGISTRY_PATH environment variable (#133495; #133494). 2006-03-21 14:41:58 +0000 Tim-Philipp Müller tools/: Remove gst-md5sum and man page (the md5sink element required was removed ages ago) Original commit message from CVS: * tools/Makefile.am: * tools/gst-md5sum.1.in: * tools/gst-md5sum.c: Remove gst-md5sum and man page (the md5sink element required was removed ages ago) 2006-03-21 14:24:41 +0000 Tim-Philipp Müller gst/gststructure.c: Make sure that string fields in structures/taglists contain valid UTF-8 - we don't want to pass r... Original commit message from CVS: * gst/gststructure.c: (gst_structure_id_set_value): Make sure that string fields in structures/taglists contain valid UTF-8 - we don't want to pass rubbish to applications because of a buggy plugin (cp. #334167). 2006-03-21 14:14:49 +0000 Edward Hervey Series of fixes for dereferenced pointers that gcc 4.1 complains about. Original commit message from CVS: reviewed by: * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func), (gst_bin_handle_message_func): * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master): * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose), (gst_element_set_bus_func): * gst/gstghostpad.c: (gst_proxy_pad_dispose): * gst/gstminiobject.c: (gst_value_set_mini_object), (gst_value_take_mini_object): * gst/gstpad.c: (gst_pad_set_pad_template): * gst/gstpipeline.c: (gst_pipeline_dispose), (gst_pipeline_use_clock), (gst_pipeline_auto_clock): * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop), (gst_collect_pads_chain): * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_set_property): Series of fixes for dereferenced pointers that gcc 4.1 complains about. It's in fact all issues with gst_*object_replace(). 2006-03-21 13:55:44 +0000 Loïc Minier pkgconfig/: Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109). Original commit message from CVS: Patch by: Loïc Minier * pkgconfig/gstreamer-check-uninstalled.pc.in: * pkgconfig/gstreamer-check.pc.in: Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109). 2006-03-21 13:50:52 +0000 Edward Hervey gst/: gst_[buffer|event|message]_ref() macros are replaced by a static inline functions because gcc-4.1 will about if... Original commit message from CVS: * gst/gstbuffer.h: * gst/gstevent.h: * gst/gstmessage.h: gst_[buffer|event|message]_ref() macros are replaced by a static inline functions because gcc-4.1 will about if the return value isn't used. * tests/check/gst/gstevent.c: (event_probe): gst_event_ref now has to be given a GstEvent* , fix check accordingly. 2006-03-20 16:47:35 +0000 Jan Schmidt * docs/plugins/tmpl/.gitignore: Remove irritating file that keeps breaking my checkouts Original commit message from CVS: Remove irritating file that keeps breaking my checkouts 2006-03-20 16:45:15 +0000 Jan Schmidt gst/gstutils.h: Add G_UNLIKELY to our boilerplate to optimise the 'already registered the type' case. (Closes: #33519... Original commit message from CVS: * gst/gstutils.h: Add G_UNLIKELY to our boilerplate to optimise the 'already registered the type' case. (Closes: #335195 for now). In the future, when we depend on GLib 2.10, we could also intern the type name using g_intern_static_string() 2006-03-20 10:56:08 +0000 Wim Taymans gst/gstbin.c: Position query should also take max of all streams. Original commit message from CVS: * gst/gstbin.c: (gst_bin_handle_message_func), (bin_query_max_init), (bin_query_position_fold), (bin_query_position_done), (gst_bin_query): Position query should also take max of all streams. 2006-03-20 09:28:41 +0000 Wim Taymans plugins/elements/gstfakesrc.c: Fix leaks in fakesrc. Original commit message from CVS: * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init), (gst_fake_src_finalize): Fix leaks in fakesrc. * tests/check/pipelines/parse-launch.c: (GST_START_TEST): Fix leaks in the testcase. 2006-03-19 21:39:21 +0000 Sébastien Moutte gst/gst_private.h: add win32 specific import decoration(__declspec(dllimport)) for all extern GstDebugCategory * vari... Original commit message from CVS: * gst/gst_private.h: add win32 specific import decoration(__declspec(dllimport)) for all extern GstDebugCategory * variables * win32/common/libgstbase.def: * win32/common/libgstcontroller.def: * win32/common/libgstreamer.def: Add some exports, remove empty lines * win32/common/libgstdataprotocol.def: * win32/common/libgstdataprotocol.dsp: * win32/common/libgstnet.def: * win32/common/libgstnet.dsp: new project files and exportation files added 2006-03-19 16:05:23 +0000 Wim Taymans tests/check/libs/basesrc.c: Use proper return value for probe. Original commit message from CVS: * tests/check/libs/basesrc.c: (eos_event_counter): Use proper return value for probe. 2006-03-17 19:27:51 +0000 Wim Taymans gst/gstpad.c: Don't leak buffers, caps and pads on negotiation errors. Original commit message from CVS: * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full), (gst_pad_push): Don't leak buffers, caps and pads on negotiation errors. 2006-03-16 15:33:55 +0000 Stefan Kost docs/faq/: Faq review and update. Original commit message from CVS: * docs/faq/cvs.xml: * docs/faq/dependencies.xml: * docs/faq/developing.xml: * docs/faq/faq.xml: * docs/faq/general.xml: * docs/faq/getting.xml: * docs/faq/legal.xml: * docs/faq/troubleshooting.xml: * docs/faq/using.xml: Faq review and update. 2006-03-16 10:18:27 +0000 Jan Schmidt gst/gstpad.c: Don't pound the cpu to pieces by checking get_caps when accept_caps is called with the same caps as the... Original commit message from CVS: * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full), (gst_pad_push): Don't pound the cpu to pieces by checking get_caps when accept_caps is called with the same caps as the pad already has. Use GST_DEBUG_OBJECT when outputting caps change information. 2006-03-15 20:17:40 +0000 Wim Taymans gst/gstclock.c: Fix docs. Original commit message from CVS: * gst/gstclock.c: (gst_clock_class_init): Fix docs. 2006-03-15 16:29:02 +0000 Jan Schmidt gst/gstbuffer.h: Documentation fix. Original commit message from CVS: * gst/gstbuffer.h: Documentation fix. * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default), (gst_pad_accept_caps), (gst_pad_configure_sink), (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push): Make the default acceptcaps behaviour be to check the requested caps against the gst_pad_get_caps output. Ensure that gst_pad_accept_caps is used to check caps when a pad doesn't have a setcaps function, so that pads automatically refuse caps that they don't allow in their pad template. (Fixes #332986) When a buffer with attached caps is pushed, ensure that the source pad receives those caps even if the element didn't call gst_pad_set_caps first. 2006-03-15 16:22:26 +0000 Wim Taymans libs/gst/base/gstadapter.c: Add some docs. Original commit message from CVS: * libs/gst/base/gstadapter.c: Add some docs. 2006-03-15 15:57:51 +0000 Tim-Philipp Müller win32/common/: Add a whole bunch of missing functions (#334434). Original commit message from CVS: * win32/common/libgstbase.def: * win32/common/libgstcontroller.def: * win32/common/libgstreamer.def: Add a whole bunch of missing functions (#334434). 2006-03-14 19:36:05 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Better debug info when we receive a segment event. Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment), (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock), (gst_base_sink_do_sync), (gst_base_sink_do_qos): Better debug info when we receive a segment event. Reorganize a bit so we can pass the get_times() results around. Use the segment format when calculating the running time. Don't do QoS is sync is disabled or we have no clock or the element does not want us to sync to the clock. Don't drop buffers if QoS is disabled for now. 2006-03-14 19:28:20 +0000 Wim Taymans gst/gstclock.c: Marked the stats property as unimplemented so people don't get wild ideas. Original commit message from CVS: * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression): Marked the stats property as unimplemented so people don't get wild ideas. Add debug message when regression goes wrong. Added some more docs. 2006-03-14 19:26:17 +0000 Wim Taymans gst/gstsegment.c: Return correct return type in case of errors. Original commit message from CVS: * gst/gstsegment.c: (gst_segment_to_stream_time): Return correct return type in case of errors. 2006-03-14 19:16:45 +0000 Wim Taymans gst/gstformat.c: Don't segfault on invalid formats. Original commit message from CVS: * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark): Don't segfault on invalid formats. 2006-03-14 18:25:54 +0000 Tim-Philipp Müller libs/gst/base/gstbasesink.c: Can't use gst_segment_to_running_time() when the segment is not in GST_TIME_FORMAT (like... Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times): Can't use gst_segment_to_running_time() when the segment is not in GST_TIME_FORMAT (like with filesink, for example). Stops flac encoding pipelines from spewing critical warnings at EOS (#331248). 2006-03-14 16:32:58 +0000 Tim-Philipp Müller gst/gstpipeline.c: Add 'Since: 0.10.5' to gtk-doc blurb for added property. Original commit message from CVS: * gst/gstpipeline.c: (gst_pipeline_class_init): Add 'Since: 0.10.5' to gtk-doc blurb for added property. * plugins/elements/gsttypefindelement.c: (gst_type_find_element_handle_event): Don't try to typefind empty streams. 2006-03-14 11:18:07 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Separate QoS calculation. Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync), (gst_base_sink_do_qos): Separate QoS calculation. Only drop buffers when lateness is bigger than the duration of the buffer. 2006-03-13 15:17:45 +0000 Wim Taymans gst/gstpipeline.c: Don't deadlock when reading properties. Original commit message from CVS: * gst/gstpipeline.c: (gst_pipeline_set_property), (gst_pipeline_get_property), (do_pipeline_seek), (gst_pipeline_change_state), (gst_pipeline_set_delay), (gst_pipeline_get_delay): Don't deadlock when reading properties. 2006-03-13 11:27:57 +0000 Wim Taymans libs/gst/base/gstbasetransform.*: Make basetransform virtual method for src events too. Original commit message from CVS: * libs/gst/base/gstbasetransform.c: (gst_base_transform_class_init), (gst_base_transform_init), (gst_base_transform_sink_event), (gst_base_transform_sink_eventfunc), (gst_base_transform_src_event), (gst_base_transform_src_eventfunc), (gst_base_transform_handle_buffer), (gst_base_transform_chain), (gst_base_transform_set_property), (gst_base_transform_get_property), (gst_base_transform_change_state), (gst_base_transform_update_qos), (gst_base_transform_set_qos_enabled), (gst_base_transform_is_qos_enabled): * libs/gst/base/gstbasetransform.h: Make basetransform virtual method for src events too. Handle QOS in basetransform. API: gst_base_transform_update_qos API: gst_base_transform_set_qos_enabled API: gst_base_transform_is_qos_enabled 2006-03-13 11:16:45 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Small cleanups. Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_init), (gst_base_sink_do_sync): Small cleanups. Use QOS debug category. 2006-03-13 11:11:16 +0000 Wim Taymans plugins/elements/gstqueue.c: Very small doc update. Original commit message from CVS: * plugins/elements/gstqueue.c: Very small doc update. 2006-03-13 11:08:28 +0000 Wim Taymans gst/: Added QOS debug category Original commit message from CVS: * gst/gst_private.h: * gst/gstinfo.c: (_gst_debug_init): Added QOS debug category 2006-03-13 11:04:38 +0000 Wim Taymans Documentation updates. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func): * gst/gstbin.h: * gst/gstbus.c: (gst_bus_class_init): * gst/gstbus.h: * gst/gstclock.c: * gst/gstelement.c: (gst_element_set_locked_state): * gst/gstsegment.c: Documentation updates. * gst/gstpipeline.c: (gst_pipeline_get_type), (gst_pipeline_class_init), (gst_pipeline_init), (gst_pipeline_dispose), (gst_pipeline_set_property), (gst_pipeline_get_property), (do_pipeline_seek), (gst_pipeline_send_event), (gst_pipeline_change_state), (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay), (gst_pipeline_get_delay): * gst/gstpipeline.h: Added methods for setting the delay. API: gst_pipeline_set_delay API: gst_pipeline_get_delay Add pipeline debug category Various cleanups. Updated docs. Don't reset stream time when seek failed. 2006-03-13 10:32:26 +0000 Wim Taymans docs/design/: Documentation updates. Original commit message from CVS: * docs/design/draft-klass.txt: * docs/design/part-clocks.txt: * docs/design/part-events.txt: * docs/design/part-gstbin.txt: * docs/design/part-gstpipeline.txt: * docs/design/part-messages.txt: * docs/design/part-negotiation.txt: * docs/design/part-overview.txt: * docs/design/part-preroll.txt: * docs/design/part-seeking.txt: * docs/design/part-states.txt: * docs/design/part-streams.txt: Documentation updates. 2006-03-12 20:44:46 +0000 Julien Moutte gst/gsttaglist.c: Fix rubbish docs that are encouraging us to leak strings... Original commit message from CVS: 2006-03-12 Julien MOUTTE * gst/gsttaglist.c: Fix rubbish docs that are encouraging us to leak strings... 2006-03-12 20:40:19 +0000 Thomas Vander Stichele libs/gst/net/gstnettimeprovider.c: fix docs Original commit message from CVS: * libs/gst/net/gstnettimeprovider.c: fix docs * win32/common/config.h: update 2006-03-12 14:32:37 +0000 Julio M. Merino Vidal configure.ac: Don't check for libgnomeui (leftover from old examples that aren't built or disted any longer) (#334303). Original commit message from CVS: Patch by: Julio M. Merino Vidal * configure.ac: Don't check for libgnomeui (leftover from old examples that aren't built or disted any longer) (#334303). 2006-03-11 13:02:28 +0000 Tim-Philipp Müller plugins/elements/: Emit RESOURCE_NO_SPACE_LEFT error here as well when there's no space left on the device. Original commit message from CVS: * plugins/elements/gstfdsink.c: (gst_fd_sink_render): * plugins/elements/gstfilesink.c: (gst_file_sink_render): Emit RESOURCE_NO_SPACE_LEFT error here as well when there's no space left on the device. 2006-03-10 23:44:00 +0000 Tim-Philipp Müller gst/gstclock.h: Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need to cast the input to GstClockTime before comp... Original commit message from CVS: * gst/gstclock.h: Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need to cast the input to GstClockTime before comparing with another GstClockTime value. 2006-03-10 19:12:01 +0000 Thomas Vander Stichele * ChangeLog: * libs/gst/base/gstbasesink.c: log what we're waiting on Original commit message from CVS: log what we're waiting on 2006-03-10 19:11:34 +0000 Thomas Vander Stichele * configure.ac: back to head Original commit message from CVS: back to head === release 0.10.4 === 2006-03-10 19:03:13 +0000 Thomas Vander Stichele * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/manual/README: * docs/plugins/gstreamer-plugins.args: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * docs/upload.mak: * win32/common/config.h: releasing 0.10.4 Original commit message from CVS: releasing 0.10.4 2006-03-10 15:30:27 +0000 Michael Smith libs/gst/dataprotocol/dataprotocol.c: Fix docs for dataprocotol to not get the return types completely wrong for a fe... Original commit message from CVS: * libs/gst/dataprotocol/dataprotocol.c: Fix docs for dataprocotol to not get the return types completely wrong for a few functions. 2006-03-09 19:00:21 +0000 Thomas Vander Stichele * configure.ac: * po/af.po: * po/az.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/de.po: * po/en_GB.po: * po/fr.po: * po/it.po: * po/nb.po: * po/nl.po: * po/ru.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: * win32/common/config.h: prereleasing Original commit message from CVS: prereleasing 2006-03-09 16:53:05 +0000 Tim-Philipp Müller Add new API: gst_pipeline_set_auto_flush_bus() and gst_pipeline_get_auto_flush_bus() to disable automatic flushing of... Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstpipeline.c: (gst_pipeline_class_init), (gst_pipeline_init), (gst_pipeline_set_property), (gst_pipeline_get_property), (gst_pipeline_change_state), (gst_pipeline_set_auto_flush_bus), (gst_pipeline_get_auto_flush_bus): * gst/gstpipeline.h: Add new API: gst_pipeline_set_auto_flush_bus() and gst_pipeline_get_auto_flush_bus() to disable automatic flushing of the pipeline's GstBus when going from READY to NULL state (#332045). 2006-03-09 12:08:54 +0000 Tim-Philipp Müller Add new API: gst_uri_has_protocol() (#333779). Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gsturi.c: (gst_uri_has_protocol): * gst/gsturi.h: Add new API: gst_uri_has_protocol() (#333779). 2006-03-09 11:45:14 +0000 Wim Taymans gst/gstclock.*: Review docs. Original commit message from CVS: * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_compare_func), (gst_clock_id_wait), (gst_clock_id_wait_async), (gst_clock_id_unschedule), (gst_clock_init), (gst_clock_get_internal_time), (gst_clock_set_master), (do_linear_regression), (gst_clock_add_observation), (gst_clock_set_property): * gst/gstclock.h: Review docs. Small cleanups. Fix a possible segfault when the window-size is made smaller. Calculate jitter before performing the clock wait. Ideally the clock implementation should calculate jitter but we need API breakage for that. * gst/gstsystemclock.c: (gst_system_clock_init): Docs review. * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync): Remove leftover else * tests/check/gst/gstsystemclock.c: (GST_START_TEST), (gst_systemclock_suite): Added check to test GST_CLOCK_DIFF. 2006-03-09 10:46:35 +0000 Tim-Philipp Müller libs/gst/base/gsttypefindhelper.c: If we are provided with the size, we should implement Original commit message from CVS: * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length), (gst_type_find_helper_get_range): If we are provided with the size, we should implement GstTypeFind::get_length, so that typefind functions who want to can actually peek at the middle of a file. 2006-03-08 14:30:40 +0000 Tim-Philipp Müller docs/manual/advanced-dataaccess.xml: Add some very very basic error checking. Original commit message from CVS: * docs/manual/advanced-dataaccess.xml: Add some very very basic error checking. * docs/pwg/appendix-checklist.xml: Some updates to the list of things to check when writing an element. 2006-03-08 13:44:55 +0000 Wim Taymans docs/design/part-element-transform.txt: Added some docs about the design of tranform elements. Original commit message from CVS: * docs/design/part-element-transform.txt: Added some docs about the design of tranform elements. * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek), (gst_base_src_loop), (gst_base_src_change_state): Mark buffers with the DISCONT flag. 2006-03-08 12:57:37 +0000 Michael Smith gst/: Rewrite registry-saving to avoid race conditions and check for failed writes. Original commit message from CVS: * gst/gstregistry.h: * gst/gstregistryxml.c: (gst_registry_save), (gst_registry_save_escaped), (gst_registry_xml_save_caps), (gst_registry_xml_save_pad_template), (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin), (gst_registry_xml_write_cache): Rewrite registry-saving to avoid race conditions and check for failed writes. 2006-03-08 10:17:41 +0000 Wim Taymans libs/gst/base/gstbasetransform.c: Cleanups, separate normal flow from errors, add sensible Original commit message from CVS: * libs/gst/base/gstbasetransform.c: (gst_base_transform_transform_caps), (gst_base_transform_transform_size), (gst_base_transform_prepare_output_buffer), (gst_base_transform_get_unit_size), (gst_base_transform_buffer_alloc), (gst_base_transform_handle_buffer), (gst_base_transform_change_state): Cleanups, separate normal flow from errors, add sensible DEBUG lines. Don't try to renegotiate when allocating an output buffer. Also copy DISCONT buffer flag when copying a buffer. Reset the transform after we finish streaming, not during. 2006-03-08 09:46:54 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Use last buffer timestamp in qos message. Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync): Use last buffer timestamp in qos message. 2006-03-07 17:06:53 +0000 Wim Taymans docs/pwg/: Applied patch from Christophe Fergeau, fixes #333416 Original commit message from CVS: * docs/pwg/advanced-tagging.xml: * docs/pwg/building-pads.xml: Applied patch from Christophe Fergeau, fixes #333416 2006-03-07 16:21:02 +0000 Wim Taymans docs/libs/gstreamer-libs-sections.txt: Added basesink new methods. Original commit message from CVS: * docs/libs/gstreamer-libs-sections.txt: Added basesink new methods. * gst/gstevent.c: * gst/gstevent.h: Docs updates. Flesh out the QoS docs. * libs/gst/base/gstadapter.c: Small doc clarification about ownership and flushing. * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync), (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness), (gst_base_sink_get_max_lateness), (gst_base_sink_set_property), (gst_base_sink_get_property), (gst_base_sink_do_sync): * libs/gst/base/gstbasesink.h: Added new methods to allow subclass to control max-lateness and sync. Generate very basic QoS events based on last sync observation. Updated docs, fix typo, added some QoS blurb. * libs/gst/base/gstbasesrc.c: Remove obsolete _get_state() calls from docs. 2006-03-07 15:14:51 +0000 Wim Taymans Fix #333669, Add pad accessor defines for GstBaseTransform Original commit message from CVS: * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstbasetransform.h: Fix #333669, Add pad accessor defines for GstBaseTransform Fix docs for GstBaseSrc. 2006-03-07 15:08:57 +0000 Wim Taymans Small documentation fixes. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstbuffer.h: * gst/gstvalue.c: * libs/gst/base/gstbasetransform.h: Small documentation fixes. 2006-03-07 11:47:24 +0000 Tim-Philipp Müller gst/gstvalue.c: Document thread-unsafety of gst_value_register_foo_func() when used at the same time as gst_value_foo... Original commit message from CVS: * gst/gstvalue.c: Document thread-unsafety of gst_value_register_foo_func() when used at the same time as gst_value_foo() (#322628). 2006-03-07 10:19:25 +0000 Thomas Vander Stichele * README: update README Original commit message from CVS: update README 2006-03-07 09:28:44 +0000 Tim-Philipp Müller libs/gst/base/gstpushsrc.c: Push sources don't support pull mode by default. Original commit message from CVS: * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init), (gst_push_src_check_get_range): Push sources don't support pull mode by default. 2006-03-06 19:55:06 +0000 Tim-Philipp Müller libs/gst/base/gstbasesrc.*: Add ::check_get_range() vfunc to GstBaseSrc (#332611), provide default implementation, an... Original commit message from CVS: * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init), (gst_base_src_init), (gst_base_src_pad_check_get_range), (gst_base_src_default_check_get_range): * libs/gst/base/gstbasesrc.h: Add ::check_get_range() vfunc to GstBaseSrc (#332611), provide default implementation, and rename gst_base_src_check_get_range() to gst_base_src_pad_check_get_range() for clarity. 2006-03-06 16:24:34 +0000 Thomas Vander Stichele * docs/random/styleguide: style guide Original commit message from CVS: style guide 2006-03-06 16:10:42 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Make property overridable. Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init): Make property overridable. 2006-03-06 16:02:37 +0000 Wim Taymans libs/gst/base/gstbasesink.*: Make max-lateness a property. Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init), (gst_base_sink_init), (gst_base_sink_set_property), (gst_base_sink_get_property), (gst_base_sink_do_sync): * libs/gst/base/gstbasesink.h: Make max-lateness a property. 2006-03-06 15:16:23 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Don't ever draw a frame that is >10ms late. Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock), (gst_base_sink_do_sync), (gst_base_sink_render_object): Don't ever draw a frame that is >10ms late. 2006-03-06 14:51:36 +0000 Michael Smith gst/gstmessage.c: When copying a message, set the parent_refcount of the enclosed structure to point at the copy, not... Original commit message from CVS: * gst/gstmessage.c: (_gst_message_copy): When copying a message, set the parent_refcount of the enclosed structure to point at the copy, not the original message. 2006-03-06 14:46:31 +0000 Christophe Fergeau gst/gstutils.h: Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE Original commit message from CVS: * gst/gstutils.h: Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE usable in c++ code (#333417; patch by: Christophe Fergeau) 2006-03-06 14:34:49 +0000 Thomas Vander Stichele gst/gstclock.h: Show GST_CLOCK_TIME_NONE as 99:99:99.999999999 Original commit message from CVS: * gst/gstclock.h: Show GST_CLOCK_TIME_NONE as 99:99:99.999999999 2006-03-06 14:23:56 +0000 Thomas Vander Stichele * docs/manual/appendix-quotes.xml: add another quote Original commit message from CVS: add another quote 2006-03-05 20:56:55 +0000 Tim-Philipp Müller libs/gst/base/gstbasetransform.c: Make sure caps are writable before passing them to gst_caps_append(). Original commit message from CVS: * libs/gst/base/gstbasetransform.c: (gst_base_transform_transform_caps): Make sure caps are writable before passing them to gst_caps_append(). 2006-03-04 14:45:40 +0000 Tim-Philipp Müller gst/gsterror.h: Fix some minor docs errors. Original commit message from CVS: * gst/gsterror.h: Fix some minor docs errors. 2006-03-04 13:54:26 +0000 Ross Burton gst/gsterror.*: Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352; Original commit message from CVS: * gst/gsterror.c: (_gst_resource_errors_init): * gst/gsterror.h: Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352; patch by: Ross Burton ). 2006-03-03 16:58:51 +0000 Jan Schmidt gst/gst.c: Add a check and output a g_warning when GStreamer is built against GLib 2.6 but running against 2.8 or hig... Original commit message from CVS: * gst/gst.c: Add a check and output a g_warning when GStreamer is built against GLib 2.6 but running against 2.8 or higher, and vice versa. (Closes: #323542) 2006-03-03 15:32:30 +0000 Jan Schmidt gst/parse/parse.l: Commit patch for parse_launch syntax from #331255. Removes support for quoted strings and mimetype... Original commit message from CVS: * gst/parse/parse.l: Commit patch for parse_launch syntax from #331255. Removes support for quoted strings and mimetypes when writing filtered caps. See the bug report for more details - I'm pretty sure this obscure feature is not in use by _anyone_ anywhere. With this simple change, the size of the gstreamer.so here drops from 2193KB to 1565KB. 2006-03-03 14:18:01 +0000 Tim-Philipp Müller plugins/elements/gsttypefindelement.*: Use gst_type_find_helper_for_buffer() for chain-based typefinding. Original commit message from CVS: * plugins/elements/gsttypefindelement.h: * plugins/elements/gsttypefindelement.c: (gst_type_find_element_src_event), (start_typefinding), (stop_typefinding), (gst_type_find_element_handle_event), (gst_type_find_element_chain), (gst_type_find_element_chain_do_typefinding): Use gst_type_find_helper_for_buffer() for chain-based typefinding. 2006-03-03 11:42:40 +0000 Tim-Philipp Müller plugins/elements/gsttypefindelement.c: Deprecate "maximum" property (not only was it only taken into account for type... Original commit message from CVS: * plugins/elements/gsttypefindelement.c: (gst_type_find_element_class_init), (gst_type_find_element_set_property), (gst_type_find_element_get_property): Deprecate "maximum" property (not only was it only taken into account for typefinding in push-mode anyway, it also was never actually possible to set it in the first place because the property was registered with the numeric property ID for the "minimum" property). Register "maximum" property correctly, for the sake of future copy'n'pasters. Remove some cruft from property get/set functions. 2006-03-03 11:27:02 +0000 Tim-Philipp Müller plugins/elements/gsttypefindelement.c: Use gst_type_find_helper_get_range() here, so we can honour the min-probabilit... Original commit message from CVS: * plugins/elements/gsttypefindelement.c: (gst_type_find_element_activate): Use gst_type_find_helper_get_range() here, so we can honour the min-probability property and also emit the signal with the correct probability of the found caps. 2006-03-02 13:45:32 +0000 Tim-Philipp Müller New API: gst_type_find_helper_get_range() (#333042). Original commit message from CVS: * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gsttypefindhelper.c: (helper_find_peek), (helper_find_suggest), (gst_type_find_helper_get_range), (gst_type_find_helper): * libs/gst/base/gsttypefindhelper.h: New API: gst_type_find_helper_get_range() (#333042). 2006-03-02 11:04:58 +0000 Michael Smith gst/gstregistryxml.c: Asserting on a failure to read part of the registry is Not Cool. Original commit message from CVS: * gst/gstregistryxml.c: (load_feature): Asserting on a failure to read part of the registry is Not Cool. Just log a warning and return NULL (which is already handled) 2006-02-28 20:57:10 +0000 Sébastien Moutte win32/common/libgstbase.def: added export of gst_type_find_helper_for_buffer Original commit message from CVS: * win32/common/libgstbase.def: added export of gst_type_find_helper_for_buffer * win32/common/libgstbase.def: added some exports : gst_bin_iterate_elements, gst_iterator_resync, gst_ghost_pad_get_target 2006-02-28 17:24:10 +0000 Wim Taymans docs/design/draft-klass.txt: We use Filter now. Original commit message from CVS: * docs/design/draft-klass.txt: We use Filter now. Added Connector to mark elements that are only used to allow pipeline connections. Moved Debug to extra feature since most of them are functionally something else. 2006-02-28 17:03:32 +0000 Wim Taymans docs/design/draft-klass.txt: Some updates and clarifications. Original commit message from CVS: * docs/design/draft-klass.txt: Some updates and clarifications. 2006-02-28 15:54:06 +0000 Wim Taymans docs/design/draft-klass.txt: Proposal for klass field values. Original commit message from CVS: * docs/design/draft-klass.txt: Proposal for klass field values. * docs/design/part-streams.txt: Start of a doc describing stream anatomy. 2006-02-28 10:52:02 +0000 Wim Taymans gst/gstbin.c: Help the compiler a bit with type registration. Original commit message from CVS: * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func): Help the compiler a bit with type registration. Use existing forward cod path instead of duplicating it when handling a message. * gst/gstbus.c: (gst_bus_get_type): * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type): * gst/gstchildproxy.c: (gst_child_proxy_get_type): * gst/gstclock.c: (gst_clock_get_type): * gst/gstelement.c: (gst_element_get_type), * gst/gstelementfactory.c: (gst_element_factory_get_type): * gst/gstindexfactory.c: (gst_index_factory_get_type): * gst/gstminiobject.c: (gst_mini_object_get_type): * gst/gstpad.c: (gst_pad_get_type): * gst/gstsegment.c: (gst_segment_get_type): * gst/gststructure.c: (gst_structure_get_type): * gst/gstsystemclock.c: (gst_system_clock_get_type): * gst/gsttask.c: (gst_task_get_type), (gst_task_join): * gst/gstvalue.c: Help compiler with type registration. * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event): Small doc update. 2006-02-27 20:01:53 +0000 Tim-Philipp Müller plugins/elements/gsttypefindelement.c: When we get an EOS event and have not found a type yet (most likely because we... Original commit message from CVS: * plugins/elements/gsttypefindelement.c: (gst_type_find_element_handle_event): When we get an EOS event and have not found a type yet (most likely because we had not yet accumulated TYPE_FIND_MIN_SIZE of data yet), try to determine the type given the data we have so far. Fixes typefinding for very short streams again, most notably quicktime redirections as used on Apple's trailer site (#331701). 2006-02-27 19:45:31 +0000 Tim-Philipp Müller libs/gst/base/gsttypefindhelper.c: Try typefinding factories with the highest rank first. Original commit message from CVS: * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp), (gst_type_find_helper): Try typefinding factories with the highest rank first. 2006-02-27 19:19:40 +0000 Tim-Philipp Müller Add section for typefind helper and add documentation for the old and the new function. Original commit message from CVS: * docs/libs/gstreamer-libs-docs.sgml: * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gsttypefindhelper.c: Add section for typefind helper and add documentation for the old and the new function. 2006-02-27 18:43:26 +0000 Tim-Philipp Müller libs/gst/base/gsttypefindhelper.*: New API: gst_type_find_helper_for_buffer() (#332723). Original commit message from CVS: * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek), (buf_helper_find_suggest), (type_find_factory_rank_cmp), (gst_type_find_helper_for_buffer): * libs/gst/base/gsttypefindhelper.h: New API: gst_type_find_helper_for_buffer() (#332723). 2006-02-27 15:43:10 +0000 Loïc Minier Patch from Loïc Minier to prevent CVS directories getting disted. Original commit message from CVS: * configure.ac: * docs/Makefile.am: * docs/slides/Makefile.am: Patch from Loïc Minier to prevent CVS directories getting disted. 2006-02-27 12:10:47 +0000 Christian Schaller * gstreamer.spec.in: update Original commit message from CVS: update 2006-02-27 11:01:06 +0000 Tim-Philipp Müller gst/gstcaps.c: Use the REFCOUNTING category for caps refcounting. Original commit message from CVS: * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref): Use the REFCOUNTING category for caps refcounting. 2006-02-26 19:20:51 +0000 Tim-Philipp Müller plugins/elements/gsttypefindelement.c: This should be 0 not GST_CLOCK_TIME_NONE (see #331701). Original commit message from CVS: * plugins/elements/gsttypefindelement.c: (stop_typefinding): This should be 0 not GST_CLOCK_TIME_NONE (see #331701). 2006-02-26 14:42:29 +0000 Tim-Philipp Müller plugins/elements/gsttypefindelement.c: Use gst_pad_check_pull_range() before _activate_pull() to avoid unnecessary op... Original commit message from CVS: * plugins/elements/gsttypefindelement.c: (gst_type_find_element_activate): Use gst_pad_check_pull_range() before _activate_pull() to avoid unnecessary open/close (see #331690). 2006-02-24 16:54:27 +0000 Tim-Philipp Müller gst/gstutils.c: Docs enhancement: make it crystal clear what the gst_pad_add_*_probe() callbacks should look like. Original commit message from CVS: * gst/gstutils.c: Docs enhancement: make it crystal clear what the gst_pad_add_*_probe() callbacks should look like. 2006-02-24 10:57:42 +0000 Tim-Philipp Müller libs/gst/base/gstbasesrc.c: Document how applications can stop recording from live sources (see #330996). Original commit message from CVS: * libs/gst/base/gstbasesrc.c: Document how applications can stop recording from live sources (see #330996). 2006-02-23 18:06:31 +0000 Tim-Philipp Müller Ignore more stuff. Original commit message from CVS: * docs/gst/tmpl/.cvsignore: * docs/plugins/tmpl/.cvsignore: * tests/check/gst/.cvsignore: * tests/check/libs/.cvsignore: * tests/check/pipelines/.cvsignore: Ignore more stuff. 2006-02-23 17:39:20 +0000 Tim-Philipp Müller tests/check/: ... and add some tests for the base source EOS stuff. Original commit message from CVS: * tests/check/Makefile.am: * tests/check/libs/basesrc.c: (eos_event_counter), (basesrc_eos_events_pull), (basesrc_eos_events_push), (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op), (gst_basesrc_suite), (main): ... and add some tests for the base source EOS stuff. 2006-02-23 16:56:18 +0000 Tim-Philipp Müller tests/check/gst/gstutils.c: Test case originally showed the problem fixed below, but was then amended. Add checks bac... Original commit message from CVS: * tests/check/gst/gstutils.c: (test_buffer_probe_n_times): Test case originally showed the problem fixed below, but was then amended. Add checks back at the place where they used to be. 2006-02-23 16:24:36 +0000 Tim-Philipp Müller libs/gst/base/gstbasesrc.*: Don't unconditionally send EOS when going from PAUSED to Original commit message from CVS: * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init), (gst_base_src_init), (gst_base_src_loop), (gst_base_src_activate_push), (gst_base_src_activate_pull), (gst_base_src_change_state): * libs/gst/base/gstbasesrc.h: Don't unconditionally send EOS when going from PAUSED to READY state, esp. make sure we don't send two EOS events in some cases (e.g. one when reaching EOS and one when going from PAUSED to READY). Also, we don't want to send EOS events when operating in pull mode. However, we do want to send an EOS event when shutting down a live source explicitly, for example (fixes #330996). 2006-02-23 10:24:13 +0000 Renchi Raju plugins/elements/gstfilesrc.c: Update src->read_position after a seek when not using mmap. Original commit message from CVS: * plugins/elements/gstfilesrc.c: (gst_file_src_create_read): Update src->read_position after a seek when not using mmap. Fixes #332277, patch by: Renchi Raju 2006-02-20 23:34:40 +0000 Jan Schmidt gst/: Make things work with --disable-parse as they do with Original commit message from CVS: * gst/Makefile.am: * gst/gstparse.h: * gst/gstutils.c: * gst/gstutils.h: Make things work with --disable-parse as they do with --disable-load-save - the symbols involved disappear, but the header is still installed and GST_DISABLE_PARSE is included via gstconfig.h 2006-02-20 16:07:42 +0000 Julien Moutte libs/gst/base/gstbasetransform.c: Fix a stupid bug. I was sure i compiled that. Original commit message from CVS: * libs/gst/base/gstbasetransform.c: (gst_base_transform_change_state): Fix a stupid bug. I was sure i compiled that. ------------------------------------------------------ 2006-02-20 15:07:33 +0000 Julien Moutte gst/: Make those function act on the ghostpad target when it's a ghostpad. (Closes #331727) Original commit message from CVS: * gst/gstpad.c: (gst_pad_set_blocked_async): * gst/gstutils.c: (gst_pad_add_data_probe), (gst_pad_add_event_probe), (gst_pad_add_buffer_probe), (gst_pad_remove_data_probe), (gst_pad_remove_event_probe), (gst_pad_remove_buffer_probe): Make those function act on the ghostpad target when it's a ghostpad. (Closes #331727) ------------------------------------------------------ 2006-02-20 15:01:14 +0000 Julien Moutte libs/gst/base/gstbasetransform.c: Make basetransform reusable. (Closes #331898) Original commit message from CVS: * libs/gst/base/gstbasetransform.c: (gst_base_transform_change_state): Make basetransform reusable. (Closes #331898) ------------------------------------------------------ 2006-02-20 12:26:50 +0000 Jan Schmidt docs/random/release: Move the current documentation of how to do a release to the top of the file. Original commit message from CVS: * docs/random/release: Move the current documentation of how to do a release to the top of the file. * gst/gstbin.c: (gst_bin_class_init), (gst_bin_handle_message_func): Allow multiple state-recalculation threads. (Closes #328873) 2006-02-19 12:25:01 +0000 Julien Moutte gst/gstinfo.h: Add GST_STR_NULL to the second string. Original commit message from CVS: 2006-02-19 Julien MOUTTE * gst/gstinfo.h: Add GST_STR_NULL to the second string. * gst/gstpad.c: (gst_pad_set_event_function), (gst_pad_set_query_function), (gst_pad_set_query_type_function), (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to 2 strings. You can't use the STR_NULL macro on that. 2006-02-19 12:00:38 +0000 Sébastien Moutte gst/gstpad.c: (gst_pad_set_getcaps_function) Original commit message from CVS: * gst/gstpad.c: (gst_pad_set_event_function), (gst_pad_set_query_function), (gst_pad_set_query_type_function), (gst_pad_set_getcaps_function) * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link) Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro So now, we can use --gst-debug-level=5 on Windows * win32/common/libgstcontroller.def: Added export of gst_controller_init * win32/vs6/libgstcontroller.dsp: Fixed Release post build configuration 2006-02-17 15:25:39 +0000 Wim Taymans tests/check/gst/gstquery.c: Added another check. Original commit message from CVS: * tests/check/gst/gstquery.c: (GST_START_TEST): Added another check. 2006-02-15 12:17:50 +0000 Tim-Philipp Müller plugins/elements/gsttypefindelement.c: We can do peeks at non-zero offsets, as long as they fall within the buffer we... Original commit message from CVS: * plugins/elements/gsttypefindelement.c: (find_peek): We can do peeks at non-zero offsets, as long as they fall within the buffer we have. 2006-02-15 01:02:11 +0000 Jan Schmidt tests/check/: Add testsuite for parse launch syntax Original commit message from CVS: * tests/check/Makefile.am: * tests/check/pipelines/parse-launch.c: (setup_pipeline), (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST), (parse_suite), (main): Add testsuite for parse launch syntax 2006-02-14 20:57:31 +0000 Tim-Philipp Müller plugins/elements/gsttypefindelement.c: When typefinding is unsuccessful in the chain function, don't error out immedi... Original commit message from CVS: * plugins/elements/gsttypefindelement.c: (gst_type_find_element_chain): When typefinding is unsuccessful in the chain function, don't error out immediately. Only error out with NO_CAPS_FOUND if the amount of data is at least MAX_TYPEFIND_SIZE bytes, otherwise simply wait for more data so we can try typefinding again with more data later. Also, don't attempt to typefind if we have less than MIN_TYPEFIND_SIZE data available. Overall, this should improve typefinding from network sources where the size of the first buffer can be somewhat random. 2006-02-14 18:26:19 +0000 Wim Taymans Fix padtemplate docs, fixes #328805. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstpadtemplate.c: * gst/gstpadtemplate.h: Fix padtemplate docs, fixes #328805. 2006-02-14 17:25:11 +0000 Wim Taymans tools/gst-launch.c: NO_PREROLL is not an ERROR so don't send confusing messages to the user. Original commit message from CVS: * tools/gst-launch.c: (main): NO_PREROLL is not an ERROR so don't send confusing messages to the user. 2006-02-14 16:15:05 +0000 Torsten Schoenfeld gst/gstregistry.c: Protect default registry with lock and ref/sink it. Original commit message from CVS: * gst/gstregistry.c: (gst_registry_get_default), (_gst_registry_cleanup): Protect default registry with lock and ref/sink it. Fixes #324818, patch by Torsten Schoenfeld. 2006-02-14 13:07:10 +0000 Wim Taymans Docs fixes. Original commit message from CVS: * gst/gstbuffer.c: * gst/gstquery.c: (gst_query_list_add_format), (gst_query_set_formatsv), (gst_query_parse_formats_length), (gst_query_parse_formats_nth): * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times): Docs fixes. 2006-02-14 12:07:16 +0000 Wim Taymans docs/gst/gstreamer-sections.txt: Reworked query docs. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: Reworked query docs. * gst/gstquery.c: (gst_query_new_formats), (gst_query_list_add_format), (gst_query_set_formats), (gst_query_set_formatsv), (gst_query_parse_formats_length), (gst_query_parse_formats_nth): * gst/gstquery.h: Flesh out formats query, added some new methods. Fix part of #324398. * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite): Added query creation tests. 2006-02-14 11:38:50 +0000 Jan Schmidt gst/gstpad.c: Add a default fixation for fraction lists. Original commit message from CVS: * gst/gstpad.c: (fixate_value): Add a default fixation for fraction lists. 2006-02-13 17:03:23 +0000 Wim Taymans gst/gsttask.*: Detect and warn for obvious deadlocks. fixes #320340 Original commit message from CVS: * gst/gsttask.c: (gst_task_init), (gst_task_func), (gst_task_set_lock), (gst_task_start), (gst_task_pause), (gst_task_join): * gst/gsttask.h: Detect and warn for obvious deadlocks. fixes #320340 Fix error case where lock was not released. * tests/check/Makefile.am: * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST), (task_func), (gst_element_suite), (main): Add task check. 2006-02-13 14:00:33 +0000 Wim Taymans * ChangeLog: Forgot changelog Original commit message from CVS: Forgot changelog 2006-02-13 13:57:29 +0000 Wim Taymans Add new functions to docs. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstbus.c: Add new functions to docs. 2006-02-13 11:52:43 +0000 Wim Taymans docs/design/part-TODO.txt: Updated TODO list, basesrc supports seeking to non-bytes formats. Original commit message from CVS: * docs/design/part-TODO.txt: Updated TODO list, basesrc supports seeking to non-bytes formats. * docs/design/part-element-sink.txt: Update docs. * gst/gstbin.c: (bin_replace_message), (gst_bin_handle_message_func): * gst/gstbus.c: (gst_bus_post), (gst_bus_pop): * gst/gstevent.c: (gst_event_finalize): * gst/gstpad.c: (gst_pad_event_default_dispatch), (gst_pad_send_event): Use shiny new _TYPE_NAME macros. * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range): Move debug statement up. * gst/gstelement.c: (gst_element_set_locked_state): Add some debugging. 2006-02-13 11:19:32 +0000 Tim-Philipp Müller New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME macros (#330906). Also, document the already existing Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstmessage.h: * gst/gstquery.h: New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME macros (#330906). Also, document the already existing GST_QUERY_TYPE macro. 2006-02-13 10:54:03 +0000 Wim Taymans tests/check/gst/gstutils.c: Only events up to the pipeline EOS are counted, there are some more when going to NULL cu... Original commit message from CVS: * tests/check/gst/gstutils.c: (data_probe), (buffer_probe), (event_probe), (GST_START_TEST): Only events up to the pipeline EOS are counted, there are some more when going to NULL currently which we don't care about for now. 2006-02-13 09:59:03 +0000 Wim Taymans gst/gstpad.c: Correctly check flushing and emit probes. fixes #330125 Original commit message from CVS: * gst/gstpad.c: (gst_pad_send_event): Correctly check flushing and emit probes. fixes #330125 2006-02-12 13:11:53 +0000 Thomas Vander Stichele * win32/common/config.h: revert wrong commit Original commit message from CVS: revert wrong commit 2006-02-10 16:04:59 +0000 Andy Wingo gst/gstbus.c (gst_bus_class_init): Declare our private data structure. Original commit message from CVS: 2006-02-10 Andy Wingo * gst/gstbus.c (gst_bus_class_init): Declare our private data structure. (gst_bus_init): Cache the location of the private data in the instance structure. (gst_bus_enable_sync_message_emission) (gst_bus_disable_sync_message_emission): Implement new public functions. (gst_bus_post): Emit the sync-message signal if the user asked for it. Fixes #330684. * gst/gstbus.h (GstBus): Use a padding pointer to cache the location of the bus-private structuure. (gst_bus_enable_sync_message_emission) (gst_bus_disable_sync_message_emission): New public functions. 2006-02-09 23:40:43 +0000 Vincent Torri docs/pwg/building-boiler.xml: Original commit message from CVS: * docs/pwg/building-boiler.xml: PWG patch from #326800 (Patch by Vincent Torri) 2006-02-09 18:30:51 +0000 Tim-Philipp Müller * ChangeLog: * docs/design/Makefile.am: ChangeLog surgery and add missing new file Original commit message from CVS: ChangeLog surgery and add missing new file 2006-02-09 18:28:33 +0000 Tim-Philipp Müller docs/design/Makefile.am Original commit message from CVS: * configure.ac: * docs/Makefile.am: * docs/design/Makefile.am Dist design docs. 2006-02-08 17:34:43 +0000 Jan Schmidt configure.ac: back to CVS Original commit message from CVS: * configure.ac: back to CVS === release 0.10.3 === 2006-02-08 17:31:34 +0000 Jan Schmidt configure.ac: releasing 0.10.3, "Like a virgin" Original commit message from CVS: === release 0.10.3 === 2006-02-08 Jan Schmidt * configure.ac: releasing 0.10.3, "Like a virgin" 2006-02-08 11:12:07 +0000 Jan Schmidt configure.ac: 2nd prerelease of 0.10.3 Original commit message from CVS: 2006-02-08 Jan Schmidt * configure.ac: 2nd prerelease of 0.10.3 Bump libtool versioning. 2006-02-07 15:49:40 +0000 Andy Wingo libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only update last_stop if we're in TIME format and the timest... Original commit message from CVS: 2006-02-07 Andy Wingo * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only update last_stop if we're in TIME format and the timestamp is valid. * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment): If we get a new newsegment with a different format, adapt accordingly. * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator of 0. Not a problem, really. 2006-02-07 13:20:16 +0000 Andy Wingo libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only warn if sync=true. Original commit message from CVS: 2006-02-07 Andy Wingo * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only warn if sync=true. 2006-02-07 10:51:24 +0000 Christian Schaller * gstreamer.spec.in: update spec file Original commit message from CVS: update spec file 2006-02-06 22:01:23 +0000 Jan Schmidt configure.ac: Prelease of 0.10.3 Original commit message from CVS: * configure.ac: Prelease of 0.10.3 2006-02-06 21:53:05 +0000 Jan Schmidt * po/af.po: * po/az.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/de.po: * po/en_GB.po: * po/fr.po: * po/it.po: * po/nb.po: * po/nl.po: * po/ru.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: Update .po files Original commit message from CVS: Update .po files 2006-02-06 21:29:04 +0000 Sébastien Moutte win32/vs7: project files updated to the default vs7 configuration Original commit message from CVS: * win32/vs7: project files updated to the default vs7 configuration * win32/common/libgstbase.def: * win32/common/libgstreamer.def: added new symbols, removed empty lines, sorted all exported symbols alphabetically * win32/common/dirent.c: * win32/common/dirent.h: * win32/common/gchar.h: use windows line end. 2006-02-06 15:25:26 +0000 Thomas Vander Stichele * gst/gstelement.c: doc sub80 fixes Original commit message from CVS: doc sub80 fixes 2006-02-06 14:57:40 +0000 Tim-Philipp Müller libs/gst/base/gstbasesrc.c: Send EOS event when stopping. Original commit message from CVS: * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state): Send EOS event when stopping. 2006-02-06 10:42:01 +0000 Tim-Philipp Müller docs/README: Tell folks what to do if the plugin-foobar.xml file hasn't been generated for a newly-added plugin. Original commit message from CVS: * docs/README: Tell folks what to do if the plugin-foobar.xml file hasn't been generated for a newly-added plugin. 2006-02-05 18:13:28 +0000 Julien Moutte libs/gst/base/gstcollectpads.c: Collectpads now holds a reference to the GstPad that was added. Indeed we don't want ... Original commit message from CVS: 2006-02-05 Julien MOUTTE * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize), (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad), (gst_collect_pads_start), (gst_collect_pads_stop), (gst_collect_pads_event): Collectpads now holds a reference to the GstPad that was added. Indeed we don't want to look at pads that might just go away with no warning... 2006-02-05 16:18:37 +0000 Julien Moutte libs/gst/base/gstcollectpads.*: Handle flush. Adapted from Original commit message from CVS: 2006-02-05 Julien MOUTTE * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad), (gst_collect_pads_start), (gst_collect_pads_stop), (gst_collect_pads_event), (gst_collect_pads_chain): * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from Mark Nauwelaerts's patch on bug #328491. 2006-02-04 12:49:53 +0000 Tim-Philipp Müller tests/check/gst/gstutils.c: Add some simple tests for gst_parse_bin_from_description() and gst_bin_find_unconnected_p... Original commit message from CVS: * tests/check/gst/gstutils.c: (test_parse_bin_from_description), (gst_utils_suite): Add some simple tests for gst_parse_bin_from_description() and gst_bin_find_unconnected_pad() (#329069). 2006-02-04 11:56:18 +0000 Tim-Philipp Müller tools/gst-launch.c: Catch errors during preroll (#320084). Original commit message from CVS: * tools/gst-launch.c: (event_loop), (main): Catch errors during preroll (#320084). 2006-02-03 21:14:57 +0000 Tim-Philipp Müller plugins/elements/gsttypefindelement.c: Post TYPE_NOT_FOUND error message when typefinding is unsuccessful in the acti... Original commit message from CVS: * plugins/elements/gsttypefindelement.c: (gst_type_find_element_activate): Post TYPE_NOT_FOUND error message when typefinding is unsuccessful in the activate function as well. 2006-02-02 16:15:17 +0000 Wim Taymans docs/design/part-element-sink.txt: Updated doc. Original commit message from CVS: * docs/design/part-element-sink.txt: Updated doc. 2006-02-02 16:12:35 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Only keep track of prerollable items when we are prerolling. Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync), (gst_base_sink_render_object), (gst_base_sink_queue_object_unlocked): Only keep track of prerollable items when we are prerolling. Before rendering after preroll, always check if we have queued items. Added some more debugging. 2006-02-02 13:58:12 +0000 Wim Taymans gst/gstelement.c: Fixed #326576, been running this for quite some time with no regressions at all. Original commit message from CVS: * gst/gstelement.c: (gst_element_continue_state), (gst_element_set_state_func), (gst_element_change_state): Fixed #326576, been running this for quite some time with no regressions at all. 2006-02-02 13:44:04 +0000 Wim Taymans common/gst.supp: Added more suppressions Original commit message from CVS: * common/gst.supp: Added more suppressions 2006-02-02 12:07:48 +0000 Wim Taymans docs/design/part-element-sink.txt: Updated document. Original commit message from CVS: * docs/design/part-element-sink.txt: Updated document. * libs/gst/base/gstbasesink.c: (gst_base_sink_init), (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush), (gst_base_sink_configure_segment), (gst_base_sink_commit_state), (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock), (gst_base_sink_do_sync), (gst_base_sink_render_object), (gst_base_sink_preroll_object), (gst_base_sink_queue_object_unlocked), (gst_base_sink_queue_object), (gst_base_sink_event), (gst_base_sink_chain_unlocked), (gst_base_sink_chain), (gst_base_sink_loop), (gst_base_sink_activate_pull), (gst_base_sink_get_position), (gst_base_sink_change_state): * libs/gst/base/gstbasesink.h: Totally refactored matching the design doc. Use two segments, one to clip incomming buffers and another to perform sync. Handle queueing correctly, bypass the queue when playing. Make EOS cancelable. Handle errors correctly when operating in pull based mode. * tests/check/elements/fakesink.c: (GST_START_TEST), (fakesink_suite): Added new check for sinks. 2006-02-02 11:59:27 +0000 Wim Taymans gst/gstsegment.c: No reason to refuse to clip when start == -1 Original commit message from CVS: * gst/gstsegment.c: (gst_segment_clip): No reason to refuse to clip when start == -1 2006-02-02 11:24:19 +0000 Stefan Kost docs/: describe dparams (controller) for plugins unify docs a little more Original commit message from CVS: * docs/README: * docs/manual/intro-basics.xml: * docs/manual/intro-preface.xml: * docs/manual/manual.xml: * docs/pwg/advanced-dparams.xml: * docs/pwg/intro-basics.xml: * docs/pwg/intro-preface.xml: * docs/pwg/pwg.xml: describe dparams (controller) for plugins unify docs a little more 2006-02-02 09:51:18 +0000 Tim-Philipp Müller Add new API: gst_parse_bin_from_description() and gst_bin_find_unconnected_pad() (#329069). Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstutils.c: (element_find_unconnected_pad), (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description): * gst/gstutils.h: Add new API: gst_parse_bin_from_description() and gst_bin_find_unconnected_pad() (#329069). 2006-02-01 22:43:17 +0000 Stefan Kost docs/manual/README: uncover a nasty detail of the docs build Original commit message from CVS: * docs/manual/README: uncover a nasty detail of the docs build 2006-02-01 08:27:24 +0000 Thomas Vander Stichele * docs/README: updates for plugin docs Original commit message from CVS: updates for plugin docs 2006-01-31 18:46:15 +0000 Wim Taymans gst/gstbin.c: Don't cache duration messages if we're not going to use or free them. Original commit message from CVS: * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done): Don't cache duration messages if we're not going to use or free them. 2006-01-31 16:56:28 +0000 Stefan Kost docs/: more dparam docs Original commit message from CVS: * docs/manual/advanced-dparams.xml: * docs/pwg/advanced-dparams.xml: more dparam docs * gst/gstindex.c: fix docs * libs/gst/controller/lib.c: (gst_controller_init): init just once 2006-01-31 10:16:49 +0000 Thomas Vander Stichele gst/gstelement.c: also show file/line/func if no additional debug was given Original commit message from CVS: * gst/gstelement.c: (gst_element_message_full): also show file/line/func if no additional debug was given 2006-01-30 23:52:52 +0000 Sébastien Moutte win32/vs7/grammar.vcproj: activate copy of autogenerated files for Release mode Original commit message from CVS: * win32/vs7/grammar.vcproj: activate copy of autogenerated files for Release mode 2006-01-30 22:29:03 +0000 Sébastien Moutte win32/common/libgstreamer.def: export gst_value_compare Original commit message from CVS: * win32/common/libgstreamer.def: export gst_value_compare 2006-01-30 21:57:00 +0000 Philippe Rouquier plugins/elements/: Original commit message from CVS: * plugins/elements/Makefile.am: * plugins/elements/gstelements.c: * plugins/elements/gstfdsink.c: (_do_init), (gst_fd_sink_base_init), (gst_fd_sink_class_init), (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query), (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd), (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type), (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri), (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init): * plugins/elements/gstfdsink.h: Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490) 2006-01-30 21:11:38 +0000 Stefan Kost docs/manual/advanced-dparams.xml: describe controller Original commit message from CVS: * docs/manual/advanced-dparams.xml: describe controller * docs/manual/advanced-position.xml: * docs/manual/basics-init.xml: * docs/manual/manual.xml: * docs/manual/titlepage.xml: * docs/pwg/pwg.xml: * docs/pwg/titlepage.xml: cleanup xml (more to come) * libs/gst/controller/gstcontroller.c: fix typo 2006-01-30 20:36:51 +0000 Sébastien Moutte win32/vs6/grammar.dsp: add autogen of gstmarshal.c,h for Release mode Original commit message from CVS: * win32/vs6/grammar.dsp: add autogen of gstmarshal.c,h for Release mode 2006-01-30 16:07:48 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Basesink cleanups, remove some old code. Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_init), (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state), (gst_base_sink_handle_object), (gst_base_sink_event), (gst_base_sink_is_prerolled), (gst_base_sink_wait), (gst_base_sink_do_sync), (gst_base_sink_handle_event), (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing), (gst_base_sink_deactivate), (gst_base_sink_activate), (gst_base_sink_activate_pull), (gst_base_sink_get_position), (gst_base_sink_query), (gst_base_sink_change_state): Basesink cleanups, remove some old code. Handle the case where a subclass can preroll in the render method (mostly audiosinks). Handle more events. Remove some locks around variables that are now protected with the PREROLL_LOCK (clock_id, flushing, ..). Optimize position query some more, do correct locking. Remove old code to push queue in state change, this is not needed anymore since preroll blocks on all prerollable items now. Almost implemented as described in design doc. 2006-01-30 15:57:43 +0000 Wim Taymans tests/check/gst/gstbin.c: Wait for refcount to settle down before checking. Original commit message from CVS: * tests/check/gst/gstbin.c: (GST_START_TEST): Wait for refcount to settle down before checking. 2006-01-30 15:15:47 +0000 Wim Taymans docs/design/part-element-sink.txt: Pseudo code overview of desired sink behaviour regarding preroll. Original commit message from CVS: * docs/design/part-element-sink.txt: Pseudo code overview of desired sink behaviour regarding preroll. 2006-01-30 14:28:03 +0000 Jan Schmidt * ChangeLog: Bleh, forgot to commit the changelog entry on Saturday. Original commit message from CVS: Bleh, forgot to commit the changelog entry on Saturday. 2006-01-29 21:56:00 +0000 Sébastien Moutte win32/vs6/grammar.dsp: fix some bugs in autogenerated files for Release mode Original commit message from CVS: * win32/vs6/grammar.dsp: fix some bugs in autogenerated files for Release mode 2006-01-29 19:24:18 +0000 Sébastien Moutte win32/common/: export some new symbols: gst_base_src_set_format, gst_iterator_next, gst_structure_set_valist Original commit message from CVS: * win32/common/libgstbase.def: * win32/common/libgstreamer.def: export some new symbols: gst_base_src_set_format, gst_iterator_next, gst_structure_set_valist 2006-01-29 17:37:08 +0000 Julien Moutte gst/gstghostpad.c: Set pad functions unconditionally. Fixes #329105. Original commit message from CVS: 2006-01-29 Julien MOUTTE * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked): Set pad functions unconditionally. Fixes #329105. 2006-01-29 16:54:40 +0000 Sébastien Moutte win32/vs8: add vs8 project files created by Sergey Scobich Original commit message from CVS: * win32/vs8: add vs8 project files created by Sergey Scobich 2006-01-28 00:59:37 +0000 Jan Schmidt gst/gstutils.c: Don't leak pad references. Original commit message from CVS: * gst/gstutils.c: (gst_element_unlink_pads): Don't leak pad references. * tests/check/elements/fakesink.c: (GST_START_TEST): * tests/check/generic/sinks.c: (GST_START_TEST): * tests/check/generic/states.c: (GST_START_TEST): * tests/check/gst/gstbin.c: (GST_START_TEST): * tests/check/gst/gstcaps.c: (GST_START_TEST): * tests/check/gst/gstelement.c: (GST_START_TEST): * tests/check/gst/gstghostpad.c: (GST_START_TEST): * tests/check/gst/gstiterator.c: (GST_START_TEST): * tests/check/gst/gstvalue.c: (GST_START_TEST): Fix a bunch of leaks. Make generic/sinks.c use a bit less cpu by slowing the buffer rate between fakesrc and fakesink. 2006-01-27 22:34:51 +0000 Stefan Kost doc fixes, to link to function, just write gst_cool_function(), don't prefix with '#' Original commit message from CVS: * gst/gstcaps.c: * gst/gstelement.c: (gst_element_send_event): * gst/gstevent.c: * gst/gstinfo.c: * gst/gstiterator.c: * gst/gstiterator.h: * gst/gstpad.c: (gst_pad_send_event): * gst/gststructure.c: * gst/gsturi.c: * gst/gstutils.c: * gst/gstvalue.c: * libs/gst/base/gstadapter.c: doc fixes, to link to function, just write gst_cool_function(), don't prefix with '#' 2006-01-27 16:59:57 +0000 Jan Schmidt plugins/elements/gsttee.c: Always prefer an actual return value from a src pad in place of NOT_LINKED. This means we ... Original commit message from CVS: * plugins/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer): Always prefer an actual return value from a src pad in place of NOT_LINKED. This means we return WRONG_STATE when all src pads are WRONG_STATE instead of NOT_LINKED. Lock when replacing the last message to prevent racing with the get_property method. Add debug output 2006-01-27 11:53:20 +0000 Jan Schmidt tests/check/: Add a very simple check that should have caught the memleak I fixed last night (if not for the slice al... Original commit message from CVS: * tests/check/Makefile.am: * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite), (main): Add a very simple check that should have caught the memleak I fixed last night (if not for the slice allocator hiding it) 2006-01-27 01:48:37 +0000 Jan Schmidt gst/gstbin.c: Clean up references to the clock provider when disposed or when handling a clock-lost message from it. Original commit message from CVS: * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func), (gst_bin_remove_func), (gst_bin_handle_message_func), (bin_query_duration_fold), (bin_query_generic_fold): Clean up references to the clock provider when disposed or when handling a clock-lost message from it. Unref sinks when performing a query via gst_iterator_fold, as the gst_bin_iterate_sinks iterator refs each item. (Fixes #323874) * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose), (gst_clock_set_master): Drop our reference to the master clock, if any, when we are disposed. * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose): Chain up in dispose. 2006-01-27 01:13:10 +0000 Thomas Vander Stichele * docs/random/i18n: add notes on i18n Original commit message from CVS: add notes on i18n 2006-01-26 12:59:48 +0000 Wim Taymans libs/gst/base/gstbasesrc.c: Add some debugging. Original commit message from CVS: * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range): Add some debugging. 2006-01-26 12:40:17 +0000 Julien Moutte plugins/elements/gsttee.c: Apply patch from #328715. Tee now handles pad being NOT_LINKED or in WRONG_STATE. Original commit message from CVS: 2006-01-26 Julien MOUTTE * plugins/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer): Apply patch from #328715. Tee now handles pad being NOT_LINKED or in WRONG_STATE. 2006-01-26 08:57:40 +0000 Stefan Kost win32/MANIFEST: more updating Original commit message from CVS: * win32/MANIFEST: more updating 2006-01-26 08:39:20 +0000 Stefan Kost win32/MANIFEST: remove obsolete entry Original commit message from CVS: * win32/MANIFEST: remove obsolete entry 2006-01-26 06:57:14 +0000 Stefan Kost added code for downstream events, reviewed docs in gstevent.c Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter), (gst_bin_iterate_sources), (gst_bin_send_event): * gst/gstbin.h: * gst/gstelement.c: (gst_element_send_event): * gst/gstevent.c: * gst/gstpad.c: (gst_pad_send_event): added code for downstream events, reviewed docs in gstevent.c 2006-01-25 18:07:02 +0000 Julien Moutte libs/gst/base/gstbasesink.c: We only query position using the clock in the playing state. Original commit message from CVS: 2006-01-25 Julien MOUTTE * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position): We only query position using the clock in the playing state. Query peer in the other cases. * win32/common/config.h: Updates. 2006-01-24 16:23:17 +0000 Wim Taymans gst/gstsystemclock.c: A clock entry that is scheduled for the exact time of the clock is still in time. Original commit message from CVS: * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked): A clock entry that is scheduled for the exact time of the clock is still in time. * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object), (gst_base_sink_do_sync): Add some more debug info. 2006-01-23 12:37:33 +0000 Sébastien Moutte win32/vs7: Add new vs7 project files and solution. Original commit message from CVS: * win32/vs7 : Add new vs7 project files and solution. 2006-01-23 12:23:00 +0000 Sébastien Moutte win32/vs7: all files removed as they were out-dated. Original commit message from CVS: * win32/vs7: all files removed as they were out-dated. 2006-01-20 19:01:59 +0000 Thomas Vander Stichele docs/random/release: update notes Original commit message from CVS: * docs/random/release: update notes * gst/gstbin.c: (gst_bin_init): * gst/gstbus.c: (gst_bus_new): * gst/gstbus.h: * gst/gstpipeline.c: (gst_pipeline_init): use gst_bus_new(), improve logging, fix docs * win32/common/config.h: update for cvs build 2006-01-20 18:59:00 +0000 Thomas Vander Stichele autogen.sh: up required version of automake to 1.7 Original commit message from CVS: * autogen.sh: up required version of automake to 1.7 2006-01-20 12:53:40 +0000 Sébastien Moutte win32/common/libgstreamer.def: export gst_buffer_is_metadata_writable Original commit message from CVS: * win32/common/libgstreamer.def: export gst_buffer_is_metadata_writable 2006-01-20 11:46:03 +0000 Tim-Philipp Müller Add gst_event_replace() (#327001) Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstevent.h: Add gst_event_replace() (#327001) 2006-01-20 09:56:38 +0000 Wim Taymans gst/gstpad.c: Make it actually compile too.. Original commit message from CVS: * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): Make it actually compile too.. 2006-01-20 09:53:24 +0000 Wim Taymans gst/gstcaps.c: Clarify behaviour of _is_equal() when passing NULL parameters. Original commit message from CVS: * gst/gstcaps.c: Clarify behaviour of _is_equal() when passing NULL parameters. * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps): Cleanups. Don't unref NULL caps. When setting the same caps, protect caps of the pad with proper lock. Use full functionality of _is_equal() when comparing caps. 2006-01-20 09:26:00 +0000 Jan Schmidt libs/gst/base/gstcollectpads.c: Don't loop infinitely if there are no buffers to present. Partially fixes #327197, bu... Original commit message from CVS: * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected): Don't loop infinitely if there are no buffers to present. Partially fixes #327197, but collectpads is just broken for reusing elements to do multiple encodes atm. 2006-01-20 09:12:10 +0000 Jan Schmidt tools/: URL_HANDLER is not a plugin feature we can search for in the registry. Original commit message from CVS: * tools/gst-inspect.c: (print_element_features): * tools/gst-xmlinspect.c: (main): URL_HANDLER is not a plugin feature we can search for in the registry. 2006-01-19 18:06:18 +0000 Edward Hervey gst/gstelement.c: When activating, do src pads first, then sink pads. Original commit message from CVS: * gst/gstelement.c: (gst_element_pads_activate): When activating, do src pads first, then sink pads. When de-activating, do sink pads first, then src pads. 2006-01-19 14:02:04 +0000 Jan Schmidt docs/gst/gstreamer-sections.txt: Add gst_index_add_associationv to the docs Original commit message from CVS: * docs/gst/gstreamer-sections.txt: Add gst_index_add_associationv to the docs 2006-01-19 13:30:31 +0000 Jan Schmidt gst/gstevent.c: Fix docs typo Original commit message from CVS: * gst/gstevent.c: Fix docs typo * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop): Do some refactoring. Doesn't actually change functionality, but makes landing the DRAIN event easier later. 2006-01-19 10:39:27 +0000 Tim-Philipp Müller docs/pwg/advanced-scheduling.xml: Update from 0.9.x to 0.10 API and make example a bit clearer. Original commit message from CVS: * docs/pwg/advanced-scheduling.xml: Update from 0.9.x to 0.10 API and make example a bit clearer. 2006-01-19 09:24:03 +0000 Jan Schmidt docs/gst/gstreamer-sections.txt: Add gst_buffer_(is|make)_metadata_writable methods. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: Add gst_buffer_(is|make)_metadata_writable methods. 2006-01-19 09:08:15 +0000 Jan Schmidt docs/design/part-sparsestreams.txt: Update sparse streams doc Original commit message from CVS: * docs/design/part-sparsestreams.txt: Update sparse streams doc 2006-01-19 09:02:12 +0000 Jan Schmidt docs/design/part-events.txt: Remove mention of FILLER events. Original commit message from CVS: * docs/design/part-events.txt: Remove mention of FILLER events. Add DRAIN event. * docs/design/part-sparsestreams.txt: Write some things about using NEWSEGMENT to keep sparse streams flowing. 2006-01-18 18:56:44 +0000 Tim-Philipp Müller gst/gstbin.c: Guard gst_object_unref call against a NULL object (dispose can theoretically be called multiple times). Original commit message from CVS: * gst/gstbin.c: (gst_bin_dispose): Guard gst_object_unref call against a NULL object (dispose can theoretically be called multiple times). 2006-01-18 18:05:43 +0000 Jan Schmidt docs/design/part-events.txt: Remove mention of FILLER events. Original commit message from CVS: * docs/design/part-events.txt: Remove mention of FILLER events. Add DRAIN event. * docs/design/part-sparsestreams.txt: Write some things about using NEWSEGMENT to keep sparse streams flowing. 2006-01-18 18:01:54 +0000 Wim Taymans gst/: Added some more debug info. Original commit message from CVS: * gst/gstbin.c: (gst_bin_element_set_state): * gst/gstclock.c: (gst_clock_id_wait): Added some more debug info. * libs/gst/base/gstadapter.c: Added more docs. * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object), (gst_base_sink_do_sync), (gst_base_sink_chain): Added some comments. 2006-01-18 17:59:09 +0000 Wim Taymans * tests/check/elements/.gitignore: Ignore fakesink test. Original commit message from CVS: Ignore fakesink test. 2006-01-18 17:57:57 +0000 Wim Taymans tests/check/: Added fakesink test that checks prerolling and clipping behaviour. Original commit message from CVS: * tests/check/Makefile.am: * tests/check/elements/fakesink.c: (chain_async_buffer), (chain_async), (chain_async_return), (GST_START_TEST), (fakesink_suite), (main): Added fakesink test that checks prerolling and clipping behaviour. * tests/check/gst/gstutils.c: (GST_START_TEST): Make check run faster so that buildbots don't timeout. 2006-01-18 17:18:39 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Some cleanups. Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object), (gst_base_sink_do_sync): Some cleanups. When the sink finishes blocking on the preroll buffer, it can immediatly render it instead of rendering when the next buffer arrives. 2006-01-18 16:40:16 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Small cleanups. Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property), (gst_base_sink_get_property), (gst_base_sink_do_sync), (gst_base_sink_chain): Small cleanups. GST_ELEMENT_CLOCK and sync are protected with LOCK. Don't store _last_stop if the buffer is dropped. 2006-01-18 16:31:49 +0000 Tim-Philipp Müller plugins/elements/gsttypefindelement.c: 'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the object method ... Original commit message from CVS: * plugins/elements/gsttypefindelement.c: (gst_type_find_element_class_init): 'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the object method handler that sets the caps on the pad and we want that to happen before we emit the signal (fixes e.g. feeding a plain text file to decodebin). 2006-01-18 11:44:55 +0000 Christian Schaller * ChangeLog: * gst/gstplugin.c: add MPL and Properietart to list of licenses Original commit message from CVS: add MPL and Properietart to list of licenses 2006-01-18 09:42:12 +0000 Torsten Schoenfeld gst/gstindex.h (gst_index_add_associationv): Add to header. The symbol was exported before, it appears this was just ... Original commit message from CVS: 2006-01-18 Andy Wingo * gst/gstindex.h (gst_index_add_associationv): Add to header. The symbol was exported before, it appears this was just an oversight. Fixes #168703. Patch by: Torsten Schoenfeld * gst/gstindex.c (gst_index_add_associationv): Changed int in prototype to gint. OK since this prototype was not in the header. 2006-01-17 16:39:23 +0000 Christian Schaller * docs/manual/appendix-licensing.xml: small fix to the proposed license clause Original commit message from CVS: small fix to the proposed license clause 2006-01-17 12:53:07 +0000 Andy Wingo gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the registry while we remove plugins. Original commit message from CVS: 2006-01-17 Andy Wingo * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the registry while we remove plugins. * tools/gst-inspect.c (print_element_info): Don't unref the factory arg, that should be the responsibility of whatever code received the ref. Fixes a double-free when called from print_element_list via gst-inspect-0.10 -a. Fixes #327324. (main): Unref the factory if we have one. (print_element_list): No change -- relies on the plugin_feature_list_free to free the list of features. 2006-01-17 12:14:20 +0000 Jan Schmidt Replace gst_buffer_(make|is)_metadata_writable patch now that the release is out. Original commit message from CVS: * gst/gstbuffer.c: (gst_buffer_is_metadata_writable), (gst_buffer_make_metadata_writable): * gst/gstbuffer.h: * libs/gst/base/gstbasetransform.c: (gst_base_transform_prepare_output_buf): * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf): * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite): Replace gst_buffer_(make|is)_metadata_writable patch now that the release is out. 2006-01-17 12:08:43 +0000 Andy Wingo gst/gstregistry.c: Reflow design comment. Update so as to speak in the present tense without reference to versions. Original commit message from CVS: 2006-01-17 Andy Wingo * gst/gstregistry.c: Reflow design comment. Update so as to speak in the present tense without reference to versions. * gst/gstregistry.c (gst_registry_add_plugin) (gst_registry_remove_plugin, gst_registry_remove_feature) (gst_registry_find_feature, gst_registry_get_feature_list) (gst_registry_get_plugin_list, gst_registry_lookup_feature) (gst_registry_lookup, gst_registry_scan_path) (_gst_registry_remove_cache_plugins) (gst_registry_get_feature_list_by_plugin): Add argument validation. 2006-01-16 21:00:53 +0000 Thomas Vander Stichele * configure.ac: back to HEAD Original commit message from CVS: back to HEAD === release 0.10.2 === 2006-01-16 20:59:38 +0000 Thomas Vander Stichele * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * win32/common/config.h: releasing 0.10.2 Original commit message from CVS: releasing 0.10.2 2006-01-16 15:42:08 +0000 Jan Schmidt Back out patch until after the release. Original commit message from CVS: * gst/gstbuffer.c: * gst/gstbuffer.h: * libs/gst/base/gstbasetransform.c: (gst_base_transform_prepare_output_buf): * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf): * tests/check/gst/gstbuffer.c: (gst_test_suite): Back out patch until after the release. 2006-01-16 14:37:54 +0000 Jan Schmidt gst/gstminiobject.c: Spelling fix in docs. Original commit message from CVS: * gst/gstminiobject.c: Spelling fix in docs. * ChangeLog - remove conflict indicator 2006-01-16 14:37:01 +0000 Jan Schmidt (Missed plugins/elements/gstcapsfilter.c in previous commit) Original commit message from CVS: (Missed plugins/elements/gstcapsfilter.c in previous commit) Reviewed By: Andy Wingo * gst/gstbuffer.c: (gst_buffer_is_metadata_writable), (gst_buffer_make_metadata_writable): * gst/gstbuffer.h: Add gst_buffer_(is|make)_metadata_writable as analogues of gst_buffer_(is|make)_writable. * libs/gst/base/gstbasetransform.c: (gst_base_transform_prepare_output_buf): * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf): Use name gst_buffer_(is|make)_metadata_writable functions. * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite): Test gst_buffer_(is|make)_metadata_writable (Closes: #324162) 2006-01-16 14:32:33 +0000 Jan Schmidt gst/gstbuffer.*: Add gst_buffer_(is|make)_metadata_writable as analogues of gst_buffer_(is|make)_writable. Original commit message from CVS: Reviewed By: Andy Wingo * gst/gstbuffer.c: (gst_buffer_is_metadata_writable), (gst_buffer_make_metadata_writable): * gst/gstbuffer.h: Add gst_buffer_(is|make)_metadata_writable as analogues of gst_buffer_(is|make)_writable. * libs/gst/base/gstbasetransform.c: (gst_base_transform_prepare_output_buf): * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf): Use name gst_buffer_(is|make)_metadata_writable functions. * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite): Test gst_buffer_(is|make)_metadata_writable (Closes: #324162) 2006-01-14 22:59:46 +0000 Thomas Vander Stichele * configure.ac: * po/af.po: * po/az.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/de.po: * po/en_GB.po: * po/fr.po: * po/it.po: * po/nb.po: * po/nl.po: * po/ru.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: * win32/common/config.h: prerelease Original commit message from CVS: prerelease 2006-01-14 14:12:26 +0000 Thomas Vander Stichele * tests/check/gst/gstbus.c: * tests/check/gst/gstelement.c: add unlink and some asserts Original commit message from CVS: add unlink and some asserts 2006-01-14 11:20:40 +0000 Thomas Vander Stichele docs/manual/Makefile.am: don't do parallel make Original commit message from CVS: * docs/manual/Makefile.am: don't do parallel make * configure.ac: AC_SUBST HOST_CPU * win32/common/config.h.in: add generations for HOST_CPU and GST_MAJORMINOR * win32/common/config.h: commit generated result 2006-01-13 19:51:48 +0000 Thomas Vander Stichele * docs/random/release: updates to release doc Original commit message from CVS: updates to release doc 2006-01-13 19:17:05 +0000 Tim-Philipp Müller docs/manual/appendix-integration.xml: Update GNOME integration section to use gst_init_get_option_group() instead of ... Original commit message from CVS: * docs/manual/appendix-integration.xml: Update GNOME integration section to use gst_init_get_option_group() instead of the old popt stuff (#322911). Also, GNOME applications should now use gconf*sink and gconf*src instead of the old gconf helper lib we had. 2006-01-13 16:16:24 +0000 Christian Schaller * gstreamer.spec.in: removing 010 suffixing of package name as Fedora only use it for 0.8, want to have the packages be interchangeable Original commit message from CVS: removing 010 suffixing of package name as Fedora only use it for 0.8, want to have the packages be interchangeable 2006-01-13 14:59:00 +0000 Thomas Vander Stichele * configure.ac: * po/LINGUAS: readd zh_TW and force an autogen Original commit message from CVS: readd zh_TW and force an autogen 2006-01-13 14:21:48 +0000 Stefan Kost docs/: add new API entries to the docs Original commit message from CVS: * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * docs/libs/gstreamer-libs-sections.txt: add new API entries to the docs * libs/gst/controller/Makefile.am: * libs/gst/controller/gstcontroller.c: * libs/gst/controller/gstcontroller.h: * libs/gst/controller/gstcontrollerprivate.h: * libs/gst/controller/gsthelper.c: * libs/gst/controller/gstinterpolation.c: move private structs to private header * po/README: gstreamer-0.7 -> gstreamer-0.10 * tests/check/libs/struct_i386.h: remove private structs 2006-01-13 14:19:37 +0000 Thomas Vander Stichele * po/POTFILES.in: trigger a rebuild Original commit message from CVS: trigger a rebuild 2006-01-13 14:19:11 +0000 Thomas Vander Stichele * po/LINGUAS: trigger a rebuild Original commit message from CVS: trigger a rebuild 2006-01-13 14:12:55 +0000 Thomas Vander Stichele plugins/indexers/Makefile.am: Fixes as part of #317048 Original commit message from CVS: * plugins/indexers/Makefile.am: Fixes as part of #317048 2006-01-13 13:41:55 +0000 Thomas Vander Stichele plugins/indexers/Makefile.am: fix #316086 - compilation when mmap is missing Original commit message from CVS: * plugins/indexers/Makefile.am: fix #316086 - compilation when mmap is missing 2006-01-12 22:04:58 +0000 Sébastien Moutte libs/gst/base/gstbasesink.c: *cur = (now - base) * basesink->segment.abs_rate + time; replaced by Original commit message from CVS: * libs/gst/base/gstbasesink.c: *cur = (now - base) * basesink->segment.abs_rate + time; replaced by *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6 * win32/common/config.h: added some defines GST_MAJORMINOR and HOST_CPU * win32/common/libgstbase.def: * win32/common/libgstreamer.def: added some exported functions 2006-01-12 21:55:42 +0000 Stefan Kost libs/gst/controller/: make G_TYPE_STRING controlable Original commit message from CVS: * libs/gst/controller/gstcontroller.c: (gst_controlled_property_set_interpolation_mode), (gst_controlled_property_new): * libs/gst/controller/gstcontroller.h: * libs/gst/controller/gstinterpolation.c: (interpolate_none_get_string_value_array): make G_TYPE_STRING controlable 2006-01-12 16:31:35 +0000 Stefan Kost tools/: cleanup man-pages, remove reference to gst-register, document env-vars Original commit message from CVS: * tools/README: * tools/gst-feedback.1.in: * tools/gst-inspect.1.in: * tools/gst-launch.1.in: * tools/gst-md5sum.1.in: * tools/gst-typefind.1.in: * tools/gst-xmlinspect.1.in: * tools/gst-xmllaunch.1.in: cleanup man-pages, remove reference to gst-register, document env-vars 2006-01-12 16:07:50 +0000 Jan Schmidt gst/gstbuffer.c: gst_buffer_span should copy the timestamp of the first buffer if they were both originally overlappi... Original commit message from CVS: * gst/gstbuffer.c: (gst_buffer_span): gst_buffer_span should copy the timestamp of the first buffer if they were both originally overlapping subbuffers of the same parent, using the same logic as the 'slow copy' case. 2006-01-11 21:32:21 +0000 Jan Schmidt libs/gst/base/gstcollectpads.c: Need to awaken ALL the pads when we pop a buffer, otherwise collectpads only works wh... Original commit message from CVS: * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop): Need to awaken ALL the pads when we pop a buffer, otherwise collectpads only works when there is 2 input streams. 2006-01-11 19:18:27 +0000 Stefan Kost docs/random/ensonic/media-device-daemon.txt: more ideas (dbus) Original commit message from CVS: * docs/random/ensonic/media-device-daemon.txt: more ideas (dbus) * gst/gstbuffer.c: fix doc example, add clarification * tools/gst-launch.1.in: add initial info about GST_PLUGIN_PATH, needs more work 2006-01-11 10:38:56 +0000 Tim-Philipp Müller docs/manual/: Some more minor docs additions and updates. Original commit message from CVS: * docs/manual/basics-bins.xml: * docs/manual/basics-elements.xml: * docs/manual/intro-basics.xml: Some more minor docs additions and updates. 2006-01-11 10:20:06 +0000 Wim Taymans docs/manual/: Some small fixes as pointed out by Ser-ver on IRC. Original commit message from CVS: * docs/manual/basics-bins.xml: * docs/manual/basics-elements.xml: Some small fixes as pointed out by Ser-ver on IRC. 2006-01-10 15:42:29 +0000 Edward Hervey plugins/elements/gstidentity.c: Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using the single-segment... Original commit message from CVS: * plugins/elements/gstidentity.c: (gst_identity_transform_ip): Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using the single-segment mode. 2006-01-10 09:23:11 +0000 Tim-Philipp Müller libs/gst/base/gstbasesrc.*: Name (private) union; makes Sun's Forte compiler happy (#324900). Original commit message from CVS: Reviewed by: Tim-Philipp Müller * libs/gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_perform_seek), (gst_base_src_send_event), (gst_base_src_set_property), (gst_base_src_get_property), (gst_base_src_loop), (gst_base_src_start), (gst_base_src_activate_push): * libs/gst/base/gstbasesrc.h: Name (private) union; makes Sun's Forte compiler happy (#324900). 2006-01-09 10:47:17 +0000 Tim-Philipp Müller README: gst-register is gone. Original commit message from CVS: * README: gst-register is gone. 2006-01-07 11:07:42 +0000 Thomas Vander Stichele * po/LINGUAS: remove and readd Original commit message from CVS: remove and readd 2006-01-07 11:07:14 +0000 Thomas Vander Stichele * common: * po/LINGUAS: remove and readd Original commit message from CVS: remove and readd 2006-01-07 10:04:36 +0000 Thomas Vander Stichele gst/gstvalue.c: make the G_TYPE_DATE instantiation work if debug is disabled Original commit message from CVS: * gst/gstvalue.c: (_gst_value_initialize): make the G_TYPE_DATE instantiation work if debug is disabled 2006-01-07 09:56:01 +0000 Thomas Vander Stichele * po/af.po: * po/az.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/de.po: * po/en_GB.po: * po/fr.po: * po/it.po: * po/nb.po: * po/nl.po: * po/ru.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_TW.po: update translations Original commit message from CVS: update translations 2006-01-06 17:16:40 +0000 Tim-Philipp Müller gst/gstmessage.c: Don't crash when return location for error/warning debug string is NULL; add fact that return locat... Original commit message from CVS: * gst/gstmessage.c: (gst_message_parse_tag), (gst_message_parse_error), (gst_message_parse_warning): Don't crash when return location for error/warning debug string is NULL; add fact that return locations can be NULL to docs where appropriate. 2006-01-05 10:43:02 +0000 Wim Taymans gst/gstplugin.c: Replace strdup by g_strdup as suggested by Ser-ver. Original commit message from CVS: * gst/gstplugin.c: (gst_plugin_load_file): Replace strdup by g_strdup as suggested by Ser-ver. 2006-01-04 23:53:01 +0000 Thomas Vander Stichele * win32/common/config.h: update config for .1 Original commit message from CVS: update config for .1 2006-01-04 23:52:35 +0000 Thomas Vander Stichele docs/pwg/advanced-types.xml: fix doc borkage Original commit message from CVS: * docs/pwg/advanced-types.xml: fix doc borkage 2006-01-04 23:50:18 +0000 Thomas Vander Stichele submitted by: Abel Cheung Original commit message from CVS: submitted by: Abel Cheung * po/LINGUAS: * po/zh_TW.po: Added Chinese (traditional) translation 2006-01-04 12:41:35 +0000 Wim Taymans Small updates to various docs. Original commit message from CVS: * docs/manual/basics-pads.xml: * docs/plugins/Makefile.am: * docs/plugins/gstreamer-plugins-docs.sgml: * docs/plugins/gstreamer-plugins-sections.txt: * docs/pwg/advanced-clock.xml: * docs/pwg/advanced-scheduling.xml: * docs/pwg/advanced-types.xml: * plugins/elements/gstfdsink.c: * plugins/elements/gstfdsrc.c: * plugins/elements/gstfdsrc.h: * plugins/elements/gstidentity.c: (gst_identity_class_init): * plugins/elements/gstidentity.h: * plugins/elements/gstqueue.h: * plugins/elements/gsttee.c: * plugins/elements/gsttee.h: * plugins/elements/gsttypefindelement.c: (gst_type_find_element_class_init): * plugins/elements/gsttypefindelement.h: Small updates to various docs. Added core plugins to docs. 2006-01-03 18:08:04 +0000 Thomas Vander Stichele common/gst.supp: add a suppression for liboil's uninitialized variable Original commit message from CVS: * common/gst.supp: add a suppression for liboil's uninitialized variable 2006-01-02 20:26:06 +0000 Tim-Philipp Müller gst/gstutils.h: Add prototype for _get_type() function to GST_BOILERPLATE_FULL macro, so that gcc doesn't complain if... Original commit message from CVS: Reviewed by: Tim-Philipp Müller * gst/gstutils.h: Add prototype for _get_type() function to GST_BOILERPLATE_FULL macro, so that gcc doesn't complain if the -Wmissing-prototypes compiler switch is being used (#325429). 2005-12-29 16:47:27 +0000 Tim-Philipp Müller gst/gstbin.c: Disable duration query caching in bins until it gets fixed (see #324807). Original commit message from CVS: * gst/gstbin.c: (gst_bin_query): Disable duration query caching in bins until it gets fixed (see #324807). 2005-12-27 18:04:58 +0000 Tim-Philipp Müller tools/gst-inspect.c: Handle properties of POINTER and BOXED type. Original commit message from CVS: * tools/gst-inspect.c: (print_element_properties_info): Handle properties of POINTER and BOXED type. 2005-12-27 12:11:19 +0000 Tim-Philipp Müller gst/gst.c: Init tags stuff and some other things before loading any static plugins (there may be other static plugins... Original commit message from CVS: * gst/gst.c: (init_post): Init tags stuff and some other things before loading any static plugins (there may be other static plugins than just the GStreamer ones, and they may want to register their own tags or formats or whatever, and preferably without segfaulting). * plugins/elements/gstqueue.c: (gst_queue_handle_src_query): Print at least a warning in the debug logs if we drop a query just because we don't know how to adjust the value in the particular format. 2005-12-25 03:45:45 +0000 David Schleef tools/gstreamer-completion: Replacement for gst-complete written in sh and sed. Only completes names of features, bu... Original commit message from CVS: * tools/gstreamer-completion: Replacement for gst-complete written in sh and sed. Only completes names of features, but that's 90% of what I want it for. Properties are not available in registry.xml. (Maybe they should be...) 2005-12-23 18:15:48 +0000 Thomas Vander Stichele * configure.ac: back to HEAD Original commit message from CVS: back to HEAD === release 0.10.1 === 2005-12-23 18:04:49 +0000 Thomas Vander Stichele * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * libs/gst/base/gstbasesrc.c: * win32/common/config.h: releasing 0.10.1 Original commit message from CVS: releasing 0.10.1 2005-12-23 14:53:12 +0000 Thomas Vander Stichele * po/af.po: * po/az.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/de.po: * po/en_GB.po: * po/fr.po: * po/it.po: * po/nb.po: * po/nl.po: * po/ru.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: Update .po files Original commit message from CVS: Update .po files 2005-12-23 13:45:22 +0000 Thomas Vander Stichele * tests/check/libs/.gitignore: ignore more Original commit message from CVS: ignore more 2005-12-22 14:48:14 +0000 Tim-Philipp Müller docs/faq/cvs.xml: Add missing quote, should be make ERROR_CFLAGS="". Original commit message from CVS: * docs/faq/cvs.xml: Add missing quote, should be make ERROR_CFLAGS="". 2005-12-20 16:01:09 +0000 Thomas Vander Stichele * ChangeLog: * configure.ac: * po/af.po: * po/az.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/de.po: * po/en_GB.po: * po/fr.po: * po/it.po: * po/nb.po: * po/nl.po: * po/ru.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * win32/common/config.h: prereleasing Original commit message from CVS: prereleasing 2005-12-20 12:50:56 +0000 Wim Taymans docs/design/part-trickmodes.txt: More documentation on trickmodes. Original commit message from CVS: * docs/design/part-trickmodes.txt: More documentation on trickmodes. 2005-12-20 11:12:53 +0000 Edward Hervey gst/gstcaps.*: Added gpointer GType for GstStaticCaps so we can wrap them in bindings. Original commit message from CVS: * gst/gstcaps.c: (gst_static_caps_get_type): * gst/gstcaps.h: Added gpointer GType for GstStaticCaps so we can wrap them in bindings. * gst/gstpadtemplate.c: (gst_static_pad_template_get_type): * gst/gstpadtemplate.h: Added gpointer GType for GstStaticPadTemplate so we can wrap them in bindings. 2005-12-18 16:04:41 +0000 Wim Taymans libs/gst/: Documentation updates. Original commit message from CVS: * libs/gst/base/gstadapter.c: * libs/gst/base/gstadapter.h: * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init), (gst_base_sink_get_position): * libs/gst/base/gstbasesink.h: * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init), (gst_base_src_default_query), (gst_base_src_default_do_seek), (gst_base_src_do_seek), (gst_base_src_perform_seek), (gst_base_src_send_event), (gst_base_src_update_length), (gst_base_src_get_range), (gst_base_src_loop), (gst_base_src_start): * libs/gst/base/gstbasesrc.h: * libs/gst/base/gstbasetransform.h: * libs/gst/base/gstcollectpads.h: * libs/gst/base/gstpushsrc.c: * libs/gst/base/gstpushsrc.h: * libs/gst/dataprotocol/dataprotocol.c: * libs/gst/dataprotocol/dataprotocol.h: * libs/gst/net/gstnetclientclock.h: * libs/gst/net/gstnettimeprovider.h: Documentation updates. 2005-12-18 14:28:25 +0000 Tim-Philipp Müller docs/manual/basics-helloworld.xml: Remove superfluous closing bracket in helloworld example. Original commit message from CVS: * docs/manual/basics-helloworld.xml: Remove superfluous closing bracket in helloworld example. 2005-12-17 14:19:27 +0000 Tim-Philipp Müller tools/gst-launch.1.in: Update gst-launch man page; add a section with useful environment variables. Fixes #323882. Original commit message from CVS: * tools/gst-launch.1.in: Update gst-launch man page; add a section with useful environment variables. Fixes #323882. 2005-12-16 21:59:12 +0000 Stefan Kost gst/: change some char* into char[] Original commit message from CVS: * gst/gst.c: * gst/gst_private.h: change some char* into char[] 2005-12-16 19:24:24 +0000 Wim Taymans gst/gstregistryxml.c: Cleanups. Original commit message from CVS: * gst/gstregistryxml.c: (load_feature): Cleanups. Don't use g_object_unref on GstObjects so that we avoid leaks on unsafe glibs. 2005-12-16 18:20:58 +0000 Wim Taymans gst/gstbin.c: Small doc updates. Original commit message from CVS: * gst/gstbin.c: (gst_bin_recalc_state): Small doc updates. 2005-12-16 18:10:04 +0000 Wim Taymans common/check.mak: Added make forever target for check. Original commit message from CVS: * common/check.mak: Added make forever target for check. 2005-12-16 17:34:19 +0000 Thomas Vander Stichele gst/gst.c: make the registry cache file HOST_CPU-dependent Original commit message from CVS: * gst/gst.c: (init_post): make the registry cache file HOST_CPU-dependent 2005-12-16 14:44:49 +0000 Andy Wingo * ChangeLog: * plugins/elements/gstbufferstore.c: * tests/check/gst/gstobject.c: plugins/elements/gstbufferstore.c Original commit message from CVS: 2005-12-16 Andy Wingo * plugins/elements/gstbufferstore.c (gst_buffer_store_cleared_func): Pay attention to g_list_append return value. * tests/check/gst/gstobject.c (test_fake_object_name_threaded_unique): Pay attention to g_list_sort return value. 2005-12-16 11:52:00 +0000 Tim-Philipp Müller tools/gst-feedback-m.m: Update for 0.9/0.10 (fixes #323870). Original commit message from CVS: * tools/gst-feedback-m.m: Update for 0.9/0.10 (fixes #323870). 2005-12-15 12:22:38 +0000 Tim-Philipp Müller gst/gstminiobject.c: Fix lcopy for mini objects, the mini object needs to be ref'ed. Original commit message from CVS: * gst/gstminiobject.c: (gst_value_mini_object_lcopy): Fix lcopy for mini objects, the mini object needs to be ref'ed. * tests/check/gst/gstminiobject.c: (my_foo_init), (my_foo_get_property), (my_foo_set_property), (my_foo_class_init), (test_value_collection), (gst_mini_object_suite): Add test to ensure refcounts end up as expected when passing GstMiniObjects through g_object_get() and g_object_set(). 2005-12-14 17:08:36 +0000 Julien Moutte libs/gst/base/gstcollectpads.c: Refactoring of collectpads. This version removes a lot of races without touching API/... Original commit message from CVS: 2005-12-14 Julien MOUTTE * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init), (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected), (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring of collectpads. This version removes a lot of races without touching API/ABI. Yay ! 2005-12-14 10:09:35 +0000 Jan Schmidt gst/gstpad.c: Don't allow activation of a srcpad in pull_range if it has no getrange function. Original commit message from CVS: * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare): Don't allow activation of a srcpad in pull_range if it has no getrange function. Change some debug statements to be a little clearer * plugins/elements/gsttypefindelement.c: (gst_type_find_handle_src_query): Check that we have a peer before executing queries thereupon. * tests/examples/metadata/read-metadata.c: (message_loop): Use gst_bus_pop instead of gst_bus_poll when we just want it to immediately return us any available message with 0 timeout. 2005-12-12 19:09:49 +0000 Michael Smith gst/gsttypefindfactory.c: Don't unref factories after calling them. Original commit message from CVS: * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function): Don't unref factories after calling them. * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper): * plugins/elements/gsttypefindelement.c: (gst_type_find_element_chain): Free lists of factories after using them. Fixing typefinding memory leaks. 2005-12-12 18:12:13 +0000 Stefan Kost gst/gstpluginfeature.c: more meaningful debug output Original commit message from CVS: * gst/gstpluginfeature.c: (gst_plugin_feature_finalize), (gst_plugin_feature_load): more meaningful debug output * configure.ac: * tests/Makefile.am: * tests/old/examples/Makefile.am: make make distcheck happy again 2005-12-12 17:37:17 +0000 Thomas Vander Stichele * configure.ac: remove all tests/old Makefiles from the build Original commit message from CVS: remove all tests/old Makefiles from the build 2005-12-12 17:09:04 +0000 Tim-Philipp Müller plugins/elements/gsttypefindelement.c: Catch the special case where we are operating chain-based, but the downstream ... Original commit message from CVS: * plugins/elements/gsttypefindelement.c: (stop_typefinding): Catch the special case where we are operating chain-based, but the downstream peer pad has no chain function. Emit a custom error message in this case instead of letting the core generate one implying that this is some sort of core bug. It's not, it just means that whatever got plugged into the pipeline downstream when we announced the type can only operate pull-based, while our source can only operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...) Error string has not been marked for translation yet, as it probably needs some more work first. (gst_type_find_element_get_best_possibility): Add helper function to find the best of all available found possibilities that qualify given the min. threshold. (gst_type_find_element_handle_event): Fix the case where we get an EOS while still in TYPEFIND mode (we want to chose the best of all possible types, not just the first type that happens to be in our unsorted list of possible types). (gst_type_find_element_chain): Make sure we return GST_FLOW_ERROR when we errored out in stop_typefinding(); also, don't just find the best of all found type entries and then use the last examined type entry, but actually use the best entry. 2005-12-12 17:07:05 +0000 Tim-Philipp Müller tests/examples/: More gcc4 fixes and a mem leak fix. Original commit message from CVS: * tests/examples/typefind/typefind.c: (type_found): * tests/examples/xml/runxml.c: (xml_loaded): More gcc4 fixes and a mem leak fix. 2005-12-12 16:20:47 +0000 Stefan Kost * tests/examples/xml/runxml.c: more gcc 4 warning fixes Original commit message from CVS: more gcc 4 warning fixes 2005-12-12 16:04:45 +0000 Stefan Kost * tests/examples/xml/createxml.c: another gcc4 fix Original commit message from CVS: another gcc4 fix 2005-12-12 15:59:48 +0000 Stefan Kost tests/examples/xml/createxml.c: gcc 4 fixes Original commit message from CVS: * tests/examples/xml/createxml.c: (object_saved): gcc 4 fixes 2005-12-12 15:46:16 +0000 Stefan Kost tests/Makefile.am: enable the examples even more Original commit message from CVS: * tests/Makefile.am: enable the examples even more 2005-12-12 15:02:02 +0000 Andy Wingo libs/gst/net/gstnettimeprovider.c (gst_net_time_provider_class_init, gst_net_time_provider_init) (gst_net_time_provid... Original commit message from CVS: 2005-12-12 Andy Wingo * libs/gst/net/gstnettimeprovider.c (gst_net_time_provider_class_init, gst_net_time_provider_init) (gst_net_time_provider_set_property) (gst_net_time_provider_get_property): Export "active" as a GObject property. (gst_net_time_provider_thread): Only respond to time queries if the time provider is active. * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to NetTimeProvider, preserving binary compat. 2005-12-12 14:46:06 +0000 Stefan Kost tests/examples/: convert comments again Original commit message from CVS: * tests/examples/controller/audio-example.c: (main): * tests/examples/launch/Makefile.am: convert comments again 2005-12-12 14:43:57 +0000 Wim Taymans libs/gst/base/gstpushsrc.c: Fix typo. Original commit message from CVS: * libs/gst/base/gstpushsrc.c: Fix typo. 2005-12-12 14:42:11 +0000 Wim Taymans * ChangeLog: Forgot the Changelog... Original commit message from CVS: Forgot the Changelog... 2005-12-12 14:41:05 +0000 Wim Taymans docs/libs/gstreamer-libs-sections.txt: Added new symbol to docs. Original commit message from CVS: * docs/libs/gstreamer-libs-sections.txt: Added new symbol to docs. * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init), (gst_base_src_init), (gst_base_src_set_format), (gst_base_src_default_query), (gst_base_src_query), (gst_base_src_default_do_seek), (gst_base_src_do_seek), (gst_base_src_perform_seek), (gst_base_src_send_event), (gst_base_src_default_event), (gst_base_src_event_handler), (gst_base_src_set_property), (gst_base_src_get_property), (gst_base_src_wait), (gst_base_src_do_sync), (gst_base_src_update_length), (gst_base_src_get_range), (gst_base_src_check_get_range), (gst_base_src_loop), (gst_base_src_default_negotiate), (gst_base_src_start), (gst_base_src_activate_push), (gst_base_src_activate_pull), (gst_base_src_change_state): * libs/gst/base/gstbasesrc.h: Implement seeking to other formats than _BYTES. Implement more seeking methods correctly. Doc updates. Added query vmethod. Added do_seek vmethod to make life easier for subclasses when seeking. API addition: gst_base_src_set_format() 2005-12-12 14:08:09 +0000 Stefan Kost tests/examples/Makefile.am: added that too Original commit message from CVS: * tests/examples/Makefile.am: added that too 2005-12-12 14:02:18 +0000 Stefan Kost applied some simple fixing to some examples re-enabled the working examples Original commit message from CVS: * configure.ac: * docs/random/ensonic/media-device-daemon.txt: * tests/examples/controller/.cvsignore: * tests/examples/controller/Makefile.am: * tests/examples/controller/audio-example.c: (main): * tests/examples/helloworld/.cvsignore: * tests/examples/helloworld/Makefile.am: * tests/examples/helloworld/helloworld.c: (event_loop), (main): * tests/examples/launch/.cvsignore: * tests/examples/launch/Makefile.am: * tests/examples/launch/mp3parselaunch.c: (event_loop), (main): * tests/examples/metadata/.cvsignore: * tests/examples/metadata/Makefile.am: * tests/examples/metadata/read-metadata.c: (message_loop), (make_pipeline), (print_tag), (main): * tests/examples/queue/.cvsignore: * tests/examples/queue/Makefile.am: * tests/examples/queue/queue.c: (event_loop), (main): * tests/examples/typefind/.cvsignore: * tests/examples/typefind/Makefile.am: * tests/examples/typefind/typefind.c: (type_found), (event_loop), (main): * tests/examples/xml/.cvsignore: * tests/examples/xml/Makefile.am: * tests/examples/xml/createxml.c: (object_saved), (main): * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main): * tests/old/examples/Makefile.am: * tests/old/examples/TODO: * tests/old/examples/controller/.cvsignore: * tests/old/examples/controller/Makefile.am: * tests/old/examples/controller/audio-example.c: * tests/old/examples/helloworld/.cvsignore: * tests/old/examples/helloworld/Makefile.am: * tests/old/examples/helloworld/helloworld.c: * tests/old/examples/launch/.cvsignore: * tests/old/examples/launch/Makefile.am: * tests/old/examples/launch/mp3parselaunch.c: * tests/old/examples/launch/mp3play: * tests/old/examples/manual/Makefile.am: * tests/old/examples/metadata/Makefile.am: * tests/old/examples/metadata/read-metadata.c: * tests/old/examples/queue/.cvsignore: * tests/old/examples/queue/Makefile.am: * tests/old/examples/queue/queue.c: * tests/old/examples/typefind/.cvsignore: * tests/old/examples/typefind/Makefile.am: * tests/old/examples/typefind/typefind.c: * tests/old/examples/xml/.cvsignore: * tests/old/examples/xml/Makefile.am: * tests/old/examples/xml/createxml.c: * tests/old/examples/xml/runxml.c: applied some simple fixing to some examples re-enabled the working examples 2005-12-12 12:48:35 +0000 Wim Taymans gst/gstsegment.c: Added more documentation. Original commit message from CVS: * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_last_stop), (gst_segment_set_seek), (gst_segment_set_newsegment), (gst_segment_to_stream_time), (gst_segment_to_running_time): Added more documentation. Make sure the last_pos value is updated properly. Make sure to_stream_time and to_running_time don't operate on wrong values. * tests/check/gst/gstsegment.c: (GST_START_TEST): Update check. 2005-12-12 12:32:04 +0000 Michael Smith plugins/elements/gsttypefindelement.c: Now that we're not leaking factories, make sure we keep references to them whi... Original commit message from CVS: * plugins/elements/gsttypefindelement.c: (free_entry), (gst_type_find_element_chain): Now that we're not leaking factories, make sure we keep references to them while we need them. 2005-12-12 11:40:11 +0000 Thomas Vander Stichele tests/check/gst/struct_i386.h: ifdef out the XML structs Original commit message from CVS: * tests/check/gst/struct_i386.h: ifdef out the XML structs 2005-12-12 10:59:12 +0000 Thomas Vander Stichele gst/gstvalue.c: floor is not needed, F is always positive; this obviates the need for adding -lm when building withou... Original commit message from CVS: * gst/gstvalue.c: (gst_value_transform_double_fraction): floor is not needed, F is always positive; this obviates the need for adding -lm when building without libxml 2005-12-12 10:57:37 +0000 Thomas Vander Stichele * docs/random/aspectratio: * tests/check/gst/gstbus.c: add a ; and an example Original commit message from CVS: add a ; and an example 2005-12-12 10:16:11 +0000 Wim Taymans libs/gst/base/gstbasesink.c: Take current playback rate into account when reporting the position. Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position): Take current playback rate into account when reporting the position. 2005-12-11 19:35:02 +0000 Tim-Philipp Müller docs/manual/mime-world.fig: Let's try this again, this time with a file that is actually in XFig format. Original commit message from CVS: * docs/manual/mime-world.fig: Let's try this again, this time with a file that is actually in XFig format. 2005-12-11 19:19:09 +0000 Tim-Philipp Müller docs/manual/mime-world.fig: Add audioconvert element to diagram so that it matches the text and the code (fixes #3195... Original commit message from CVS: * docs/manual/mime-world.fig: Add audioconvert element to diagram so that it matches the text and the code (fixes #319526). 2005-12-11 18:24:27 +0000 Tim-Philipp Müller docs/pwg/: Update state change stuff for 0.10 (fixes #322969). Original commit message from CVS: * docs/pwg/building-chainfn.xml: * docs/pwg/building-pads.xml: * docs/pwg/building-state.xml: * docs/pwg/other-source.xml: Update state change stuff for 0.10 (fixes #322969). 2005-12-11 17:49:10 +0000 Tim-Philipp Müller docs/manual/: Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/; add converters in front of pipelines; remove ... Original commit message from CVS: * docs/manual/advanced-dataaccess.xml: * docs/manual/appendix-checklist.xml: * docs/manual/appendix-programs.xml: * docs/manual/basics-pads.xml: * docs/manual/highlevel-components.xml: * docs/manual/manual.xml: Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/; add converters in front of pipelines; remove curly brackets for threads stuff, they no longer exist; use GST_TYPE_FRACTION for framerates; update some pieces of code to 0.10, but there's plenty more to do. * docs/manual/appendix-porting.xml: Expand on asynchroneous state changes; s/0.9/0.10/; mention disappearance of gst_init_get_popt_table() (fixes #322916). 2005-12-11 11:53:56 +0000 Tim-Philipp Müller docs/faq/using.xml: Spider no longer exists, and neither does gst-launch-ext. Original commit message from CVS: * docs/faq/using.xml: Spider no longer exists, and neither does gst-launch-ext. Update examples to use decodebin and playbin and put converters in front of sinks (fixes #323726). 2005-12-09 17:26:31 +0000 Michael Smith plugins/elements/gsttypefindelement.c: Fix leaking element factories in typefinding. Original commit message from CVS: * plugins/elements/gsttypefindelement.c: (find_peek), (gst_type_find_element_chain): Fix leaking element factories in typefinding. Fix problem where we forgot about a probable type on non-seekable files, and thus later mis-typefound it. 2005-12-09 15:09:42 +0000 Michael Smith Remove makecontext stuff; not used in 0.10 and causes problems on Original commit message from CVS: * common/m4/gst-makecontext.m4: * common/m4/gst-mcsc.m4: * configure.ac: * win32/common/config.h: * win32/common/config.h.in: Remove makecontext stuff; not used in 0.10 and causes problems on HPUX according to bug #322441 2005-12-07 19:03:54 +0000 Wim Taymans tests/check/: Added ABI check for libs, this time for real Original commit message from CVS: * tests/check/Makefile.am: * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite), (main): * tests/check/libs/struct_i386.h: Added ABI check for libs, this time for real 2005-12-07 19:03:08 +0000 Wim Taymans tests/check/: Added ABI check for libs Original commit message from CVS: * tests/check/Makefile.am: * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite), (main): * tests/check/libs/struct_i386.h: Added ABI check for libs 2005-12-07 17:59:21 +0000 Wim Taymans tests/check/Makefile.am: And add the struct_i386.h to dist. Original commit message from CVS: * tests/check/Makefile.am: And add the struct_i386.h to dist. 2005-12-07 17:36:44 +0000 Wim Taymans tests/check/: Added check for ABI compatibility. Original commit message from CVS: * tests/check/Makefile.am: * tests/check/gst/.cvsignore: * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite), (main): * tests/check/gst/struct_i386.h: Added check for ABI compatibility. 2005-12-07 15:33:42 +0000 Wim Taymans plugins/elements/gstfakesrc.c: Fix broken sync option, fixes #323259 Original commit message from CVS: * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init), (gst_fake_src_get_times), (gst_fake_src_create): Fix broken sync option, fixes #323259 2005-12-07 15:16:43 +0000 Wim Taymans gst/gstbuffer.c: Small docs update. Original commit message from CVS: * gst/gstbuffer.c: Small docs update. * gst/gstcaps.c: (gst_caps_is_equal): Don't assert on NULL <--> X. Fixes #323260 * gst/gstminiobject.c: (gst_mini_object_replace): If we're doing atomic operations, we might just as well use the proper way to get an atomic pointer. * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position): Clean up debugging. 2005-12-07 11:52:05 +0000 Michael Smith gst/parse/grammar.y: Remove handling of { } for threads. Original commit message from CVS: * gst/parse/grammar.y: Remove handling of { } for threads. 2005-12-06 23:32:01 +0000 David Schleef libs/gst/base/gstbasetransform.c: speling fix. Original commit message from CVS: * libs/gst/base/gstbasetransform.c: speling fix. 2005-12-06 19:29:15 +0000 Thomas Vander Stichele * ChangeLog: * docs/libs/tmpl/gstdataprotocol.sgml: * docs/random/omega/testing/gstobject.c: * gst/gst.c: * gst/gstclock.c: * gst/gstelement.c: * gst/gstelementfactory.c: * gst/gsterror.c: * gst/gstevent.c: * gst/gstghostpad.c: * gst/gstinfo.c: * gst/gstpadtemplate.c: * gst/gstregistryxml.c: * gst/gsttaglist.c: * gst/gsttagsetter.c: * gst/gsttypefind.c: * gst/gstvalue.c: * libs/gst/base/gstbasesrc.c: * libs/gst/net/gstnetclientclock.c: * libs/gst/net/gstnettimeprovider.c: * plugins/elements/gstfakesrc.c: * plugins/elements/gstfdsrc.c: * plugins/elements/gstfilesrc.c: * plugins/elements/gstidentity.c: * plugins/elements/gstqueue.c: * plugins/elements/gsttypefindelement.c: * plugins/indexers/gstfileindex.c: * plugins/indexers/gstmemindex.c: * tests/check/gst/gsttag.c: * tests/old/examples/cutter/cutter.c: * tests/old/examples/mixer/mixer.c: * tests/old/examples/xml/runxml.c: * tests/old/testsuite/caps/normalisation.c: * tests/old/testsuite/debug/global.c: * tests/old/testsuite/parse/parse1.c: * tools/gst-xmlinspect.c: * win32/common/dirent.c: expand tabs Original commit message from CVS: expand tabs 2005-12-06 19:04:49 +0000 Thomas Vander Stichele * win32/common/config.h: back to cvs Original commit message from CVS: back to cvs 2005-12-05 18:13:00 +0000 Thomas Vander Stichele * configure.ac: back to HEAD Original commit message from CVS: back to HEAD === release 0.10.0 === 2005-12-05 18:05:01 +0000 Thomas Vander Stichele * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/libs/tmpl/gstdataprotocol.sgml: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * win32/common/config.h: releasing 0.10.0 Original commit message from CVS: releasing 0.10.0 2005-12-05 15:57:48 +0000 Thomas Vander Stichele * po/af.po: * po/az.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/de.po: * po/en_GB.po: * po/fr.po: * po/it.po: * po/nb.po: * po/nl.po: * po/ru.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: Update .po files Original commit message from CVS: Update .po files 2005-12-05 14:36:05 +0000 Thomas Vander Stichele po/: added Chinese (Traditional) translation Original commit message from CVS: submitted by: Funda Wang * po/LINGUAS: * po/zh_CN.po: added Chinese (Traditional) translation 2005-12-05 14:14:39 +0000 Thomas Vander Stichele * po/af.po: updated Afrikaans translation Original commit message from CVS: updated Afrikaans translation 2005-12-05 14:14:02 +0000 Thomas Vander Stichele * gst/gstpad.h: remove deprecation guard from docstring Original commit message from CVS: remove deprecation guard from docstring 2005-12-05 13:10:44 +0000 Thomas Vander Stichele * po/af.po: * po/az.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/de.po: * po/en_GB.po: * po/fr.po: * po/it.po: * po/nb.po: * po/nl.po: * po/ru.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: update translations Original commit message from CVS: update translations 2005-12-05 13:06:37 +0000 Thomas Vander Stichele * ChangeLog: * docs/gst/gstreamer-sections.txt: * docs/random/thomasvs/TODO: * gst/gstutils.c: * gst/gstutils.h: fix docs Original commit message from CVS: fix docs 2005-12-05 13:01:35 +0000 Wim Taymans libs/gst/base/gstbasetransform.c (gst_base_transform_prepare_output_buf) Original commit message from CVS: 2005-12-05 Andy Wingo patch by: Wim Taymans * libs/gst/base/gstbasetransform.c (gst_base_transform_prepare_output_buf) (gst_base_transform_buffer_alloc): * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call alloc_buffer_and_set_caps. * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call set_caps on the source pad. (gst_pad_alloc_buffer_and_set_caps): New function, does what alloc_buffer used to do. Fixes #322874. * docs/gst/gstreamer-sections.txt: * docs/design/part-negotiation.txt: * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer changes. 2005-12-05 12:33:44 +0000 Thomas Vander Stichele * tests/check/gst/gstutils.c: really add the tests for the 64/double conversion Original commit message from CVS: really add the tests for the 64/double conversion 2005-12-05 12:09:43 +0000 Thomas Vander Stichele * win32/common/libgstcontroller.def: add def for controller Original commit message from CVS: add def for controller 2005-12-05 12:09:01 +0000 Sebastien Moutte win32/: win32 build fixes Original commit message from CVS: patch by: Sebastien Moutte * win32/MANIFEST: * win32/common/config.h.in: * win32/vs6/libgstcontroller.dsp: win32 build fixes 2005-12-05 10:59:17 +0000 Wim Taymans Back out previous code changes, leave doc updates, file bugs instead. Original commit message from CVS: * gst/gstcaps.c: (gst_caps_is_equal): * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init), (gst_fake_src_create): Back out previous code changes, leave doc updates, file bugs instead. 2005-12-05 10:27:59 +0000 Wim Taymans plugins/elements/gstfakesrc.*: Fix broken sync code. Original commit message from CVS: * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init), (gst_fake_src_get_times), (gst_fake_src_create): * plugins/elements/gstfakesrc.h: Fix broken sync code. 2005-12-05 10:22:55 +0000 Wim Taymans gst/gstcaps.c: Comparing NULL against !NULL yields different caps, not a failure. Original commit message from CVS: * gst/gstcaps.c: (gst_caps_is_equal): Comparing NULL against !NULL yields different caps, not a failure. 2005-12-05 10:18:27 +0000 Wim Taymans gst/gstpipeline.c: Fix small typo in docs. Original commit message from CVS: * gst/gstpipeline.c: Fix small typo in docs. 2005-12-05 09:53:54 +0000 Thomas Vander Stichele gst/gst.c (init_post): remove hard-coded 0.9 location for registries/plugins with a MAJORMINOR one. Original commit message from CVS: 2005-12-05 Andy Wingo patch by: Thomas Vander Stichele * gst/gst.c (init_post): remove hard-coded 0.9 location for registries/plugins with a MAJORMINOR one. (plugin_desc): Rename library from gstcoreleements to staticelements. Fixes #323222. 2005-12-05 09:45:29 +0000 Tim-Philipp Müller libs/gst/base/gstcollectpads.c: Change debug category to 'collectpads' from 'collect_pads' (fixes #323250). Original commit message from CVS: * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init): Change debug category to 'collectpads' from 'collect_pads' (fixes #323250). 2005-12-04 19:57:26 +0000 Thomas Vander Stichele * win32/common/libgstreamer.def: rename two exports Original commit message from CVS: rename two exports 2005-12-04 18:54:19 +0000 Sebastien Moutte libs/gst/controller/gstinterpolation.c: use convert function for uint64/double Original commit message from CVS: patch by: Sebastien Moutte * libs/gst/controller/gstinterpolation.c: use convert function for uint64/double * win32/vs6/libgstcontroller.dsp: link to GLib 2005-12-04 09:57:11 +0000 Thomas Vander Stichele add tests that seem to show that the guint64/gdouble conversions are correct. Original commit message from CVS: * gst/gstutils.c: (gst_util_guint64_to_gdouble), (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64): * gst/gstutils.h: * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite): add tests that seem to show that the guint64/gdouble conversions are correct. 2005-12-02 12:44:53 +0000 Christian Schaller * gstreamer.spec.in: make version number a little less hopefull Original commit message from CVS: make version number a little less hopefull 2005-12-02 12:34:47 +0000 Wim Taymans gst/: Fix docs again. Original commit message from CVS: * gst/gstregistry.c: (gst_registry_add_path): * gst/gstregistry.h: * gst/gstregistryxml.c: Fix docs again. Removed old code from gstregistryxml.c 2005-12-02 12:19:55 +0000 Christian Schaller * gstreamer.spec.in: fix updating gstreamer spec file making it 0.10 ready Original commit message from CVS: fix updating gstreamer spec file making it 0.10 ready 2005-12-02 11:36:50 +0000 Wim Taymans gst/gstutils.c: Small cleanup. Original commit message from CVS: * gst/gstutils.c: (gst_util_uint64_scale_int64), (gst_util_uint64_scale_int): Small cleanup. * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object): Add debug log line. * libs/gst/base/gstbasetransform.c: (gst_base_transform_event): Add FIXME. 2005-12-02 09:48:17 +0000 Thomas Vander Stichele win32/: renamed core elements plugin Original commit message from CVS: * win32/MANIFEST: * win32/common/config.h: * win32/vs6/gstreamer.dsw: * win32/vs6/libgstcoreelements.dsp: * win32/vs6/libgstelements.dsp: renamed core elements plugin 2005-12-02 01:35:22 +0000 Thomas Vander Stichele tools/gst-run.c: do piece-wise major/minor comparison so 0.9 < 0.10 also allow .exe extensions for tools Original commit message from CVS: * tools/gst-run.c: (compare_major_minor), (find_highest_version), (get_candidates): do piece-wise major/minor comparison so 0.9 < 0.10 also allow .exe extensions for tools 2005-12-01 23:57:07 +0000 Michael Smith gst/gst.c: Escape a % to make gtkdoc happier; bug 322958. Original commit message from CVS: * gst/gst.c: Escape a % to make gtkdoc happier; bug 322958. 2005-12-01 19:18:57 +0000 Thomas Vander Stichele * configure.ac: back to HEAD Original commit message from CVS: back to HEAD === release 0.9.7 === 2005-12-01 19:11:56 +0000 Thomas Vander Stichele * CHANGES-0.9: * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * win32/common/config.h: releasing 0.9.7 Original commit message from CVS: releasing 0.9.7 2005-12-01 16:51:23 +0000 Thomas Vander Stichele * ChangeLog: * common: * configure.ac: * docs/libs/tmpl/gstdataprotocol.sgml: * docs/random/release: * po/af.po: * po/az.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/de.po: * po/en_GB.po: * po/fr.po: * po/it.po: * po/nb.po: * po/nl.po: * po/ru.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * win32/common/config.h: * win32/common/config.h.in: * win32/vs6/gst_inspect.dsp: * win32/vs6/gst_launch.dsp: * win32/vs6/libgstbase.dsp: * win32/vs6/libgstelements.dsp: * win32/vs6/libgstreamer.dsp: * win32/vs7/GStreamer.vcproj: * win32/vs7/gst-inspect.vcproj: * win32/vs7/gst-launch.vcproj: * win32/vs7/libgstbase.vcproj: bump GST_MAJORMINOR to 0.10 reset libtool version Original commit message from CVS: bump GST_MAJORMINOR to 0.10 reset libtool version 2005-12-01 15:28:25 +0000 Thomas Vander Stichele * tools/gst-feedback-0.7: remove old file Original commit message from CVS: remove old file 2005-12-01 15:18:41 +0000 Thomas Vander Stichele * docs/plugins/.gitignore: ignore more Original commit message from CVS: ignore more 2005-12-01 15:08:09 +0000 Thomas Vander Stichele * ChangeLog: * po/LINGUAS: * po/bg.po: Added Bulgarian translation by (Alexander Shopov) Original commit message from CVS: Added Bulgarian translation by (Alexander Shopov) 2005-12-01 15:04:03 +0000 Thomas Vander Stichele * docs/plugins/inspect-build.stamp: commit final stamp file Original commit message from CVS: commit final stamp file 2005-12-01 14:51:07 +0000 Thomas Vander Stichele * docs/plugins/gstreamer-plugins.hierarchy: * docs/plugins/gstreamer-plugins.interfaces: * docs/plugins/gstreamer-plugins.prerequisites: * po/af.po: * po/az.po: * po/ca.po: * po/cs.po: * po/de.po: * po/en_GB.po: * po/fr.po: * po/it.po: * po/nb.po: * po/nl.po: * po/ru.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: add more files for distcheck Original commit message from CVS: add more files for distcheck 2005-12-01 14:40:47 +0000 Thomas Vander Stichele * docs/plugins/gstreamer-plugins.args: * docs/plugins/gstreamer-plugins.signals: add signals and args Original commit message from CVS: add signals and args 2005-12-01 12:36:10 +0000 Thomas Vander Stichele * ChangeLog: * tests/check/gst/gstplugin.c: fix test Original commit message from CVS: fix test 2005-12-01 12:29:34 +0000 Thomas Vander Stichele * ChangeLog: * common: * configure.ac: * docs/Makefile.am: * docs/gst/Makefile.am: * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * docs/gst/gstreamer.types: * docs/gst/gstreamer.types.in: * docs/plugins/Makefile.am: * docs/plugins/gstreamer-plugins-docs.sgml: * docs/plugins/gstreamer-plugins-sections.txt: * docs/plugins/gstreamer-plugins.types: * docs/plugins/inspect.stamp: * docs/plugins/inspect/plugin-coreelements.xml: * docs/plugins/inspect/plugin-coreindexers.xml: * docs/plugins/scanobj-build.stamp: * gstreamer.spec.in: * plugins/elements/Makefile.am: * plugins/elements/gstelements.c: * plugins/elements/gstfakesink.c: * plugins/elements/gstfakesrc.c: * plugins/elements/gstfilesink.c: * plugins/elements/gstfilesrc.c: * plugins/elements/gstqueue.c: * plugins/indexers/Makefile.am: * plugins/indexers/gstindexers.c: document core plugins in a separate document just like all the others rename these plugins to something starting with... Original commit message from CVS: document core plugins in a separate document just like all the others rename these plugins to something starting with core 2005-12-01 12:00:56 +0000 Andy Wingo gst/gstevent.h (struct _GstEvent): Meant to remove the extra padding here before, but it missed the commit. Original commit message from CVS: 2005-12-01 Andy Wingo * gst/gstevent.h (struct _GstEvent): Meant to remove the extra padding here before, but it missed the commit. 2005-12-01 10:07:26 +0000 Thomas Vander Stichele * libs/gst/controller/gsthelper.c: * win32/common/libgstreamer.def: * win32/vs6/gstreamer.dsw: * win32/vs6/libgstcontroller.dsp: add libgstcontroller to the build Original commit message from CVS: add libgstcontroller to the build 2005-12-01 09:54:56 +0000 Thomas Vander Stichele libs/gst/controller/gstinterpolation.c: whitespace prices have crashed, we should feel free to use some now use gst_g... Original commit message from CVS: * libs/gst/controller/gstinterpolation.c: whitespace prices have crashed, we should feel free to use some now use gst_guint64_to_gdouble 2005-12-01 09:32:17 +0000 Thomas Vander Stichele * plugins/elements/gstfdsink.c: * plugins/elements/gstfdsink.h: fix typo Original commit message from CVS: fix typo 2005-12-01 09:23:20 +0000 Thomas Vander Stichele * ChangeLog: * libs/gst/controller/gstcontroller.c: * libs/gst/controller/gsthelper.c: * libs/gst/controller/gstinterpolation.c: * libs/gst/controller/lib.c: wrap config.h include Original commit message from CVS: wrap config.h include 2005-12-01 02:08:18 +0000 Thomas Vander Stichele * ChangeLog: * docs/gst/gstreamer-sections.txt: update docs Original commit message from CVS: update docs 2005-12-01 00:54:54 +0000 Thomas Vander Stichele plugins/elements/: more anal cleanup Original commit message from CVS: * plugins/elements/gstelements.c: * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init), (gst_fd_sink__class_init), (gst_fd_sink__init), (gst_fd_sink__chain), (gst_fd_sink__set_property), (gst_fd_sink__get_property): * plugins/elements/gstfdsink.h: * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init), (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose), (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock), (gst_fd_src_set_property), (gst_fd_src_get_property), (gst_fd_src_create), (gst_fd_src_is_seekable), (gst_fd_src_get_size), (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols), (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri), (gst_fd_src_uri_handler_init): * plugins/elements/gstfdsrc.h: * plugins/elements/gstqueue.c: (gst_queue_get_type): more anal cleanup 2005-11-30 19:36:54 +0000 Thomas Vander Stichele * ChangeLog: * docs/gst/Makefile.am: * docs/gst/gstreamer.types.in: * gst/Makefile.am: * po/af.po: * po/az.po: * po/ca.po: * po/cs.po: * po/de.po: * po/en_GB.po: * po/fr.po: * po/it.po: * po/nb.po: * po/nl.po: * po/ru.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: fix the docs build Original commit message from CVS: fix the docs build 2005-11-30 19:03:59 +0000 Thomas Vander Stichele * docs/gst/gstreamer.types.in: add new input types file Original commit message from CVS: add new input types file 2005-11-30 19:01:53 +0000 Thomas Vander Stichele various fixes to make Original commit message from CVS: * configure.ac: * gst/Makefile.am: * gst/gst.c: * gst/gstplugin.h: * gst/gstregistry.h: * tests/benchmarks/complexity.c: * tests/benchmarks/mass-elements.c: * tests/check/Makefile.am: * tools/Makefile.am: * tools/gst-inspect.c: * tools/gst-xmlinspect.c: various fixes to make --disable-nls --disable-registry --disable-loadsave --disable-parse --disable-gst-debug work and get the core .so down to 360444 bytes after stripping 2005-11-30 17:05:29 +0000 Thomas Vander Stichele * docs/libs/tmpl/gstdataprotocol.sgml: * tests/check/Makefile.am: move location of test registry Original commit message from CVS: move location of test registry 2005-11-30 16:45:54 +0000 Thomas Vander Stichele * tests/check/pipelines/.gitignore: ignore more Original commit message from CVS: ignore more 2005-11-30 16:45:15 +0000 Thomas Vander Stichele * tests/misc/Makefile.am: missing makefile Original commit message from CVS: missing makefile 2005-11-30 16:43:16 +0000 Thomas Vander Stichele * scripts/cvs-update.sh: prune empty dirs when updating Original commit message from CVS: prune empty dirs when updating 2005-11-30 16:42:27 +0000 Thomas Vander Stichele * DOCBUILDING: * docs/README: remove empty dirs; move docbuilding notes Original commit message from CVS: remove empty dirs; move docbuilding notes 2005-11-30 16:39:04 +0000 Thomas Vander Stichele descend into tests Original commit message from CVS: * Makefile.am: * configure.ac: descend into tests * docs/random/thomasvs/TODO: * tests/Makefile.am: * tests/README: add a README 2005-11-30 16:32:22 +0000 Thomas Vander Stichele * tests/benchmarks/.gitignore: * tests/check/generic/.gitignore: * tests/check/libs/.gitignore: ignore more Original commit message from CVS: ignore more 2005-11-30 16:30:41 +0000 Thomas Vander Stichele * README: update README Original commit message from CVS: update README 2005-11-30 16:29:28 +0000 Thomas Vander Stichele * common: * tests/check/Makefile.am: don't fail on missing registry Original commit message from CVS: don't fail on missing registry 2005-11-30 16:28:17 +0000 Thomas Vander Stichele * win32/README.txt: add a README Original commit message from CVS: add a README 2005-11-30 16:26:36 +0000 Thomas Vander Stichele * ChangeLog: * win32/GStreamer.vcproj: * win32/MANIFEST: * win32/Makefile: * win32/Makefile.inspect: * win32/Makefile.launch: * win32/Makefile.register: * win32/README.txt: * win32/gst-inspect.vcproj: * win32/gst-launch.vcproj: * win32/gst-register.vcproj: * win32/gstelements.vcproj: * win32/gstgetbits.def: * win32/gstgetbits.vcproj: * win32/gstreamer-dbg.def: * win32/gstreamer.def: * win32/libgstbase.def: * win32/libgstbase.vcproj: * win32/link_oldruntime.c: * win32/mman.c: * win32/mman.h: * win32/mman.inl: * win32/msvc71.sln: move even more stuff, win32/ is nice and clean now Original commit message from CVS: move even more stuff, win32/ is nice and clean now 2005-11-30 16:17:23 +0000 Thomas Vander Stichele * ChangeLog: * libs/gst/control/.gitignore: * po/af.po: * po/az.po: * po/ca.po: * po/cs.po: * po/de.po: * po/en_GB.po: * po/fr.po: * po/it.po: * po/nb.po: * po/nl.po: * po/ru.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * win32/MANIFEST: * win32/config.h: * win32/dirent.c: * win32/dirent.h: * win32/gstbytestream.def: * win32/gstbytestream.vcproj: * win32/gstconfig.h: * win32/gstenumtypes.c: * win32/gstenumtypes.h: * win32/gstoptimalscheduler.vcproj: * win32/gstversion.h: * win32/gtchar.h: * win32/testsuite/bins.vcproj: * win32/testsuite/bytestream.vcproj: * win32/testsuite/caps.vcproj: * win32/testsuite/cleanup.vcproj: * win32/testsuite/clock.vcproj: * win32/testsuite/debug.vcproj: * win32/testsuite/dlopen.vcproj: * win32/testsuite/dynparams.vcproj: * win32/testsuite/elements.vcproj: * win32/testsuite/ghostpads.vcproj: * win32/testsuite/indexers.vcproj: * win32/testsuite/negotiation.vcproj: * win32/testsuite/parse.vcproj: * win32/testsuite/plugin.vcproj: * win32/testsuite/refcounting.vcproj: * win32/testsuite/schedulers.vcproj: * win32/testsuite/states.vcproj: * win32/testsuite/tags.vcproj: * win32/testsuite/threads.vcproj: remove old win32 stuff that isn't maintained and should be reorganized Original commit message from CVS: remove old win32 stuff that isn't maintained and should be reorganized 2005-11-30 16:12:48 +0000 Thomas Vander Stichele * libs/gst/getbits/.gitignore: remove getbits Original commit message from CVS: remove getbits 2005-11-30 16:10:57 +0000 Andy Wingo configure.ac (GST_PKG_DEPS): Revert previous patch, makes loading the gst.interfaces python module bork. Original commit message from CVS: 2005-11-30 Andy Wingo * configure.ac (GST_PKG_DEPS): Revert previous patch, makes loading the gst.interfaces python module bork. * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc, available since GLib 2.2. Fixes #318031. 2005-11-30 16:08:31 +0000 Thomas Vander Stichele * ChangeLog: * Makefile.am: * check/.gitignore: * check/Makefile.am: * check/elements/.gitignore: * check/elements/fakesrc.c: * check/elements/fdsrc.c: * check/elements/identity.c: * check/generic/.gitignore: * check/generic/states.c: * check/gst-libs/.gitignore: * check/gst-libs/controller.c: * check/gst-libs/gdp.c: * check/gst/.gitignore: * check/gst/capslist.h: * check/gst/gst.c: * check/gst/gstbin.c: * check/gst/gstbuffer.c: * check/gst/gstbus.c: * check/gst/gstcaps.c: * check/gst/gstelement.c: * check/gst/gstevent.c: * check/gst/gstghostpad.c: * check/gst/gstiterator.c: * check/gst/gstmessage.c: * check/gst/gstminiobject.c: * check/gst/gstobject.c: * check/gst/gstpad.c: * check/gst/gstpipeline.c: * check/gst/gstplugin.c: * check/gst/gstsegment.c: * check/gst/gststructure.c: * check/gst/gstsystemclock.c: * check/gst/gsttag.c: * check/gst/gstutils.c: * check/gst/gstvalue.c: * check/net/.gitignore: * check/net/gstnetclientclock.c: * check/net/gstnettimeprovider.c: * check/pipelines/.gitignore: * check/pipelines/cleanup.c: * check/pipelines/simple_launch_lines.c: * check/pipelines/stress.c: * check/states/.gitignore: * check/states/sinks.c: * configure.ac: * examples/Makefile.am: * examples/appreader/.gitignore: * examples/appreader/Makefile.am: * examples/appreader/appreader.c: * examples/controller/.gitignore: * examples/controller/Makefile.am: * examples/controller/audio-example.c: * examples/cutter/.gitignore: * examples/cutter/Makefile.am: * examples/cutter/cutter.c: * examples/cutter/cutter.h: * examples/events/Makefile.am: * examples/events/seek.c: * examples/helloworld/.gitignore: * examples/helloworld/Makefile.am: * examples/helloworld/helloworld.c: * examples/helloworld2/.gitignore: * examples/helloworld2/Makefile.am: * examples/helloworld2/helloworld2.c: * examples/launch/.gitignore: * examples/launch/Makefile.am: * examples/launch/mp3parselaunch.c: * examples/launch/mp3play: * examples/manual/.gitignore: * examples/manual/Makefile.am: * examples/manual/extract.pl: * examples/metadata/Makefile.am: * examples/metadata/read-metadata.c: * examples/mixer/.gitignore: * examples/mixer/Makefile.am: * examples/mixer/mixer.c: * examples/mixer/mixer.h: * examples/pingpong/.gitignore: * examples/pingpong/Makefile.am: * examples/pingpong/pingpong.c: * examples/plugins/.gitignore: * examples/plugins/Makefile.am: * examples/plugins/example.c: * examples/plugins/example.h: * examples/pwg/.gitignore: * examples/pwg/Makefile.am: * examples/pwg/extract.pl: * examples/queue/.gitignore: * examples/queue/Makefile.am: * examples/queue/queue.c: * examples/queue2/.gitignore: * examples/queue2/Makefile.am: * examples/queue2/queue2.c: * examples/queue3/.gitignore: * examples/queue3/Makefile.am: * examples/queue3/queue3.c: * examples/queue4/.gitignore: * examples/queue4/Makefile.am: * examples/queue4/queue4.c: * examples/retag/.gitignore: * examples/retag/Makefile.am: * examples/retag/retag.c: * examples/retag/transcode.c: * examples/thread/.gitignore: * examples/thread/Makefile.am: * examples/thread/thread.c: * examples/typefind/.gitignore: * examples/typefind/Makefile.am: * examples/typefind/typefind.c: * examples/xml/.gitignore: * examples/xml/Makefile.am: * examples/xml/createxml.c: * examples/xml/runxml.c: * tests/Makefile.am: * tests/check/Makefile.am: * testsuite/.gitignore: * testsuite/Makefile.am: * testsuite/Rules: * testsuite/caps/.gitignore: * testsuite/caps/Makefile.am: * testsuite/caps/app_fixate.c: * testsuite/caps/audioscale.c: * testsuite/caps/caps.c: * testsuite/caps/caps.h: * testsuite/caps/caps_strings: * testsuite/caps/compatibility.c: * testsuite/caps/deserialize.c: * testsuite/caps/enumcaps.c: * testsuite/caps/eratosthenes.c: * testsuite/caps/filtercaps.c: * testsuite/caps/fixed.c: * testsuite/caps/fraction-convert.c: * testsuite/caps/fraction-multiply-and-zero.c: * testsuite/caps/intersect2.c: * testsuite/caps/intersection.c: * testsuite/caps/normalisation.c: * testsuite/caps/random.c: * testsuite/caps/renegotiate.c: * testsuite/caps/sets.c: * testsuite/caps/simplify.c: * testsuite/caps/string-conversions.c: * testsuite/caps/structure.c: * testsuite/caps/subtract.c: * testsuite/caps/union.c: * testsuite/debug/.gitignore: * testsuite/debug/Makefile.am: * testsuite/debug/category.c: * testsuite/debug/commandline.c: * testsuite/debug/global.c: * testsuite/debug/output.c: * testsuite/debug/printf_extension.c: * testsuite/dlopen/.gitignore: * testsuite/dlopen/Makefile.am: * testsuite/dlopen/dlopen_gst.c: * testsuite/dlopen/loadgst.c: * testsuite/elements/.gitignore: * testsuite/elements/Makefile.am: * testsuite/elements/gst-inspect-check.in: * testsuite/elements/struct_i386.h: * testsuite/elements/struct_size.c: * testsuite/indexers/.gitignore: * testsuite/indexers/Makefile.am: * testsuite/indexers/cache1.c: * testsuite/indexers/indexdump.c: * testsuite/parse/.gitignore: * testsuite/parse/Makefile.am: * testsuite/parse/parse1.c: * testsuite/parse/parse2.c: * testsuite/plugin/.gitignore: * testsuite/plugin/Makefile.am: * testsuite/plugin/README: * testsuite/plugin/dynamic.c: * testsuite/plugin/linked.c: * testsuite/plugin/loading.c: * testsuite/plugin/registry.c: * testsuite/plugin/static.c: * testsuite/plugin/static2.c: * testsuite/plugin/testplugin.c: * testsuite/plugin/testplugin2.c: * testsuite/plugin/testplugin2_s.c: * testsuite/plugin/testplugin_s.c: * testsuite/refcounting/.gitignore: * testsuite/refcounting/Makefile.am: * testsuite/refcounting/bin.c: * testsuite/refcounting/element.c: * testsuite/refcounting/element_pad.c: * testsuite/refcounting/mainloop.c: * testsuite/refcounting/mem.c: * testsuite/refcounting/mem.h: * testsuite/refcounting/object.c: * testsuite/refcounting/pad.c: * testsuite/refcounting/sched.c: * testsuite/refcounting/thread.c: * testsuite/states/.gitignore: * testsuite/states/Makefile.am: * testsuite/states/bin.c: * testsuite/states/locked.c: * testsuite/states/parent.c: * testsuite/threads/.gitignore: * testsuite/threads/159566.c: * testsuite/threads/159852.c: * testsuite/threads/Makefile.am: * testsuite/threads/queue.c: * testsuite/threads/signals.c: * testsuite/threads/staticrec.c: * testsuite/threads/thread.c: * testsuite/threads/threadb.c: * testsuite/threads/threadc.c: * testsuite/threads/threadd.c: * testsuite/threads/threade.c: * testsuite/threads/threadf.c: * testsuite/threads/threadg.c: * testsuite/threads/threadh.c: * testsuite/threads/threadi.c: move all of these under tests Original commit message from CVS: move all of these under tests 2005-11-30 15:37:36 +0000 Christian Schaller * gstreamer.spec.in: update after thomas's CVS surgery Original commit message from CVS: update after thomas's CVS surgery 2005-11-30 15:34:37 +0000 Thomas Vander Stichele * tests/benchmarks/.gitignore: * tests/benchmarks/Makefile.am: add Makefile.am Original commit message from CVS: add Makefile.am 2005-11-30 15:29:05 +0000 Thomas Vander Stichele fix distcheck Original commit message from CVS: * configure.ac: * tests/Makefile.am: fix distcheck 2005-11-30 15:20:29 +0000 Thomas Vander Stichele * tests/old/testsuite/caps/deserialize.c: * tests/old/testsuite/caps/intersection.c: * tests/old/testsuite/caps/union.c: * testsuite/caps/deserialize.c: * testsuite/caps/intersection.c: * testsuite/caps/union.c: compile warning fixes Original commit message from CVS: compile warning fixes 2005-11-30 13:28:13 +0000 Thomas Vander Stichele * tests/old/testsuite/elements/Makefile.am: * tests/old/testsuite/elements/gst-compprep-check.in: * testsuite/elements/Makefile.am: * testsuite/elements/gst-compprep-check.in: remove compprep Original commit message from CVS: remove compprep 2005-11-30 13:25:05 +0000 Andy Wingo configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc, available since GLib 2.2. Fixes #318031. Original commit message from CVS: 2005-11-30 Andy Wingo * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc, available since GLib 2.2. Fixes #318031. 2005-11-30 13:08:08 +0000 Thomas Vander Stichele First pass at cleaning up tests/ dir before moving the rest Original commit message from CVS: * configure.ac: * tests/bench-complexity.scm: * tests/bench-mass_elements.scm: * tests/complexity.c: * tests/complexity.gnuplot: * tests/instantiate/.cvsignore: * tests/instantiate/Makefile.am: * tests/instantiate/caps.c: * tests/mass_elements.c: * tests/network-clock-utils.scm: * tests/network-clock.scm: * tests/plot-data: First pass at cleaning up tests/ dir before moving the rest Combined with CVS surgery 2005-11-30 13:07:15 +0000 Thomas Vander Stichele * docs/gst/gstreamer-sections.txt: move includes Original commit message from CVS: move includes 2005-11-30 11:55:32 +0000 Thomas Vander Stichele * README: remove norwegianism Original commit message from CVS: remove norwegianism 2005-11-30 10:50:57 +0000 Thomas Vander Stichele * Makefile.am: make not having check non-fatal for extra targets Original commit message from CVS: make not having check non-fatal for extra targets 2005-11-30 10:15:08 +0000 Thomas Vander Stichele po/POTFILES.in: queue has moved, update Original commit message from CVS: * po/POTFILES.in: queue has moved, update 2005-11-30 10:13:54 +0000 Thomas Vander Stichele * gst/gstvalue.c: * win32/vs6/grammar.dsp: * win32/vs6/gst_inspect.dsp: * win32/vs6/gst_launch.dsp: * win32/vs6/libgstbase.dsp: * win32/vs6/libgstelements.dsp: * win32/vs6/libgstreamer.dsp: add some explicit casts update dsp files; also installs the debug build in \gstreamer\debug to separate it from the n... Original commit message from CVS: add some explicit casts update dsp files; also installs the debug build in \gstreamer\debug to separate it from the non-debug build 2005-11-30 10:03:46 +0000 Thomas Vander Stichele * win32/common/libgstreamer.def: add more symbols to def file Original commit message from CVS: add more symbols to def file 2005-11-30 09:59:04 +0000 Thomas Vander Stichele docs/gst/gstreamer-sections.txt: remove double entries from the docs Original commit message from CVS: * docs/gst/gstreamer-sections.txt: remove double entries from the docs * gst/gst_private.h: * gst/gstinfo.c: (_gst_debug_init): remove the THREAD debug category * gst/Makefile.am: * gst/gstqueue.c: * gst/gstqueue.h: * docs/gst/gstreamer.types: * plugins/elements/gstqueue.c: (gst_queue_get_type), (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state): completely move queue and fix up debugging categories 2005-11-30 09:38:42 +0000 Thomas Vander Stichele plugins/elements/gstidentity.c: make initialization portable, using LL is not Original commit message from CVS: * plugins/elements/gstidentity.c: (gst_identity_transform_ip): make initialization portable, using LL is not 2005-11-30 09:36:19 +0000 Thomas Vander Stichele * win32/common/libgstreamer.def: add more symbols to def file Original commit message from CVS: add more symbols to def file 2005-11-30 09:30:50 +0000 Thomas Vander Stichele * win32/common/libgstreamer.def: add more symbols to def file Original commit message from CVS: add more symbols to def file 2005-11-30 09:27:47 +0000 Thomas Vander Stichele win32/common/gstconfig.h: add large padding Original commit message from CVS: * win32/common/gstconfig.h: add large padding 2005-11-30 09:22:45 +0000 Thomas Vander Stichele win32/common/libgstreamer.def: rename symbols; sort base section Original commit message from CVS: * win32/common/libgstreamer.def: rename symbols; sort base section 2005-11-30 09:18:15 +0000 Thomas Vander Stichele gst/gstclock.c: remove crack non-portable handrolled DEBUG macro Original commit message from CVS: 2005-11-30 Thomas Vander Stichele * gst/gstclock.c: (do_linear_regression): remove crack non-portable handrolled DEBUG macro 2005-11-30 09:12:57 +0000 Thomas Vander Stichele * ChangeLog: * docs/random/release: * win32/common/gstenumtypes.c: * win32/common/gstenumtypes.h: * win32/common/gstversion.h: update visual studio generated files Original commit message from CVS: update visual studio generated files 2005-11-30 08:56:59 +0000 Thomas Vander Stichele win32/vs6/: update project files for new locations Original commit message from CVS: * win32/vs6/libgstbase.dsp: * win32/vs6/libgstelements.dsp: update project files for new locations 2005-11-30 08:52:41 +0000 Thomas Vander Stichele Makefile.am: remove some files Original commit message from CVS: * Makefile.am: remove some files * README: reinstate and update * DEVEL: * REQUIREMENTS: removed * LICENSE: * docs/random/LICENSE: moved to random 2005-11-30 08:36:47 +0000 Thomas Vander Stichele * README: put the README back Original commit message from CVS: put the README back 2005-11-30 08:33:33 +0000 Thomas Vander Stichele * TODO: clean up TODO Original commit message from CVS: clean up TODO 2005-11-30 08:29:14 +0000 Thomas Vander Stichele * libs/ext/Makefile.am: removing ext, was not used anymore Original commit message from CVS: removing ext, was not used anymore 2005-11-29 23:56:20 +0000 Edward Hervey gst/: Fix memory leak in GstTypeFindFactory. Original commit message from CVS: * gst/gsttypefind.c: (gst_type_find_register): * gst/gsttypefind.h: * gst/gsttypefindfactory.c: (gst_type_find_factory_init), (gst_type_find_factory_dispose): * gst/gsttypefindfactory.h: Fix memory leak in GstTypeFindFactory. 2005-11-29 20:16:40 +0000 Thomas Vander Stichele * po/af.po: * po/az.po: * po/ca.po: * po/cs.po: * po/de.po: * po/en_GB.po: * po/fr.po: * po/it.po: * po/nb.po: * po/nl.po: * po/ru.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: updated translations Original commit message from CVS: updated translations 2005-11-29 19:47:00 +0000 Thomas Vander Stichele move queue from core to the elements plugin ç Original commit message from CVS: * gst/gst.c: * plugins/elements/Makefile.am: * plugins/elements/gstelements.c: * plugins/elements/gstqueue.c: move queue from core to the elements plugin ç 2005-11-29 19:44:56 +0000 Thomas Vander Stichele * pkgconfig/gstreamer-base-uninstalled.pc.in: * pkgconfig/gstreamer-check-uninstalled.pc.in: * pkgconfig/gstreamer-net-uninstalled.pc.in: update uninstalled pc files Original commit message from CVS: update uninstalled pc files 2005-11-29 19:37:49 +0000 Andy Wingo libs/gst/base/: en-LARGE the padding. Original commit message from CVS: 2005-11-29 Andy Wingo * libs/gst/base/gstbasetransform.h: * libs/gst/base/gstbasesrc.h: * libs/gst/base/gstbasesink.h: en-LARGE the padding. * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number of pointers by which to pad very extensible base classes (like the ones in libs/gst/base). 2005-11-29 19:34:24 +0000 Thomas Vander Stichele docs/: moving documentation from core to lib Original commit message from CVS: * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * docs/libs/gstreamer-libs-docs.sgml: * docs/libs/gstreamer-libs-sections.txt: moving documentation from core to lib 2005-11-29 19:12:30 +0000 Thomas Vander Stichele * ChangeLog: * check/Makefile.am: * configure.ac: * docs/gst/Makefile.am: * gst/Makefile.am: * gst/base/.gitignore: * gst/base/Makefile.am: * gst/base/README: * gst/base/gstadapter.c: * gst/base/gstadapter.h: * gst/base/gstbasesink.c: * gst/base/gstbasesink.h: * gst/base/gstbasesrc.c: * gst/base/gstbasesrc.h: * gst/base/gstbasetransform.c: * gst/base/gstbasetransform.h: * gst/base/gstcollectpads.c: * gst/base/gstcollectpads.h: * gst/base/gstpushsrc.c: * gst/base/gstpushsrc.h: * gst/base/gsttypefindhelper.c: * gst/base/gsttypefindhelper.h: * gst/check/Makefile.am: * gst/check/gstcheck.c: * gst/check/gstcheck.h: * gst/net/Makefile.am: * gst/net/gstnet.h: * gst/net/gstnetclientclock.c: * gst/net/gstnetclientclock.h: * gst/net/gstnettimepacket.c: * gst/net/gstnettimepacket.h: * gst/net/gstnettimeprovider.c: * gst/net/gstnettimeprovider.h: * libs/gst/Makefile.am: * libs/gst/base/Makefile.am: * libs/gst/base/gstbasetransform.c: * libs/gst/check/Makefile.am: * plugins/elements/Makefile.am: * po/POTFILES.in: * tests/check/Makefile.am: CVS surgery + support to move base, check, and net out of gst and into libs/gst Original commit message from CVS: CVS surgery + support to move base, check, and net out of gst and into libs/gst 2005-11-29 18:57:59 +0000 Andy Wingo gst/gstevent.h (struct _GstEvent): Only one pointer of padding. Original commit message from CVS: 2005-11-29 Andy Wingo * gst/gstevent.h (struct _GstEvent): Only one pointer of padding. * gst/gststructure.h (struct _GstStructure): Only one pointer of padding. * gst/gstquery.h (struct _GstQuery): Only one pointer of padding. * gst/gstpluginfeature.h: Remove a comment in PluginFeature. * gst/gstplugin.h (struct _GstPluginClass): Add some padding. * gst/gstobject.h: (struct _GstObject): Only one pointer of padding; reduces object size by about 30%. We don't expect anything else to go into gstobject. * gst/gstminiobject.h (struct _GstMiniObject) (struct _GstMiniObjectClass): Only one pointer of padding; the payload is only a pointer and two ints anyway. For the class there are only two methods as well. * gst/gstelement.h (struct _GstElementClass): Removed the state_changed signal callback, it is not used. 2005-11-29 18:49:19 +0000 Andy Wingo * components/bonobo-gstmediaplay/.gitignore: * components/bonobo-gstmediaplay/Makefile.am: * components/bonobo-gstmediaplay/bonobo-gstmediaplay-ui.xml: * components/bonobo-gstmediaplay/bonobo-gstmediaplay.c: * components/bonobo-gstmediaplay/gstmediaplay.oafinfo: * components/bonobo-media/Makefile.am: * components/bonobo-media/bonobo-media-gstreamer-factory.c: * components/bonobo-media/bonobo-media-gstreamer.gob: * components/bonobo-media/bonobo-media-gstreamer.oafinfo: * components/bonobo-media/bonobo-media-gstreamervideo.gob: whack a mole Original commit message from CVS: whack a mole 2005-11-29 18:38:46 +0000 Thomas Vander Stichele * po/POTFILES.in: these files were moved Original commit message from CVS: these files were moved 2005-11-29 18:21:17 +0000 Thomas Vander Stichele docs/gst/gstreamer.types: fix includes, though they are a little dinky Original commit message from CVS: * docs/gst/gstreamer.types: fix includes, though they are a little dinky 2005-11-29 18:14:35 +0000 Thomas Vander Stichele check/Makefile.am: look in the right place for elements, a lot more chance of success Original commit message from CVS: * check/Makefile.am: look in the right place for elements, a lot more chance of success * gst/Makefile.am: remove indexers and elements subdirs * plugins/Makefile.am: make indexers conditional 2005-11-29 18:08:15 +0000 Thomas Vander Stichele * plugins/Makefile.am: add missing Makefile.am Original commit message from CVS: add missing Makefile.am 2005-11-29 18:04:28 +0000 Thomas Vander Stichele * docs/gst/Makefile.am: fix doc build for stuff moved around Original commit message from CVS: fix doc build for stuff moved around 2005-11-29 18:03:52 +0000 Thomas Vander Stichele * gst/elements/.gitignore: * gst/elements/Makefile.am: * gst/elements/gstbufferstore.c: * gst/elements/gstbufferstore.h: * gst/elements/gstcapsfilter.c: * gst/elements/gstelements.c: * gst/elements/gstfakesink.c: * gst/elements/gstfakesink.h: * gst/elements/gstfakesrc.c: * gst/elements/gstfakesrc.h: * gst/elements/gstfdsink.c: * gst/elements/gstfdsink.h: * gst/elements/gstfdsrc.c: * gst/elements/gstfdsrc.h: * gst/elements/gstfilesink.c: * gst/elements/gstfilesink.h: * gst/elements/gstfilesrc.c: * gst/elements/gstfilesrc.h: * gst/elements/gstidentity.c: * gst/elements/gstidentity.h: * gst/elements/gsttee.c: * gst/elements/gsttee.h: * gst/elements/gsttypefindelement.c: * gst/elements/gsttypefindelement.h: * gst/indexers/.gitignore: * gst/indexers/Makefile.am: * gst/indexers/gstfileindex.c: * gst/indexers/gstindexers.c: * gst/indexers/gstmemindex.c: remove moved dirs Original commit message from CVS: remove moved dirs 2005-11-29 18:02:45 +0000 Thomas Vander Stichele * gst/registries/.gitignore: * gst/schedulers/.gitignore: remove empty dirs Original commit message from CVS: remove empty dirs 2005-11-29 18:00:15 +0000 Thomas Vander Stichele do CVS surgery and related build fixery to move elements and indexers in a new gstreamer/plugins directory, out of th... Original commit message from CVS: * Makefile.am: * configure.ac: * plugins/elements/Makefile.am: * plugins/elements/gstcapsfilter.c: * plugins/elements/gstfilesink.c: * plugins/elements/gstfilesrc.c: * plugins/elements/gstidentity.c: * plugins/indexers/Makefile.am: do CVS surgery and related build fixery to move elements and indexers in a new gstreamer/plugins directory, out of the gst/ directory 2005-11-29 17:47:06 +0000 Andy Wingo Rename gstnet-tempname to gstnet. Fixes #322257. Original commit message from CVS: 2005-11-29 Andy Wingo * check/Makefile.am: * pkgconfig/gstreamer-net-uninstalled.pc.in: * pkgconfig/gstreamer-net.pc.in: * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes #322257. 2005-11-29 17:35:03 +0000 Thomas Vander Stichele * check/elements/.gitignore: * tests/check/elements/.gitignore: ignore more Original commit message from CVS: ignore more 2005-11-29 17:33:55 +0000 Thomas Vander Stichele * gstreamer.spec.in: remove some more complete Original commit message from CVS: remove some more complete 2005-11-29 17:32:36 +0000 Thomas Vander Stichele tools/: removing -compprep and -complete Original commit message from CVS: * tools/Makefile.am: * tools/gst-complete.1.in: * tools/gst-complete.c: * tools/gst-compprep.1.in: * tools/gst-compprep.c: removing -compprep and -complete 2005-11-29 17:23:56 +0000 Thomas Vander Stichele gst/gstevent.*: fix #320529 - clean up new_segment API and structure. Original commit message from CVS: * gst/gstevent.c: (gst_event_new_new_segment), (gst_event_parse_new_segment): * gst/gstevent.h: fix #320529 - clean up new_segment API and structure. Let's hope everyone was using the methods, and not the structure. 2005-11-29 17:13:44 +0000 Edward Hervey gst/base/gstbasesink.c: Properly handle non GST_FORMAT_TIME segment Original commit message from CVS: * gst/base/gstbasesink.c: (gst_base_sink_handle_object), (gst_base_sink_event), (gst_base_sink_do_sync), (gst_base_sink_activate_pull), (gst_base_sink_change_state): Properly handle non GST_FORMAT_TIME segment * gst/elements/gstidentity.c: (gst_identity_transform_ip): Properly handle non GST_FORMAT_TIME segment * gst/gstsegment.c: This function is valid if the accumulator is 0 and the format is different from the requested format. 2005-11-29 15:50:50 +0000 Jan Schmidt docs/gst/gstreamer-sections.txt: Add gst_query_new_seeking and gst_query_parse_seeking to the docs. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: Add gst_query_new_seeking and gst_query_parse_seeking to the docs. 2005-11-29 15:15:38 +0000 Jan Schmidt * ChangeLog: Fix conflict marker Original commit message from CVS: Fix conflict marker 2005-11-29 15:12:22 +0000 Jan Schmidt gst/base/gstbasetransform.c: Treat a pad alloc with new caps the same as if we were not negotiated, in order to allow... Original commit message from CVS: * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc): Treat a pad alloc with new caps the same as if we were not negotiated, in order to allow a changing upstream output to produce a new format of data. 2005-11-29 14:47:07 +0000 Edward Hervey gst/base/gstbasetransform.c: The event virtual method is now properly implemented, with a default handler Original commit message from CVS: * gst/base/gstbasetransform.c: (gst_base_transform_class_init), (gst_base_transform_event), (gst_base_transform_eventfunc): The event virtual method is now properly implemented, with a default handler Sub classes should call the parent_class event method. They should return FALSE if they had a problem handling the given event, or don't want GstBaseTransform to send that even downstream * gst/elements/gstidentity.c: (gst_identity_class_init), (gst_identity_init), (gst_identity_event), (gst_identity_transform_ip), (gst_identity_set_property), (gst_identity_get_property): * gst/elements/gstidentity.h: Added the single-segment boolean property. If set to TRUE, it will output a single segment of data, starting from 0, will eat up all incoming newsegment, and modify the timestamp of the buffers accordingly 2005-11-29 14:43:53 +0000 Thomas Vander Stichele * docs/random/thomasvs/0.10: further review Original commit message from CVS: further review 2005-11-29 13:10:38 +0000 Tim-Philipp Müller gst/gstghostpad.c: Don't ref NULL target pad (#322751). Improve docs. Original commit message from CVS: * gst/gstghostpad.c: (gst_proxy_pad_get_target): Don't ref NULL target pad (#322751). Improve docs. 2005-11-29 11:07:54 +0000 Michael Smith gst/gstregistryxml.c: Don't crash if we failed to load a feature from a plugin. Original commit message from CVS: * gst/gstregistryxml.c: (load_plugin): Don't crash if we failed to load a feature from a plugin. 2005-11-29 00:51:54 +0000 Thomas Vander Stichele * docs/random/thomasvs/0.10: add my todos for 0.10 Original commit message from CVS: add my todos for 0.10 2005-11-28 21:51:37 +0000 Thomas Vander Stichele check/pipelines/simple_launch_lines.c: use more check API and less GLib API Original commit message from CVS: * check/pipelines/simple_launch_lines.c: (setup_pipeline), (GST_START_TEST): use more check API and less GLib API 2005-11-28 21:48:19 +0000 Thomas Vander Stichele * check/pipelines/simple_launch_lines.c: * tests/check/pipelines/simple-launch-lines.c: cosmetic changes Original commit message from CVS: cosmetic changes 2005-11-28 19:58:56 +0000 Thomas Vander Stichele Makefile.am: don't run checks if we don't have check Original commit message from CVS: * Makefile.am: don't run checks if we don't have check * common/check.mak: remove the registry when running make torture * docs/gst/gstreamer-sections.txt: remove second multiply * gst/gstqueue.c: (gst_queue_loop): fix a compile warning when disabling debug 2005-11-28 19:43:27 +0000 Jan Schmidt gst/gstinfo.h: Hey! Let's print the pad name if the pointer != NULL instead of when it == NULL :-) Original commit message from CVS: * gst/gstinfo.h: Hey! Let's print the pad name if the pointer != NULL instead of when it == NULL :-) 2005-11-28 18:44:11 +0000 Wim Taymans check/gst/gstutils.c: Updated check, add some scaling accuracy checking code. Original commit message from CVS: * check/gst/gstutils.c: (GST_START_TEST): Updated check, add some scaling accuracy checking code. * gst/gstutils.c: (gst_util_div128_64), (gst_util_uint64_scale_int64), (gst_util_uint64_scale), (gst_util_uint64_scale_int): Fix 6 times faster division code. Optimize for common 1/1 and less common X/1 cases. 2005-11-28 17:59:25 +0000 Thomas Vander Stichele * gst/gstclock.c: doc updates Original commit message from CVS: doc updates 2005-11-28 16:05:35 +0000 Wim Taymans check/gst/gstutils.c: More checks. Original commit message from CVS: * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite): More checks. * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master), (do_linear_regression), (gst_clock_add_observation): Cleanups. Release lock when the clock cannot be slaved. Catch the case where the regression returned an invalid denominator. * gst/gstutils.c: (gst_util_div128_64_iterate), (gst_util_div128_64), (gst_util_uint64_scale_int64), (gst_util_uint64_scale), (gst_util_uint64_scale_int): Add protentially more performant non-iterative 128/64 divide function that unfortunatly does not work yet. Shortcut the trivial 0/X = 0 case. Remove the warnings on overflow. 2005-11-28 14:18:22 +0000 Thomas Vander Stichele gst/gstplugin.c: everything causing a plugin not to load should be at least a WARNING Original commit message from CVS: * gst/gstplugin.c: (gst_plugin_register_func): everything causing a plugin not to load should be at least a WARNING 2005-11-28 14:02:54 +0000 Thomas Vander Stichele * gst/elements/gstcapsfilter.c: * plugins/elements/gstcapsfilter.c: log caps Original commit message from CVS: log caps 2005-11-28 14:01:52 +0000 Thomas Vander Stichele * gst/gstelement.c: fix docs Original commit message from CVS: fix docs 2005-11-28 13:25:14 +0000 Stefan Kost docs/random/ensonic/dparams.txt: some TODOs for the next dev cycle Original commit message from CVS: * docs/random/ensonic/dparams.txt: some TODOs for the next dev cycle * libs/gst/controller/gstcontroller.c: (gst_controlled_property_set_interpolation_mode), (gst_controlled_property_new): * libs/gst/controller/gstcontroller.h: use base type to assign acccessor functions 2005-11-28 11:31:31 +0000 Jan Schmidt check/Makefile.am: Oops, that should have been top_srcdir Original commit message from CVS: * check/Makefile.am: Oops, that should have been top_srcdir 2005-11-28 10:29:37 +0000 Thomas Vander Stichele * check/Makefile.am: * check/gst/gstpipeline.c: * tests/check/Makefile.am: * tests/check/gst/gstpipeline.c: disable pipeline test until someone fixes the unreliable errors Original commit message from CVS: disable pipeline test until someone fixes the unreliable errors 2005-11-28 10:07:38 +0000 Jan Schmidt check/: Use a cmdline define to specify the location of a file to use for testing, to avoid breaking distcheck. Original commit message from CVS: * check/Makefile.am: * check/elements/fdsrc.c: (GST_START_TEST): Use a cmdline define to specify the location of a file to use for testing, to avoid breaking distcheck. 2005-11-28 10:04:45 +0000 Andy Wingo gst/gstpad.c (fixate_value): Use array functions for arrays. Original commit message from CVS: 2005-11-28 Andy Wingo * gst/gstpad.c (fixate_value): Use array functions for arrays. 2005-11-28 09:55:19 +0000 Edward Hervey tools/gst-launch.c: Clarify the output strings, makes it easier to translate. Original commit message from CVS: * tools/gst-launch.c: (main): Clarify the output strings, makes it easier to translate. Fixes #322626 2005-11-28 08:20:48 +0000 Thomas Vander Stichele gst/Makefile.am: don't try and build net if we don't even have Original commit message from CVS: * gst/Makefile.am: don't try and build net if we don't even have 2005-11-27 22:50:09 +0000 Jan Schmidt check/: Add tests for fdsrc seekability Original commit message from CVS: * check/Makefile.am: * check/elements/fdsrc.c: (event_func), (setup_fdsrc), (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main): Add tests for fdsrc seekability * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init), (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start), (gst_fdsrc_set_property), (gst_fdsrc_is_seekable), (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri): * gst/elements/gstfdsrc.h: fdsrc should not be a 'live' source. Implement seeking on seekable fd's. * gst/gstquery.c: (gst_query_new_seeking), (gst_query_parse_seeking): * gst/gstquery.h: Implement SEEKING query functions: *_new_seeking and *_parse_seeking 2005-11-27 22:43:08 +0000 Stefan Kost gst/gstelement.c: don't loop forever Original commit message from CVS: * gst/gstelement.c: (gst_element_dispose): don't loop forever * gst/gstiterator.c: * gst/gststructure.c: doc fixes * libs/gst/controller/gstcontroller.c: (gst_controlled_property_set_interpolation_mode): * libs/gst/controller/gstcontroller.h: * libs/gst/controller/gstinterpolation.c: (interpolate_none_get_enum_value_array): support controlling enums 2005-11-27 19:52:49 +0000 Tim-Philipp Müller gst/gstvalue.c: Improve documentation for gst_value_union(). Original commit message from CVS: * gst/gstvalue.c: Improve documentation for gst_value_union(). * gst/gstvalue.h: Change return value for union, intersect and subtract functions from gint to gboolean. 2005-11-27 18:11:02 +0000 Tim-Philipp Müller gst/gstvalue.*: Use gint, gdouble and gchar in our API instead of int, double and char (and make usage in gstvalue.c ... Original commit message from CVS: * gst/gstvalue.c: (gst_value_serialize_any_list), (gst_value_transform_any_list_string), (gst_value_deserialize_list), (gst_value_deserialize_array), (gst_value_set_int_range), (gst_value_deserialize_int_range), (gst_value_set_double_range), (gst_value_deserialize_double_range), (gst_value_set_fraction_range_full), (gst_value_deserialize_fraction_range), (gst_value_deserialize_caps), (gst_value_deserialize_buffer), (gst_value_deserialize_boolean), (gst_value_deserialize_int_helper), (gst_value_deserialize_double), (gst_value_serialize_float), (gst_value_deserialize_float), (gst_string_wrap), (gst_value_deserialize_string), (gst_value_deserialize_enum), (gst_value_deserialize_flags), (gst_value_union_int_range_int_range), (gst_value_intersect_int_range_int_range), (gst_value_intersect_double_range_double_range), (gst_value_create_new_range), (gst_value_subtract_int_range_int), (gst_value_subtract_int_range_int_range), (gst_value_subtract_double_double_range), (gst_value_subtract_double_range_double_range), (gst_value_deserialize_fraction): * gst/gstvalue.h: Use gint, gdouble and gchar in our API instead of int, double and char (and make usage in gstvalue.c more consistent). 2005-11-27 17:05:38 +0000 Thomas Vander Stichele * gst/Makefile.am: add undefined for core Original commit message from CVS: add undefined for core 2005-11-27 16:46:48 +0000 Thomas Vander Stichele * ChangeLog: * check/Makefile.am: * libs/gst/controller/Makefile.am: * libs/gst/dataprotocol/Makefile.am: * tests/check/Makefile.am: fix up Makefile.am and remove GST_ENABLE_NEW Original commit message from CVS: fix up Makefile.am and remove GST_ENABLE_NEW 2005-11-27 15:15:35 +0000 Thomas Vander Stichele update LDFLAGS use some more Original commit message from CVS: * configure.ac: * gst/Makefile.am: * gst/base/Makefile.am: * gst/check/Makefile.am: * gst/elements/Makefile.am: * gst/net/Makefile.am: update LDFLAGS use some more 2005-11-27 14:19:38 +0000 Thomas Vander Stichele * ChangeLog: * common: Fixes #312589 Original commit message from CVS: Fixes #312589 2005-11-27 14:03:22 +0000 Thomas Vander Stichele * check/gst/gstpipeline.c: * tests/check/gst/gstpipeline.c: add some additional fail_if's Original commit message from CVS: add some additional fail_if's 2005-11-26 11:28:32 +0000 Edward Hervey gst/gstpluginfeature.c: This shouldn't issue a g_warning since it returns NULL if it couldn't find the plugin, and al... Original commit message from CVS: * gst/gstpluginfeature.c: (gst_plugin_feature_load): This shouldn't issue a g_warning since it returns NULL if it couldn't find the plugin, and all functions using this behave properly on a NULL return. Switching to a GST_WARNING. 2005-11-25 17:06:36 +0000 Jan Schmidt gst/gstbin.c: Don't leak clock messages. Original commit message from CVS: * gst/gstbin.c: (gst_bin_handle_message_func): Don't leak clock messages. 2005-11-25 11:38:38 +0000 Wim Taymans gst/gstutils.c: Optimisations, remove unneeded vars. Original commit message from CVS: * gst/gstutils.c: (gst_util_uint64_scale_int64), (gst_util_uint64_scale_int): Optimisations, remove unneeded vars. 2005-11-25 00:02:05 +0000 Wim Taymans check/gst/gstutils.c: Added more checks for the high precision uint64 cases. Original commit message from CVS: * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite): Added more checks for the high precision uint64 cases. * gst/gstutils.c: (gst_util_uint64_scale_int64), (gst_util_uint64_scale), (gst_util_uint64_scale_int): Implement high precission (guint64 * guint64) / guint64. 2005-11-24 19:06:58 +0000 Wim Taymans gst/base/gstbasesrc.c: Fix wrong percentage query. Original commit message from CVS: * gst/base/gstbasesrc.c: (gst_base_src_query): Fix wrong percentage query. * gst/gstutils.c: (gst_util_uint64_scale), (gst_util_uint64_scale_int): Add some more common cases that can be handled efficiently to _scale. 2005-11-24 18:44:43 +0000 Thomas Vander Stichele * check/gst/gstminiobject.c: * tests/check/gst/gstminiobject.c: remove wrongly commited comments Original commit message from CVS: remove wrongly commited comments 2005-11-24 18:40:58 +0000 Thomas Vander Stichele check/gst/gstminiobject.c: don't use check calls from threads; check probably isn't threadsafe and using a lock to ma... Original commit message from CVS: * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST), (gst_mini_object_suite): don't use check calls from threads; check probably isn't threadsafe and using a lock to make it threadsafe would defeat the purpose of this check * gst/check/gstcheck.c: * gst/check/gstcheck.h: use GST_DEBUG some more 2005-11-24 18:03:15 +0000 Wim Taymans gst/gstutils.c: Chain trivial case to _scale_int. Original commit message from CVS: * gst/gstutils.c: (gst_util_uint64_scale), (gst_util_uint64_scale_int): Chain trivial case to _scale_int. 2005-11-24 17:44:57 +0000 Wim Taymans check/gst/gstutils.c: Added test for scaling. Original commit message from CVS: * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite): Added test for scaling. * gst/gstclock.h: Small doc fix. * gst/gstutils.c: (gst_util_uint64_scale_int): Implemented high precision scaling code. 2005-11-24 16:56:28 +0000 Stefan Kost gst/gstinfo.h: do not crash on pad==NULL Original commit message from CVS: * gst/gstinfo.h: do not crash on pad==NULL 2005-11-24 16:32:26 +0000 Stefan Kost Fix distcheck issues for the libraries docs build Original commit message from CVS: Patch by: Stefan Kost * common/gtk-doc.mak: * docs/gst/Makefile.am: * docs/libs/Makefile.am: Fix distcheck issues for the libraries docs build Closes #319599 2005-11-24 14:39:59 +0000 Michael Smith docs/manual/basics-helloworld.xml: Fix bug #315027: memory leak in example code in docs. Original commit message from CVS: * docs/manual/basics-helloworld.xml: Fix bug #315027: memory leak in example code in docs. 2005-11-24 12:44:25 +0000 Michael Smith gst/base/gstbasesink.c: Unlock the PREROLL_LOCK in a failure case. Original commit message from CVS: 2005-11-24 Michael Smith * gst/base/gstbasesink.c: (gst_base_sink_handle_object): Unlock the PREROLL_LOCK in a failure case. 2005-11-24 11:16:32 +0000 Thomas Vander Stichele * check/gst/.gitignore: * check/net/.gitignore: * tests/check/gst/.gitignore: ignore more Original commit message from CVS: ignore more 2005-11-24 09:44:07 +0000 Wim Taymans * ChangeLog: * docs/gst/gstreamer-sections.txt: * gst/base/gstadapter.h: * gst/base/gstbasesink.h: * gst/base/gstbasesrc.h: * gst/base/gstbasetransform.h: * gst/base/gstpushsrc.h: * gst/elements/gstfakesink.h: * gst/elements/gstfakesrc.c: * gst/elements/gstfakesrc.h: * gst/elements/gstfilesink.h: * gst/elements/gstfilesrc.h: * gst/gst.c: * gst/gstbin.c: * gst/gstbuffer.c: * gst/gstbus.h: * gst/gstcaps.c: * gst/gstchildproxy.c: * gst/gstclock.c: * gst/gstelement.c: * gst/gstelementfactory.c: * gst/gstelementfactory.h: * gst/gstevent.c: * gst/gstghostpad.h: * gst/gstindex.h: * gst/gstinterface.h: * gst/gstminiobject.c: * gst/gstminiobject.h: * gst/gstpad.c: * gst/gstpad.h: * gst/gstpadtemplate.h: * gst/gstpipeline.h: * gst/gstpluginfeature.h: * gst/gstquery.h: * gst/gstqueue.h: * gst/gsttaglist.c: * gst/gsttaglist.h: * gst/gsttagsetter.c: * gst/gsttagsetter.h: * gst/gsttrace.c: * gst/gsttrace.h: * gst/gsttypefind.h: * gst/gsturi.h: * gst/gstvalue.c: * gst/net/gstnetclientclock.c: * gst/net/gstnetclientclock.h: * gst/net/gstnettimepacket.c: * gst/net/gstnettimeprovider.c: * gst/net/gstnettimeprovider.h: * libs/gst/base/gstadapter.h: * libs/gst/base/gstbasesink.h: * libs/gst/base/gstbasesrc.h: * libs/gst/base/gstbasetransform.h: * libs/gst/base/gstpushsrc.h: * libs/gst/net/gstnetclientclock.c: * libs/gst/net/gstnetclientclock.h: * libs/gst/net/gstnettimepacket.c: * libs/gst/net/gstnettimeprovider.c: * libs/gst/net/gstnettimeprovider.h: * plugins/elements/gstfakesink.h: * plugins/elements/gstfakesrc.c: * plugins/elements/gstfakesrc.h: * plugins/elements/gstfilesink.h: * plugins/elements/gstfilesrc.h: * plugins/elements/gstqueue.h: Doc fixes. Original commit message from CVS: Doc fixes. 2005-11-23 22:54:54 +0000 Thomas Vander Stichele * configure.ac: removed directories Original commit message from CVS: removed directories 2005-11-23 22:21:25 +0000 Thomas Vander Stichele * tests/instantiate/Makefile.am: fix dist Original commit message from CVS: fix dist 2005-11-23 21:24:46 +0000 Thomas Vander Stichele * Makefile.am: * win32/common/config.h: add a torture target Original commit message from CVS: add a torture target 2005-11-23 21:18:44 +0000 Thomas Vander Stichele * tests/instantiate/create.c: * tests/negotiation/.gitignore: * tests/negotiation/Makefile.am: * tests/negotiation/capsnego1.c: remove obsolete tests Original commit message from CVS: remove obsolete tests 2005-11-23 21:16:58 +0000 Thomas Vander Stichele * tests/Makefile.am: * tests/lat.c: * tests/muxing/.gitignore: * tests/muxing/Makefile.am: * tests/muxing/case1.c: * tests/probes/.gitignore: * tests/probes/Makefile.am: * tests/probes/probetest.c: remove obsolete tests Original commit message from CVS: remove obsolete tests 2005-11-23 21:13:59 +0000 Thomas Vander Stichele * tests/old/testsuite/Makefile.am: * tests/old/testsuite/trigger/Makefile.am: * tests/old/testsuite/trigger/README: * tests/old/testsuite/trigger/trigger.c: * testsuite/Makefile.am: * testsuite/trigger/Makefile.am: * testsuite/trigger/README: * testsuite/trigger/trigger.c: remove trigger subdir Original commit message from CVS: remove trigger subdir 2005-11-23 21:12:22 +0000 Thomas Vander Stichele * tests/old/testsuite/elements/Makefile.am: * tests/old/testsuite/elements/fake.c: * tests/old/testsuite/elements/name.c: * tests/old/testsuite/elements/property.c: * tests/old/testsuite/elements/property.h: * tests/old/testsuite/elements/tee.c: * testsuite/elements/Makefile.am: * testsuite/elements/fake.c: * testsuite/elements/name.c: * testsuite/elements/property.c: * testsuite/elements/property.h: * testsuite/elements/tee.c: remove tests replaced by checks Original commit message from CVS: remove tests replaced by checks 2005-11-23 20:04:25 +0000 Thomas Vander Stichele * ChangeLog: * configure.ac: back to HEAD Original commit message from CVS: back to HEAD === release 0.9.6 === 2005-11-23 19:55:09 +0000 Thomas Vander Stichele * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/random/moving-plugins: * win32/common/config.h: releasing 0.9.6 Original commit message from CVS: releasing 0.9.6 2005-11-23 18:07:18 +0000 Thomas Vander Stichele * po/af.po: * po/az.po: * po/ca.po: * po/cs.po: * po/de.po: * po/en_GB.po: * po/fr.po: * po/it.po: * po/nb.po: * po/nl.po: * po/ru.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: Update .po files Original commit message from CVS: Update .po files 2005-11-23 17:59:00 +0000 Thomas Vander Stichele * docs/upload.mak: Christian, learn to configure your .ssh/config file, and STOP committing to thisfile Original commit message from CVS: Christian, learn to configure your .ssh/config file, and STOP committing to thisfile 2005-11-23 16:10:38 +0000 Wim Taymans Doc updates. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/glib-compat.c: * gst/gsttagsetter.c: * gst/gstvalue.c: * gst/net/gstnetclientclock.c: * gst/net/gstnettimepacket.h: Doc updates. 2005-11-23 15:49:06 +0000 Thomas Vander Stichele * ChangeLog: * docs/faq/using.xml: * docs/libs/tmpl/gstcontrol.sgml: * docs/manual/advanced-dparams.xml: * docs/manual/appendix-checklist.xml: * docs/manual/basics-elements.xml: * docs/pwg/other-source.xml: * docs/random/moving-plugins: * gst/gstpad.c: * tools/gst-launch.1.in: remove mentions of sinesrc Original commit message from CVS: remove mentions of sinesrc 2005-11-23 14:52:31 +0000 Michael Smith docs/gst/gstreamer-sections.txt: Update for new API and API changes. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: Update for new API and API changes. * gst/gstobject.h: Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK * gst/gstvalue.c: Documentation typo fix. * gst/net/gstnettimepacket.c: Documentation fixes for arguments. 2005-11-23 13:22:21 +0000 Jan Schmidt API Changes. Original commit message from CVS: * gst/gststructure.c: (gst_structure_get_fraction), (gst_structure_parse_value), (gst_structure_fixate_field_nearest_fraction): * gst/gststructure.h: * gst/gstutils.c: (gst_util_uint64_scale_int): * gst/gstutils.h: * scripts/update-funcnames: API Changes. Rename gst_util_clock_time_scale to gst_util_uint64_scale_int Make gst_structure_fixate_field_nearest_fraction take a numerator and denominator argument instead of a GValue add gst_structure_get_fraction helper function. 2005-11-23 13:14:46 +0000 Wim Taymans docs/design/part-TODO.txt: Update TODO. Original commit message from CVS: * docs/design/part-TODO.txt: Update TODO. * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread): * gst/net/gstnetclientclock.h: Use parent fields for timeout and window_size. 2005-11-23 12:39:36 +0000 Christian Schaller * docs/upload.mak: * gst/registries/.gitignore: * gst/schedulers/.gitignore: * libs/gst/control/.gitignore: * libs/gst/getbits/.gitignore: add missing cvsignores so CVS shuts up Original commit message from CVS: add missing cvsignores so CVS shuts up 2005-11-23 12:36:00 +0000 Andy Wingo check/net/gstnetclientclock.c (test_functioning): Adjust to rate_num/rate_denom change. Original commit message from CVS: 2005-11-23 Andy Wingo * check/net/gstnetclientclock.c (test_functioning): Adjust to rate_num/rate_denom change. * gst/net/gstnetclientclock.c (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the OBJECT_LOCK. Don't call add_observation with the lock. * gst/gstclock.c (gst_clock_init): Initialize the rate as a fraction. (gst_clock_adjust_unlocked): Adjust using uint64_scale and the rate fraction. (gst_clock_set_calibration, gst_clock_get_calibration): Change to deal with rate as a fraction whose numerator and denominator are GstClockTime values. (gst_clock_set_master): Only use the OBJECT_LOCK to set the master; the other fields are protected by the SLAVE_LOCK. (do_linear_regression): Note that this must be called with the SLAVE_LOCK. (gst_clock_add_observation): Take the SLAVE_LOCK, not the OBJECT_LOCK. Call set_calibration instead of touching the variables directly. (gst_clock_set_property, gst_clock_get_property): Protect master/slave parameters with the SLAVE_LOCK. * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and note that all of the instance variables that add_observation and the set_master functions use are protected by that lock and not the OBJECT_LOCK. (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros. * gst/gstclock.c (gst_clock_add_observation): No longer requires the caller to take the object lock. 2005-11-23 11:22:39 +0000 Wim Taymans gst/gsterror.*: Add error for clock stuff. Original commit message from CVS: * gst/gsterror.c: (_gst_core_errors_init): * gst/gsterror.h: Add error for clock stuff. * gst/gstpipeline.c: (gst_pipeline_change_state), (gst_pipeline_set_clock): Post clock error when clock cannot be used in a pipeline. 2005-11-23 11:05:37 +0000 Stefan Kost docs/gst/gstreamer-sections.txt: make two symbols from gstinfo private for the docs Original commit message from CVS: * docs/gst/gstreamer-sections.txt: make two symbols from gstinfo private for the docs * gst/base/gstcollectpads.h: * gst/gstutils.c: fix doc typos, update docs 2005-11-22 18:28:44 +0000 Wim Taymans gst/base/gstbasesink.*: No need to store the clock, the parent element class already has it. Original commit message from CVS: * gst/base/gstbasesink.c: (gst_base_sink_class_init), (gst_base_sink_wait), (gst_base_sink_do_sync), (gst_base_sink_handle_event): * gst/base/gstbasesink.h: No need to store the clock, the parent element class already has it. * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func): Updates for clock_set returning a gboolean * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait), (gst_clock_id_wait_async), (gst_clock_class_init), (gst_clock_init), (gst_clock_finalize), (gst_clock_get_internal_time), (gst_clock_get_time), (gst_clock_slave_callback), (gst_clock_set_master), (gst_clock_get_master), (do_linear_regression), (gst_clock_add_observation), (gst_clock_set_property), (gst_clock_get_property): * gst/gstclock.h: Implement master/slave. When setting a clock as a slave, a periodic timeout is scheduled to sample master and slave times. Then the slave clock is recalibrated to match offset and rate of the master clock. Update logging a bit. Add flag so that a clock can state that is cannot be slaved to another clock. * gst/gstelement.c: (gst_element_set_clock): * gst/gstelement.h: The set_clock returns a gboolean for when an element cannot deal with the selected clock in the pipeline. * gst/gstpipeline.c: (gst_pipeline_change_state), (gst_pipeline_set_clock): * gst/gstpipeline.h: Handle the case where the selected clock cannot be set on the pipeline. * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init), (gst_net_client_clock_init), (gst_net_client_clock_finalize), (gst_net_client_clock_set_property), (gst_net_client_clock_get_property), (gst_net_client_clock_observe_times): * gst/net/gstnetclientclock.h: Use regression code in GstClock parent, remove duplicated functionality. 2005-11-22 16:31:08 +0000 Michael Smith * ChangeLog: * docs/gst/gstreamer-sections.txt: * gst/gstutils.c: * gst/gstutils.h: Add underscores Original commit message from CVS: Add underscores 2005-11-22 15:52:03 +0000 Thomas Vander Stichele gst/: correctly fix GEnumValues so that nick is the short lowercase dashed tag Original commit message from CVS: * gst/elements/Makefile.am: * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type): * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type), (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type), (gst_fake_src_init), (gst_fake_src_prepare_buffer), (gst_fake_src_alloc_buffer), (gst_fake_src_get_size): * gst/elements/gstfakesrc.h: * gst/gstqueue.c: (queue_leaky_get_type): correctly fix GEnumValues so that nick is the short lowercase dashed tag * tools/gst-inspect.c: (print_element_properties_info): also show the nick, since it's useful to use from parse_launch syntax Fixes #322139 2005-11-22 15:15:53 +0000 Michael Smith Add util method for scaling a clocktime by a fraction. Useful implementation is left as an exercise for the reader. Original commit message from CVS: * gst/gstutils.c: (gst_util_clocktime_scale): * gst/gstutils.h: * docs/gst/gstreamer-sections.txt: Add util method for scaling a clocktime by a fraction. Useful implementation is left as an exercise for the reader. 2005-11-22 14:29:10 +0000 Jan Schmidt gst/gstvalue.c: If needed, allocate storage in the destination value during collection. Original commit message from CVS: * gst/gstvalue.c: (gst_value_collect_fraction_range): If needed, allocate storage in the destination value during collection. 2005-11-22 13:58:00 +0000 Edward Hervey Removed GstURI , closes bug #321061 Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/Makefile.am: * gst/gst.h: * gst/gsturitype.c: * gst/gsturitype.h: * gst/gstutils.c: (gst_util_set_object_arg): * tools/gst-compprep.c: (main): * tools/gst-inspect.c: (print_element_properties_info): Removed GstURI , closes bug #321061 2005-11-22 13:14:51 +0000 Jan Schmidt Oops, broke automatic string type parsing. Original commit message from CVS: * check/gst/gststructure.c: (GST_START_TEST): * gst/gststructure.c: (gst_structure_parse_value): Oops, broke automatic string type parsing. Add a test to catch it in future. 2005-11-22 13:02:12 +0000 Andy Wingo * ChangeLog: * gst/gsttagsetter.c: gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) Original commit message from CVS: 2005-11-22 Andy Wingo * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list): Actually rename the function implementations. Grr. 2005-11-22 12:51:18 +0000 Andy Wingo * scripts/update-funcnames: fix borked commit Original commit message from CVS: fix borked commit 2005-11-22 12:35:42 +0000 Jan Schmidt check/gst/capslist.h: Comment test cases Original commit message from CVS: * check/gst/capslist.h: Comment test cases * check/gst/gststructure.c: (GST_START_TEST), (gst_structure_suite): Test automatic value type detection in gst_structure_from_string. * gst/gststructure.c: (gst_structure_parse_value): Add fraction as a type we try and guess automatically in caps/structure strings. 2005-11-22 12:35:35 +0000 Andy Wingo * scripts/update-funcnames: update update-funcs for tagsetter Original commit message from CVS: update update-funcs for tagsetter 2005-11-22 12:20:04 +0000 Torsten Schoenfeld gst/gsttagsetter.*: (gst_tag_setter_merge_tags) (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values) (gst_tag_set... Original commit message from CVS: 2005-11-22 Andy Wingo patch by: Torsten Schoenfeld * gst/gsttagsetter.h: * gst/gsttagsetter.c: (gst_tag_setter_merge_tags) (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values) (gst_tag_setter_add_tag_valist) (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add, _add_values, _add_valist, and _add_valist_values. Since this is an interface the function suffixes should be more explicit so language binding don't end up with element.add_valist -> gst_tag_setter_add_valist, for example. Fixes #322069. 2005-11-22 12:15:19 +0000 Thomas Vander Stichele * check/Makefile.am: * tests/check/Makefile.am: don't valgrind the stress test, takes too long Original commit message from CVS: don't valgrind the stress test, takes too long 2005-11-22 11:56:01 +0000 Jan Schmidt check/gst/gstcaps.c: Extend caps string tests to check that a caps to string conversion is reversible and produces th... Original commit message from CVS: * check/gst/gstcaps.c: (GST_START_TEST): Extend caps string tests to check that a caps to string conversion is reversible and produces the same caps. * gst/gststructure.c: (gst_structure_value_get_generic_type): Output "fraction" as the generic type fraction range, so caps serialisation and deserialisation works. * check/gst/capslist.h: * gst/gstvalue.c: (gst_value_deserialize_fraction): Support 'MIN' and 'MAX' for deserialising fractions. 2005-11-22 11:50:12 +0000 Michael Smith * gst/gststructure.c: Minor doc fix. Original commit message from CVS: Minor doc fix. 2005-11-22 11:48:58 +0000 Andy Wingo gst/gstevent.h (gst_event_new_new_segment) (gst_event_parse_new_segment, gst_event_new_buffer_size) Original commit message from CVS: 2005-11-22 Andy Wingo * gst/gstevent.h (gst_event_new_new_segment) (gst_event_parse_new_segment, gst_event_new_buffer_size) (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target): Renamed from *_newsegment, *_buffersize, *_notarget. * scripts/update-funcnames: New script, performs the changes listed above. 2005-11-22 11:25:01 +0000 Wim Taymans gst/base/gstbasesink.c: Make sure the GstFlowReturn is returned. Original commit message from CVS: * gst/base/gstbasesink.c: (gst_base_sink_handle_object): Make sure the GstFlowReturn is returned. * gst/gstbus.c: (gst_bus_add_signal_watch_full), (gst_bus_add_signal_watch): * gst/gstbus.h: add gst_bus_add_signal_watch_full. * gst/gstplugin.c: (gst_plugin_load_file): Small style cleanup. 2005-11-22 10:24:31 +0000 Jan Schmidt check/gst/gstevent.c: Block the fakesrc srcpad when we send an event, to avoid contention on the stream_lock causing ... Original commit message from CVS: * check/gst/gstevent.c: (test_event), (GST_START_TEST): Block the fakesrc srcpad when we send an event, to avoid contention on the stream_lock causing random test failures. 2005-11-22 09:42:17 +0000 Jan Schmidt Fix subtraction. Original commit message from CVS: * check/gst/gstvalue.c: (GST_START_TEST): * gst/gstvalue.c: (gst_value_fraction_subtract): Fix subtraction. 2005-11-22 09:35:25 +0000 Stefan Kost gst/gst.h: include "gstchildproxy.h" Original commit message from CVS: * gst/gst.h: include "gstchildproxy.h" * gst/gstchildproxy.h: * libs/gst/controller/gstcontroller.h: use G_GNUC_NULL_TERMINATED 2005-11-21 23:54:59 +0000 Jan Schmidt Implement fraction ranges and extend GstFraction to support arithmetic subtraction, as well as deserialization from i... Original commit message from CVS: * check/gst/capslist.h: * check/gst/gstcaps.c: (GST_START_TEST): * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite): * gst/gststructure.c: (gst_structure_parse_range), (gst_structure_fixate_field_nearest_fraction): * gst/gststructure.h: * gst/gstvalue.c: (gst_value_init_fraction_range), (gst_value_free_fraction_range), (gst_value_copy_fraction_range), (gst_value_collect_fraction_range), (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range), (gst_value_set_fraction_range_full), (gst_value_get_fraction_range_min), (gst_value_get_fraction_range_max), (gst_value_serialize_fraction_range), (gst_value_transform_fraction_range_string), (gst_value_compare_fraction_range), (gst_value_deserialize_fraction_range), (gst_value_intersect_fraction_fraction_range), (gst_value_intersect_fraction_range_fraction_range), (gst_value_subtract_fraction_fraction_range), (gst_value_subtract_fraction_range_fraction), (gst_value_subtract_fraction_range_fraction_range), (gst_value_collect_fraction), (gst_value_fraction_multiply), (gst_value_fraction_subtract), (gst_value_deserialize_fraction), (gst_value_transform_string_fraction), (_gst_value_initialize): * gst/gstvalue.h: Implement fraction ranges and extend GstFraction to support arithmetic subtraction, as well as deserialization from integer strings such as "100" Add a testsuite as for int and double range set operations 2005-11-21 19:58:23 +0000 Andy Wingo gst/: Add glib-compat.h. Original commit message from CVS: 2005-11-21 Andy Wingo * gst/gsttaglist.h: * gst/gstcaps.h: * gst/gststructure.h: Add glib-compat.h. 2005-11-21 19:13:13 +0000 Wim Taymans gst/gstbin.c: Fix for #321595 Original commit message from CVS: * gst/gstbin.c: (gst_bin_change_state_func): Fix for #321595 2005-11-21 19:00:28 +0000 Wim Taymans gst/gstsegment.h: And add a nice define too. Original commit message from CVS: * gst/gstsegment.h: And add a nice define too. 2005-11-21 18:53:06 +0000 Wim Taymans gst/gstsegment.*: Make binding friendly. Original commit message from CVS: * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type), (gst_segment_new), (gst_segment_free), (gst_segment_init), (gst_segment_set_duration), (gst_segment_set_last_stop), (gst_segment_set_seek), (gst_segment_set_newsegment), (gst_segment_to_stream_time), (gst_segment_to_running_time), (gst_segment_clip): * gst/gstsegment.h: Make binding friendly. 2005-11-21 18:41:39 +0000 Andy Wingo gst/: Sprinkle NULL_TERMINATED to taste. Original commit message from CVS: 2005-11-21 Andy Wingo * gst/gsttagsetter.h: * gst/gsttaglist.h: * gst/gststructure.h: * gst/gstcaps.h: * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. 2005-11-21 18:27:26 +0000 Andy Wingo gst/gsterror.*: New error category. Original commit message from CVS: 2005-11-21 Andy Wingo * gst/gsterror.c (_gst_core_errors_init): * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error category. 2005-11-21 18:16:00 +0000 Andy Wingo gst/Makefile.am (gst_headers): Add glib-compat.h. noinst the -private. Original commit message from CVS: 2005-11-21 Andy Wingo * gst/Makefile.am (gst_headers): Add glib-compat.h. (noinst_HEADERS): noinst the -private. 2005-11-21 18:10:13 +0000 Michael Smith gst/: Remove unimplemented declarations for which we can see no sensible use. Original commit message from CVS: * gst/gstplugin.h: * gst/gstregistry.h: Remove unimplemented declarations for which we can see no sensible use. 2005-11-21 18:03:22 +0000 Andy Wingo gst/gst.h: Include glib-compat.h. Original commit message from CVS: 2005-11-21 Andy Wingo * gst/gst.h: Include glib-compat.h. * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED. * gst/glib-compat.c: Include the public and the private header. * gst/glib-compat-private.h: Copied here from glib-compat.h. * gst/gstvalue.c: * gst/gstpad.c: * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/. 2005-11-21 17:21:15 +0000 Andy Wingo check/gst/gstevent.c (create_custom_events): Check that Original commit message from CVS: 2005-11-21 Andy Wingo * check/gst/gstevent.c (create_custom_events): Check that FLUSH_STOP is serialized. * check/elements/identity.c (event_func): * check/elements/fakesrc.c (event_func): No stream lock, the core takes it. * gst/base/gstbasetransform.c (gst_base_transform_event): No more stream lock taking, yay. * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to ensure that core takes the stream lock. * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream lock name change. * gst/base/gstbasesink.c (gst_base_sink_event): No need to take the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does it already. For the flush start we do take it though so we get the right preroll state change messages. * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take the stream lock here, the core does it for us. * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from GST_STREAM_GET_LOCK. (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*. (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK. (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*. * gst/gstpad.c: Update for stream lock name change. * gst/base/gstbasesink.c: Update for preroll lock name change. 2005-11-21 17:12:50 +0000 Wim Taymans gst/: Convert Clock flags to object flags. Original commit message from CVS: * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master), (gst_clock_get_master): * gst/gstclock.h: * gst/gstsystemclock.c: (gst_system_clock_init): Convert Clock flags to object flags. Added methods to manage master/slave clocks. 2005-11-21 17:09:45 +0000 Wim Taymans More segment updates, replace code in plugins with segment helper functions. Original commit message from CVS: * check/gst/gstsegment.c: (GST_START_TEST): * docs/design/part-TODO.txt: * gst/base/gstbasesink.c: (gst_base_sink_handle_object), (gst_base_sink_event), (gst_base_sink_do_sync), (gst_base_sink_activate_pull), (gst_base_sink_get_position), (gst_base_sink_query), (gst_base_sink_change_state): * gst/base/gstbasesink.h: * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query), (gst_base_src_default_newsegment), (gst_base_src_configure_segment), (gst_base_src_do_seek), (gst_base_src_get_range), (gst_base_src_loop), (gst_base_src_change_state): * gst/base/gstbasesrc.h: * gst/base/gstbasetransform.c: (gst_base_transform_prepare_output_buf), (gst_base_transform_event), (gst_base_transform_change_state): * gst/base/gstbasetransform.h: * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad), (gst_collect_pads_event): * gst/base/gstcollectpads.h: * gst/elements/gstfakesrc.c: (gst_fake_src_init), (gst_fake_src_create): * gst/elements/gstfakesrc.h: * gst/elements/gstidentity.c: (gst_identity_transform_ip): * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration), (gst_segment_set_last_stop), (gst_segment_set_seek), (gst_segment_set_newsegment), (gst_segment_to_stream_time), (gst_segment_to_running_time), (gst_segment_clip): * gst/gstsegment.h: More segment updates, replace code in plugins with segment helper functions. 2005-11-21 16:46:07 +0000 Jan Schmidt gst/elements/gstfdsrc.c: Don't ignore sscanf results Original commit message from CVS: * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri): Don't ignore sscanf results 2005-11-21 16:41:16 +0000 Andy Wingo gst/gstpad.h (GST_IS_PAD_FAST): Removed. Original commit message from CVS: 2005-11-21 Andy Wingo * gst/gstpad.h (GST_IS_PAD_FAST): Removed. 2005-11-21 16:34:26 +0000 Andy Wingo *.*: Ran scripts/update-macros. Oh yes. gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK) Original commit message from CVS: 2005-11-21 Andy Wingo * *.h: * *.c: Ran scripts/update-macros. Oh yes. * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK) (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from GST_GET_LOCK, etc. * scripts/update-macros: New script. Run it on your files to change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as well. 2005-11-21 15:47:09 +0000 Stefan Kost more docs fixes, add new api to the docs Original commit message from CVS: * docs/gst/Makefile.am: * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * docs/gst/gstreamer.types: * gst/gstinfo.h: more docs fixes, add new api to the docs 2005-11-21 15:01:48 +0000 Andy Wingo gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this state_broadcast call. Original commit message from CVS: 2005-11-21 Andy Wingo * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this state_broadcast call. 2005-11-21 14:53:34 +0000 Andy Wingo gst/gstsegment.c (gst_segment_init): Initialize abs_rate. Original commit message from CVS: 2005-11-21 Andy Wingo * gst/gstsegment.c (gst_segment_init): Initialize abs_rate. 2005-11-21 14:52:56 +0000 Julien Moutte gst/gstvalue.c: Fix wrong function calls for arrays. Original commit message from CVS: 2005-11-21 Julien MOUTTE * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong function calls for arrays. 2005-11-21 14:50:22 +0000 Stefan Kost docs/random/ensonic/media-device-daemon.txt: wild idea, can this be done? Original commit message from CVS: * docs/random/ensonic/media-device-daemon.txt: wild idea, can this be done? * docs/gst/gstreamer-sections.txt: * gst/gsterror.h: * gst/gstfilter.c: * gst/gstfilter.h: * gst/gstplugin.h: * gst/gstpluginfeature.c: * gst/gsttrace.c: * gst/gstvalue.c: * gst/gstvalue.h: doc fixes and additions 2005-11-21 14:41:26 +0000 Andy Wingo * ChangeLog: * gst/base/gstbasesrc.c: * gst/base/gstbasesrc.h: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasesrc.h: gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) (... Original commit message from CVS: 2005-11-21 Andy Wingo * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are private to the basesrc implementation. 2005-11-21 14:34:07 +0000 Andy Wingo gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on behalf of event function if necessary. It should no ... Original commit message from CVS: 2005-11-21 Andy Wingo * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on behalf of event function if necessary. It should no longer be necessary to take the stream lock in pad's event functions. Fixes #320299. 2005-11-21 14:28:21 +0000 Jan Schmidt Rename gst_caps_structure_fixate_* to gst_structure_fixate_* (#322027) Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gststructure.c: (gst_structure_fixate_field_nearest_int), (gst_structure_fixate_field_nearest_double), (gst_structure_fixate_field_boolean): * gst/gststructure.h: * win32/common/libgstreamer.def: * win32/gstreamer.def: Rename gst_caps_structure_fixate_* to gst_structure_fixate_* (#322027) 2005-11-21 14:25:21 +0000 Jan Schmidt gst/elements/gstfdsrc.*: Port fd:// URI handler from 0.8 to fdsrc Original commit message from CVS: * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init), (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property), (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols), (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri), (gst_fdsrc_uri_handler_init): * gst/elements/gstfdsrc.h: Port fd:// URI handler from 0.8 to fdsrc 2005-11-21 13:26:51 +0000 Wim Taymans More segment updates and more checks. Original commit message from CVS: * check/gst/gstsegment.c: (GST_START_TEST), (gstsegments_suite), (main): * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration), (gst_segment_set_last_stop), (gst_segment_set_seek), (gst_segment_set_newsegment), (gst_segment_to_stream_time), (gst_segment_to_running_time), (gst_segment_clip): * gst/gstsegment.h: More segment updates and more checks. 2005-11-21 13:26:40 +0000 Tim-Philipp Müller gst/gstvalue.*: Drop leading '%' from GST_FOURCC_FORMAT, thus making it consistent with our other format defines (#32... Original commit message from CVS: * gst/gstvalue.c: (gst_value_transform_fourcc_string), (gst_value_serialize_fourcc): * gst/gstvalue.h: Drop leading '%' from GST_FOURCC_FORMAT, thus making it consistent with our other format defines (#320324). 2005-11-21 13:12:18 +0000 Tim-Philipp Müller gst/gstvalue.c: Revert previous commit. Value lists are by definition not fixed, as they are a list of possible values. Original commit message from CVS: * gst/gstvalue.c: (gst_value_is_fixed): Revert previous commit. Value lists are by definition not fixed, as they are a list of possible values. 2005-11-21 13:03:36 +0000 Andy Wingo gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back during the stable series if we need it. Fixes #319178. Original commit message from CVS: 2005-11-21 Andy Wingo * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back during the stable series if we need it. Fixes #319178. * gst/gstevent.c (gst_event_new_filler): Removed. * check/gst/gstevent.c: Update comment about filler events. 2005-11-21 12:42:41 +0000 Tim-Philipp Müller gst/gstvalue.c: Should handle both value arrays and value lists. Original commit message from CVS: * gst/gstvalue.c: (gst_value_is_fixed): Should handle both value arrays and value lists. 2005-11-21 12:27:01 +0000 Alessandro Dessina gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array functions to access arrays. Fixes #321962. Original commit message from CVS: 2005-11-21 Andy Wingo patch by: Alessandro Dessina * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array functions to access arrays. Fixes #321962. 2005-11-21 11:26:07 +0000 Tim-Philipp Müller docs/gst/gstreamer.types: gst_collectpads_get_type => gst_collect_pads_get_type. Original commit message from CVS: * docs/gst/gstreamer.types: gst_collectpads_get_type => gst_collect_pads_get_type. * gst/base/gstbasetransform.c: Remove unused SIGNAL_HANDOFF enum. 2005-11-21 11:06:42 +0000 Andy Wingo gst/gstevent.h (GstEventTypeFlags): New data type, the flags of the event type (upstream, downstream, serialized). Re... Original commit message from CVS: 2005-11-21 Andy Wingo * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of the event type (upstream, downstream, serialized). Renamed GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*. (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc. * gst/gstevent.c: Update for new CUSTOM event names. * check/gst/gstevent.c: Update check for new CUSTOM event names. * gst/gstevent.h: * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes bug #319392. 2005-11-21 11:00:03 +0000 Tim-Philipp Müller Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document unimplemented functions as unimplemented (#320766). Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * win32/common/libgstbase.def: * win32/libgstbase.def: * gst/base/gstcollectpads.c: (gst_collect_pads_base_init), (gst_collect_pads_class_init), (gst_collect_pads_init), (gst_collect_pads_finalize), (gst_collect_pads_new), (gst_collect_pads_set_function), (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad), (gst_collect_pads_is_active), (gst_collect_pads_collect), (gst_collect_pads_collect_range), (gst_collect_pads_start), (gst_collect_pads_stop), (gst_collect_pads_peek), (gst_collect_pads_pop), (gst_collect_pads_available), (gst_collect_pads_read), (gst_collect_pads_flush), (gst_collect_pads_event), (gst_collect_pads_chain): * gst/base/gstcollectpads.h: Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document unimplemented functions as unimplemented (#320766). 2005-11-21 10:41:03 +0000 Tim-Philipp Müller gst/gstmessage.c: Improve docs for DURATION message (usage of duration parameter) (#320113) Original commit message from CVS: * gst/gstmessage.c: Improve docs for DURATION message (usage of duration parameter) (#320113) 2005-11-21 10:04:18 +0000 Thomas Vander Stichele * docs/random/moving-plugins: update Original commit message from CVS: update 2005-11-21 09:44:46 +0000 Christian Schaller * gstreamer.spec.in: add latest .pc file to spec Original commit message from CVS: add latest .pc file to spec 2005-11-20 19:11:09 +0000 Wim Taymans Added segment helper structure and methods. Not fully implemented yet. Original commit message from CVS: * check/Makefile.am: * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite), (main): * gst/Makefile.am: * gst/gst.h: * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration), (gst_segment_set_seek), (gst_segment_set_newsegment), (gst_segment_to_stream_time), (gst_segment_to_running_time), (gst_segment_clip): * gst/gstsegment.h: Added segment helper structure and methods. Not fully implemented yet. Added segment check. 2005-11-20 17:12:49 +0000 Jan Schmidt check/gst/gstvalue.c: Add a deserialisation test for fractions Original commit message from CVS: * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite): Add a deserialisation test for fractions * examples/metadata/read-metadata.c: (message_loop), (make_pipeline), (main): Fix up metadata reading sample. * gst/base/gstbasesink.c: (gst_base_sink_do_sync): Debug format fix * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate): Don't try and fixate empty caps * gst/gst_private.h: Wrap in G_BEGIN_DECLS/G_END_DECLS * gst/gstvalue.c: (gst_value_collect_fraction), (gst_value_set_fraction), (gst_value_get_fraction_denominator), (gst_value_transform_string_fraction), (gst_value_compare_fraction): Add some extra guards to ensure that we don't end up with an invalid denominator of 0 in a gstfraction and that fractions always get reduced. 2005-11-20 14:56:13 +0000 Wim Taymans * ChangeLog: Something went wrong with changelog in last commit Original commit message from CVS: Something went wrong with changelog in last commit 2005-11-20 14:50:43 +0000 Wim Taymans Doc fixes. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstbuffer.h: * gst/gstelement.c: * gst/gstformat.c: * gst/gstformat.h: * gst/gstindex.h: * gst/gstquery.c: * gst/gstquery.h: * gst/gstvalue.c: Doc fixes. 2005-11-20 13:28:11 +0000 Wim Taymans Make a proper enum of the flag. Original commit message from CVS: * docs/design/part-TODO.txt: * gst/gstcaps.h: Make a proper enum of the flag. 2005-11-19 18:57:00 +0000 Wim Taymans Add type to quark and type to string conversions. Original commit message from CVS: * docs/design/part-TODO.txt: * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name), (gst_format_to_quark), (gst_format_register): * gst/gstformat.h: * gst/gstquery.c: (_gst_query_initialize), (gst_query_type_get_name), (gst_query_type_to_quark), (gst_query_type_register): * gst/gstquery.h: Add type to quark and type to string conversions. 2005-11-19 18:32:01 +0000 Andy Wingo gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes #320097. Original commit message from CVS: 2005-11-19 Andy Wingo * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes #320097. 2005-11-19 18:28:40 +0000 Wim Taymans Make message handling overridable. Original commit message from CVS: * docs/design/part-TODO.txt: * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func), (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler), (gst_bin_handle_message_func): * gst/gstbin.h: Make message handling overridable. 2005-11-19 18:26:35 +0000 Andy Wingo gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235. Original commit message from CVS: 2005-11-19 Andy Wingo * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235. 2005-11-19 18:17:29 +0000 Andy Wingo gst/gstclock.*: Change resolution to be a GstClockTime. Original commit message from CVS: 2005-11-19 Andy Wingo * gst/gstclock.h: * gst/gstclock.c (GstClock, GstClockClass): Change resolution to be a GstClockTime. (gst_clock_set_resolution, gst_clock_get_resolution): Resolution is a GstClockTime. Fixes #321710. 2005-11-19 18:06:56 +0000 Andy Wingo gst/gstclock.h (GstClock): Remove offset property. Add internal_calibration and external_calibration. Fix padding. Pa... Original commit message from CVS: 2005-11-19 Andy Wingo * gst/gstclock.h (GstClock): Remove offset property. Add internal_calibration and external_calibration. Fix padding. Pad also by GstClockTime so we don't run into problems. * gst/gstclock.c (gst_clock_set_rate_offset): Remove. (gst_clock_get_rate_offset): Remove. (gst_clock_set_time_adjust): Remove. Fixes #321712. 2005-11-19 17:50:52 +0000 Andy Wingo gst/gstutils.h: gst/gstutils.c (g_static_rec_cond_wait) Original commit message from CVS: 2005-11-19 Andy Wingo * gst/gstutils.h: * gst/gstutils.c (g_static_rec_cond_wait) (g_static_rec_cond_timed_wait): Removed, no longer needed. * gst/gstbin.c: Remove terrible continue_state prototype. * gst/gstelement.h (gst_element_continue_state): Make public. * gst/gstelement.h: * gst/gstelement.c (gst_element_commit_state): Removed, replaced by continue_state. Fixes #319389. 2005-11-19 17:28:58 +0000 Andy Wingo gst/gstindex.h (GstIndexFilter): Actually pass on the user_data. Original commit message from CVS: 2005-11-19 Andy Wingo * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data. Really fixes #168438. However I don't see anywhere where the filter function is called... stupid GStreamer... 2005-11-19 17:26:27 +0000 Andy Wingo gst/gstindex.h (GstIndex): Add field for user_data_destroy. We don't have a dispose function, so it won't get called ... Original commit message from CVS: 2005-11-19 Andy Wingo * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We don't have a dispose function, so it won't get called when the object is unreffed, but oh well! * gst/gstindex.c (gst_index_set_filter_full): New API function, allows a destroy function to be set so user_data can be freed. Fixes #168438. (gst_index_set_filter): Call gst_index_set_filter_full. 2005-11-19 17:08:23 +0000 Andy Wingo check/gst/gstvalue.c (test_string): Add test for bug #165650. Original commit message from CVS: 2005-11-19 Andy Wingo * check/gst/gstvalue.c (test_string): Add test for bug #165650. * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL string should produce an error, given the lack of a way to represent NULL strings. Fixes #165650. 2005-11-19 16:46:30 +0000 Andy Wingo gst/gstvalue.h: gst/gstvalue.c (gst_value_array_append_value) (gst_value_array_prepend_value, gst_value_array_get_size) Original commit message from CVS: 2005-11-19 Andy Wingo * gst/gstvalue.h: * gst/gstvalue.c (gst_value_array_append_value) (gst_value_array_prepend_value, gst_value_array_get_size) (gst_value_array_get_value): New API, copied from gst_value_list_*, only operates on arrays. (gst_value_list_append_value, gst_value_list_prepend_value) (gst_value_list_concat, gst_value_list_get_size) (gst_value_list_get_value): Only operate on lists. Fixes #156633. * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from init_list, because it works on both. (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array. (gst_value_copy_list_or_array): Renamed from copy_list. (gst_value_free_list_or_array): Renamed from free_list. (gst_value_collect_list_or_array): Renamed from collect_list. (gst_value_lcopy_list_or_array): Renamed from lcopy_list. (gst_value_list_or_array_peek_pointer): Renamed from list_peek_pointer. (_gst_value_array_value_table, _gst_value_list_value_table): Update value table functions. (gst_value_compare_list_or_array): Renamed from compare_list. 2005-11-19 16:05:11 +0000 Andy Wingo gsttaglist.h: Whoops, foreach function returns void. Also fix some constness. Original commit message from CVS: 2005-11-19 Andy Wingo * gsttaglist.h: Whoops, foreach function returns void. Also fix some constness. 2005-11-19 15:51:41 +0000 Andy Wingo gst/gsttaglist.*: Operates on a const Original commit message from CVS: 2005-11-19 Andy Wingo * gst/gsttaglist.c: * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const GstTagList*. Fixes #143472. * gst/gststructure.h: Clarify what the foreach/map functions can or can't do to their arguments. 2005-11-18 19:21:50 +0000 Wim Taymans gst/gstclock.c: Doc and API fixes. Original commit message from CVS: * gst/gstclock.c: (gst_clock_set_calibration), (gst_clock_get_calibration): Doc and API fixes. Callibration can be set with internal time equal to current internal time too. 2005-11-18 18:55:24 +0000 Thomas Vander Stichele gst/gsterror.*: document Original commit message from CVS: * gst/gsterror.c: * gst/gsterror.h: document 2005-11-18 18:38:41 +0000 Thomas Vander Stichele * docs/random/moving-plugins: document on requirements for moving plugins to good Original commit message from CVS: document on requirements for moving plugins to good 2005-11-18 16:24:56 +0000 Andy Wingo Add net pkgconfig files. Original commit message from CVS: 2005-11-18 Andy Wingo * configure.ac: * pkgconfig/gstreamer-net.pc.in: * pkgconfig/gstreamer-net-uninstalled.pc.in: * pkgconfig/Makefile.am: Add net pkgconfig files. 2005-11-18 16:04:28 +0000 Stefan Kost gst/: docs fixes Original commit message from CVS: * gst/gstcaps.c: * gst/gstghostpad.c: * gst/gsttrace.c: * gst/gstvalue.c: * gst/gstvalue.h: docs fixes 2005-11-18 15:52:24 +0000 Andy Wingo gst/net/gstnetclientclock.c: Turn off debugging. Original commit message from CVS: 2005-11-18 Andy Wingo * gst/net/gstnetclientclock.c: Turn off debugging. * check/net/gstnetclientclock.c (test_functioning): Assert that the times connverge somewhat. Can't make a real test. 2005-11-18 15:30:18 +0000 Andy Wingo gst/net/gstnetclientclock.c (do_linear_regression): Use all integer arithmetic. Return the minimum of the domain, whi... Original commit message from CVS: 2005-11-18 Andy Wingo * gst/net/gstnetclientclock.c (do_linear_regression): Use all integer arithmetic. Return the minimum of the domain, which can be set as "internal" for gst_clock_set_calibration. (gst_net_client_clock_observe_times): Call _set_calibration. (gst_net_client_clock_new): Call _set_calibration instead of rate_offset. * check/net/gstnetclientclock.c (test_functioning): Use the right adjustment api. * gst/gstclock.h: * gst/gstclock.c (gst_clock_get_calibration) (gst_clock_set_calibration): New functions, obsolete the ones I added yesterday. Doh. Precision issues mean we have to extrapolate from a point in the more recent past than 1970. (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as obsolete. (gst_clock_adjust_unlocked): Use the right calibration data. 2005-11-18 14:49:28 +0000 Edward Hervey gst/base/gstbasesink.c: Also reset the ->current_* values in READY->PAUSED Original commit message from CVS: * gst/base/gstbasesink.c: (gst_base_sink_change_state): Also reset the ->current_* values in READY->PAUSED 2005-11-18 14:13:28 +0000 Andy Wingo gst/net/gstnetclientclock.c (gst_net_client_clock_thread): Whoops, check the right fd. Also add some debugging. Original commit message from CVS: 2005-11-18 Andy Wingo * gst/net/gstnetclientclock.c (gst_net_client_clock_thread): Whoops, check the right fd. Also add some debugging. (gst_net_client_clock_observe_times): Adjust for int64 offset. (do_linear_regression): Add a crapload of debugging. Subtract off the minimum values from the input series to discard unneeded bits. Use only int arithmetic. There is still double arithmetic when calculating the intercept that needs fixing. Return boolean to indicate success; FALSE would mean the domain or range is too great. Still needs fixes. 2005-11-18 13:18:44 +0000 Wim Taymans gst/base/gstbasesink.c: For the current position in stream time, we need to subtract accumulated time. Original commit message from CVS: * gst/base/gstbasesink.c: (gst_base_sink_get_position): For the current position in stream time, we need to subtract accumulated time. * gst/gstsystemclock.c: (gst_system_clock_async_thread): Release lock before calling the callback function of async entries. 2005-11-18 11:57:30 +0000 Andy Wingo gst/net/gstnetclientclock.c (gst_net_client_clock_class_init): Port goes all the way to MAXUINT16. Original commit message from CVS: 2005-11-18 Andy Wingo * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init): Port goes all the way to MAXUINT16. * gst/net/gstnettimeprovider.c: Make the port range the same as for the kernel: 0 assigns, otherwise ports are less than MAXUINT16. * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns port change. * check/net/gstnetclientclock.c (test_functioning): Add the start of another test. 2005-11-18 11:03:10 +0000 Wim Taymans gst/gstbin.*: Removing a clock provider from a bin, triggers a clock lost message so that a new clock will be selected. Original commit message from CVS: * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler): * gst/gstbin.h: Removing a clock provider from a bin, triggers a clock lost message so that a new clock will be selected. Adding a clock to a bin triggers a clock provider message. Make sure we reselect a clock when we received a clock lost message. Keep a reference to the element that provided the clock. 2005-11-18 10:54:55 +0000 Andy Wingo gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust the clock initially so it produces values around the b... Original commit message from CVS: 2005-11-18 Andy Wingo * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust the clock initially so it produces values around the base time. (gst_net_client_clock_class_init): Typo fix. (gst_net_client_clock_thread): Add note on when the socket gets closed. 2005-11-17 18:50:14 +0000 Wim Taymans gst/net/gstnetclientclock.c: Free remote and local time arrays. Original commit message from CVS: * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize): Free remote and local time arrays. 2005-11-17 18:18:41 +0000 Wim Taymans gst/net/gstnetclientclock.c: Fix compilation, uninitialized vars and a forgotten continue. Original commit message from CVS: * gst/net/gstnetclientclock.c: (do_linear_regression), (gst_net_client_clock_do_select), (gst_net_client_clock_thread): Fix compilation, uninitialized vars and a forgotten continue. 2005-11-17 17:55:17 +0000 Andy Wingo check/: Add a most minimal test for the net client clock. More to come later. Original commit message from CVS: 2005-11-17 Andy Wingo * check/Makefile.am (check_PROGRAMS): * check/net/gstnetclientclock.c: Add a most minimal test for the net client clock. More to come later. * gst/net/gstnet.h: * gst/net/Makefile.am: Add netclientclock. * gst/net/gstnetclientclock.h: * gst/net/gstnetclientclock.c: New files, implement an untested GstClock that takes its time from a network time provider. Implements the algorithm in network-clock.scm. * tests/network-clock.scm (*window-size*): Rename from *queue-length*. * tests/network-clock.scm (network-time): * tests/network-clock-utils.scm (q-push): Update callers. 2005-11-17 16:02:48 +0000 Wim Taymans gst/gstbin.c: And unref the child too.. Original commit message from CVS: * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_sort_iterator_new): And unref the child too.. 2005-11-17 14:51:11 +0000 Wim Taymans gst/gstbin.c: Refactor the sort iterator so it can be used while holding the Original commit message from CVS: * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func), (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted): Refactor the sort iterator so it can be used while holding the LOCK too. Make clock selection select a clock closest to the source. 2005-11-17 12:36:30 +0000 Michael Smith gst/gstclock.*: Anonymous structs are a gcc (and some other compilers) extension, so don't use them. Since this is on... Original commit message from CVS: * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked), (gst_clock_set_rate_offset), (gst_clock_get_rate_offset): * gst/gstclock.h: Anonymous structs are a gcc (and some other compilers) extension, so don't use them. Since this is only for ABI-compatibility, and our API/ABI freeze is over in a few days, this whole thing will only last a few days, so don't bother trying to think up a meaningful name for the struct. 2005-11-17 11:51:49 +0000 Andy Wingo gst/gstclock.h (GstClock): Add rate and offset properties, preserving ABI stability. Add rate/offset accessors. Will ... Original commit message from CVS: 2005-11-17 Andy Wingo * gst/gstclock.h (GstClock): Add rate and offset properties, preserving ABI stability. Add rate/offset accessors. Will file bug for the freeze break. * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate and offset, trying to keep precision and avoiding underflow/overflow. (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New functions. Make gst_clock_set_time_adjust obsolete. (gst_clock_set_time_adjust): Note that this function is obsolete. Will file bug soon. * gst/base/gstbasetransform.h: Make the ABI-stability hack greppable by using GST_PADDING-1+1. 2005-11-17 11:25:34 +0000 Thomas Vander Stichele * docs/random/NOTES-0.1.1: * docs/random/NOTES-0.2.0: * docs/random/TODO-post-0.1.0: * docs/random/arch: * docs/random/coroutines: * docs/random/design: * docs/random/factoryinfo: * docs/random/gboolean: * docs/random/padarch: * docs/random/sequence: * docs/random/state-transitions: * docs/random/states: * docs/random/states.new: * docs/random/states.old: * docs/random/walkthrough: remove completely outdated random docs Original commit message from CVS: remove completely outdated random docs 2005-11-17 09:37:55 +0000 Tim-Philipp Müller gst/gstmessage.c: Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648). Original commit message from CVS: Reviewed by: Tim-Philipp Müller * gst/gstmessage.c: (gst_message_parse_clock_lost): Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648). * gst/gstpadtemplate.h: * gst/gstpluginfeature.h: Don't use c++ style comments in headers (#321638). 2005-11-16 18:37:57 +0000 Andy Wingo gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free buffer. Original commit message from CVS: 2005-11-16 Andy Wingo * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free buffer. 2005-11-16 18:16:51 +0000 Andy Wingo check/net/gstnettimeprovider.c: Check to see that the time provider actually provides times. Works, yo! Original commit message from CVS: 2005-11-16 Andy Wingo * check/net/gstnettimeprovider.c: Check to see that the time provider actually provides times. Works, yo! 2005-11-16 18:09:47 +0000 Wim Taymans check/Makefile.am: Enable more tests. Original commit message from CVS: * check/Makefile.am: Enable more tests. * check/elements/fakesrc.c: (GST_START_TEST): Set element to NULL before disposing it. 2005-11-16 17:53:54 +0000 Andy Wingo * gst/net/Makefile.am: * libs/gst/net/Makefile.am: fix Original commit message from CVS: fix 2005-11-16 17:52:04 +0000 Andy Wingo gst/net/: Use the timepacket stuff in the provider, include it from gstnet.h, and add it to the build. Original commit message from CVS: 2005-11-16 Andy Wingo * gst/net/Makefile.am: * gst/net/gstnet.h: * gst/net/gstnettimeprovider.c: * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the provider, include it from gstnet.h, and add it to the build. * gst/net/gstnettimepacket.h: * gst/net/gstnettimepacket.c: New files, abstracts out the packet sending and receiving. 2005-11-16 17:35:07 +0000 Wim Taymans check/Makefile.am: Enable valgrind check. Original commit message from CVS: * check/Makefile.am: Enable valgrind check. * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent), (gst_fake_src_alloc_buffer): Fix memleak. 2005-11-16 17:22:36 +0000 Wim Taymans gst/net/gstnettimeprovider.c: Call parent finalize too. Original commit message from CVS: * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize): Call parent finalize too. 2005-11-16 17:18:34 +0000 Wim Taymans check/Makefile.am: Enable valgrind check that should work fine now. Original commit message from CVS: * check/Makefile.am: Enable valgrind check that should work fine now. * gst/elements/gsttypefindelement.c: (gst_type_find_element_init): * gst/gstqueue.c: (gst_queue_init): Fix memleaks in pad allocation. 2005-11-16 16:49:49 +0000 Andy Wingo gst/net/: New part of core to hold network elements and objects. Put in core because it exposes API that applications... Original commit message from CVS: 2005-11-16 Andy Wingo * gst/net/Makefile.am: * gst/net/gstnet.h: New part of core to hold network elements and objects. Put in core because it exposes API that applications want to use. The library is named libgstnet-tempname right now because of the existing libgstnet in gst-plugins-base. Solution is probably to rename the one in plugins-base; will file a bug for the freeze break. * gst/net/gstnettimeprovider.c: * gst/net/gstnettimeprovider.h: New object to export a GstClock's get_time call over the network. * configure.ac: * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build. * check/Makefile.am: * check/net/gstnettimeprovider.c: A most minimal test suite. Will get additions shortly. 2005-11-16 16:09:49 +0000 Thomas Vander Stichele gst/gstpad.*: add gst_pad_new_from_static_template functions Original commit message from CVS: * gst/gstpad.c: (gst_pad_new_from_static_template): * gst/gstpad.h: add gst_pad_new_from_static_template functions * gst/check/gstcheck.c: (gst_check_setup_src_pad), (gst_check_setup_sink_pad): * gst/elements/gsttee.c: (gst_tee_init): and use them 2005-11-16 16:06:06 +0000 Wim Taymans gst/gstpad.c: Removed warning, it's not realy an error either. Original commit message from CVS: * gst/gstpad.c: (gst_pad_pause_task): Removed warning, it's not realy an error either. 2005-11-16 14:27:20 +0000 Wim Taymans gst/base/gstbasetransform.c: Check if the caps are NULL, this can happen if the element is shutting down and the pad ... Original commit message from CVS: * gst/base/gstbasetransform.c: (gst_base_transform_prepare_output_buf), (gst_base_transform_event): Check if the caps are NULL, this can happen if the element is shutting down and the pad caps are set to NULL. 2005-11-16 12:57:51 +0000 Thomas Vander Stichele * ChangeLog: * gst/elements/gsttee.c: * plugins/elements/gsttee.c: fix pad tempalte leak in tee Original commit message from CVS: fix pad tempalte leak in tee 2005-11-16 12:40:18 +0000 Thomas Vander Stichele gst/: use gst_object_ref when setting the pad template; this will trigger the pad template leaks on GLib 2.6 and the ... Original commit message from CVS: * gst/glib-compat.c: (g_value_dup_gst_object): * gst/glib-compat.h: * gst/gstpad.c: (gst_pad_set_property): use gst_object_ref when setting the pad template; this will trigger the pad template leaks on GLib 2.6 and the slaves 2005-11-16 12:25:22 +0000 Thomas Vander Stichele gst/: remove functions copied from GLib 2.6 Original commit message from CVS: * gst/glib-compat.c: (gst_flags_get_first_value): * gst/glib-compat.h: * gst/gstregistryxml.c: remove functions copied from GLib 2.6 2005-11-16 11:29:57 +0000 Michael Smith gst/Makefile.am: Don't link against VALGRIND_LIBS. That was always the wrong thing to do, but only breaks with newer ... Original commit message from CVS: * gst/Makefile.am: Don't link against VALGRIND_LIBS. That was always the wrong thing to do, but only breaks with newer valgrind versions. We're not a valgrind tool, we have no link-time dependencies on libcoregrind. 2005-11-16 11:06:07 +0000 Thomas Vander Stichele gst/base/gstbasesrc.c: some debug changes Original commit message from CVS: * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate): some debug changes * gst/gstmessage.h: typo fixes 2005-11-15 23:53:08 +0000 Thomas Vander Stichele * ChangeLog: * gst/base/gstbasesrc.c: * gst/elements/gsttypefindelement.c: * gst/gstqueue.c: * gst/gstregistryxml.c: * libs/gst/base/gstbasesrc.c: * plugins/elements/gstqueue.c: * plugins/elements/gsttypefindelement.c: Revert all these unrefs, they don't even pass make check ! Original commit message from CVS: Revert all these unrefs, they don't even pass make check ! 2005-11-15 19:48:40 +0000 Johan Dahlin * gst/base/gstbasesrc.c: * gst/elements/gsttypefindelement.c: * gst/gstqueue.c: * gst/gstregistryxml.c: * libs/gst/base/gstbasesrc.c: * plugins/elements/gstqueue.c: * plugins/elements/gsttypefindelement.c: And gst_object_unref here too Original commit message from CVS: And gst_object_unref here too 2005-11-15 19:31:05 +0000 Johan Dahlin gst/: Free pad templates, fixes a couple of leaks. Original commit message from CVS: * gst/base/gstbasesrc.c: (gst_base_src_init): * gst/elements/gsttypefindelement.c: (gst_type_find_element_init): * gst/gstqueue.c: (gst_queue_init): Free pad templates, fixes a couple of leaks. 2005-11-15 19:24:46 +0000 Tim-Philipp Müller gst/gstpad.c: GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while Original commit message from CVS: Reviewed by: Tim-Philipp Müller * gst/gstpad.c: (gst_pad_get_property): GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while GST_PAD_TEMPLATE(pad) does a cast. We want the former here. (#321452) 2005-11-15 18:34:28 +0000 Wim Taymans gst/gstevent.c: Small doc update. Original commit message from CVS: * gst/gstevent.c: Small doc update. 2005-11-15 17:57:51 +0000 Andy Wingo gst/gstelement.c (gst_element_set_base_time): Add debugging. Original commit message from CVS: 2005-11-15 Andy Wingo * gst/gstelement.c (gst_element_set_base_time): Add debugging. * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document using GST_CLOCK_TIME_NONE to disable base time management. (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream time if it was NONE before. (gst_pipeline_change_state): Only munge the base time if stream_time != GST_CLOCK_TIME_NONE. * check/gst/gstpipeline.c (test_base_time): Punt around the problem of the probe not being called, because that's not the issue I'm looking at. Add a check that setting stream_time to NONE disables base time management. 2005-11-15 17:18:10 +0000 Wim Taymans gst/base/gstbasesink.c: segment_stop == -1 at startup. Original commit message from CVS: * gst/base/gstbasesink.c: (gst_base_sink_change_state): segment_stop == -1 at startup. * gst/base/gstbasetransform.c: (gst_base_transform_event), (gst_base_transform_change_state): Init segment values at start. 2005-11-15 16:52:46 +0000 Andy Wingo check/gst/gstpipeline.c (test_base_time): Punt around the problem of the probe not being called, because that's not t... Original commit message from CVS: 2005-11-15 Andy Wingo * check/gst/gstpipeline.c (test_base_time): Punt around the problem of the probe not being called, because that's not the issue I'm looking at... 2005-11-15 16:47:07 +0000 Wim Taymans gst/base/gstbasesink.c: 0 segment values are 0 in any format. Original commit message from CVS: * gst/base/gstbasesink.c: (gst_base_sink_handle_object): 0 segment values are 0 in any format. * gst/base/gstbasetransform.c: (gst_base_transform_event): * gst/base/gstbasetransform.h: Parse newsegment correctly in basetransform * gst/elements/gstidentity.c: (gst_identity_transform_ip): Sync to clock using updated segment values. 2005-11-15 16:27:04 +0000 Andy Wingo check/gst/gstpipeline.c (test_base_time): Add check that the base time and stream time are reset correctly. Original commit message from CVS: 2005-11-15 Andy Wingo * check/gst/gstpipeline.c (test_base_time): Add check that the base time and stream time are reset correctly. 2005-11-15 15:44:46 +0000 Wim Taymans docs/design/part-TODO.txt: Some more TODO items. Original commit message from CVS: * docs/design/part-TODO.txt: Some more TODO items. 2005-11-15 12:35:45 +0000 Andy Wingo gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an error if the user selected "no clock" as the clocking me... Original commit message from CVS: 2005-11-15 Andy Wingo * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an error if the user selected "no clock" as the clocking method. 2005-11-15 12:29:07 +0000 Andy Wingo check/gst/gstpipeline.c (test_base_time): New test for buffer timestamps with live capture. Original commit message from CVS: 2005-11-15 Andy Wingo * check/gst/gstpipeline.c (test_base_time): New test for buffer timestamps with live capture. * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate is 0 but we are a live source, timestamp the buffers using the element's clock. 2005-11-14 15:15:43 +0000 Stefan Kost more section docs Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gsterror.c: * gst/gstghostpad.c: * gst/gstobject.h: * gst/gstxml.c: more section docs 2005-11-14 14:45:43 +0000 Wim Taymans common/gst.supp: add suppressions from Wim's Debian machine Original commit message from CVS: * common/gst.supp: add suppressions from Wim's Debian machine 2005-11-14 14:36:17 +0000 Thomas Vander Stichele common/gst.supp: add suppressions from Andy's AMD64 Ubuntu machine Original commit message from CVS: * common/gst.supp: add suppressions from Andy's AMD64 Ubuntu machine 2005-11-14 12:43:43 +0000 Andy Wingo gst/gstpad.c (gst_pad_set_active): Change docs; parent's Original commit message from CVS: 2005-11-14 Andy Wingo * gst/gstpad.c (gst_pad_set_active): Change docs; parent's STATE_LOCK not necessary. Fixes #311489. 2005-11-14 12:17:46 +0000 Andy Wingo gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes #305291. Original commit message from CVS: 2005-11-14 Andy Wingo * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes #305291. 2005-11-14 11:58:44 +0000 Andy Wingo gst/gstindex.c (gst_index_add_object): Note in the docs that this function is not implemented. Original commit message from CVS: 2005-11-14 Andy Wingo * gst/gstindex.c (gst_index_add_object): Note in the docs that this function is not implemented. 2005-11-14 10:49:35 +0000 Julien Moutte gst/base/gstbasetransform.c: Ref the source pad caps while we need them. Original commit message from CVS: 2005-11-14 Julien MOUTTE * gst/base/gstbasetransform.c: (gst_base_transform_prepare_output_buf): Ref the source pad caps while we need them. Fixes (#321386) 2005-11-12 10:23:52 +0000 Thomas Vander Stichele * check/pipelines/.gitignore: * tests/check/pipelines/.gitignore: ignore more Original commit message from CVS: ignore more 2005-11-12 10:04:01 +0000 Thomas Vander Stichele * win32/common/config.h: update win32 files for HEAD Original commit message from CVS: update win32 files for HEAD 2005-11-12 10:03:08 +0000 Thomas Vander Stichele * gst/gsttask.c: debug task join Original commit message from CVS: debug task join 2005-11-12 10:00:03 +0000 Thomas Vander Stichele * docs/manual/appendix-quotes.xml: found another quote Original commit message from CVS: found another quote 2005-11-11 20:12:42 +0000 Wim Taymans docs/gst/gstreamer-sections.txt: Added some docs for GstCollectData. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: Added some docs for GstCollectData. * gst/base/gstadapter.c: Some small code example fix. * gst/base/gstcollectpads.c: * gst/base/gstcollectpads.h: Document some more. 2005-11-11 19:26:36 +0000 Thomas Vander Stichele * ChangeLog: * configure.ac: back to head Original commit message from CVS: back to head === release 0.9.5 === 2005-11-11 19:24:30 +0000 Thomas Vander Stichele * ChangeLog: * NEWS: * RELEASE: * configure.ac: * win32/common/config.h: releasing 0.9.5 Original commit message from CVS: releasing 0.9.5 2005-11-11 18:25:50 +0000 Wim Taymans gst/gstbuffer.c: Copy more flags. Original commit message from CVS: * gst/gstbuffer.c: (_gst_buffer_copy): Copy more flags. * gst/gstcaps.c: (gst_caps_is_equal): Fix some docs. Make _is_equal fast in the trivial cases. * gst/gstminiobject.c: * gst/gstminiobject.h: More docs. Spifify .h file. * gst/gstutils.c: Small doc update. 2005-11-11 17:16:18 +0000 Thomas Vander Stichele * po/af.po: * po/az.po: * po/ca.po: * po/cs.po: * po/de.po: * po/en_GB.po: * po/fr.po: * po/it.po: * po/nb.po: * po/nl.po: * po/ru.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: Update .po files Original commit message from CVS: Update .po files 2005-11-11 16:37:11 +0000 Wim Taymans gst/base/gstbasetransform.c: Small cleanups. Original commit message from CVS: * gst/base/gstbasetransform.c: (gst_base_transform_prepare_output_buf), (gst_base_transform_handle_buffer): Small cleanups. If we're processing a buffer and need to allocate an output buffer, we cannot accept a format change. If we did get a format change, we have to alloc a buffer ourselves of the right size. 2005-11-11 16:34:15 +0000 Wim Taymans gst/gstpad.c: While checking the flag for reentrancy in the gstcaps function is nice to detect recursive invocations,... Original commit message from CVS: * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps): While checking the flag for reentrancy in the gstcaps function is nice to detect recursive invocations, it also makes it impossible to call getcaps from multiple threads, which must be possible. So, checking for recursive calls has to go. 2005-11-11 15:19:37 +0000 Michael Smith gst/base/gstbasesink.c: Don't sync on buffers that fall partially outside our current segment. Prevents an assertion ... Original commit message from CVS: * gst/base/gstbasesink.c: (gst_base_sink_do_sync): Don't sync on buffers that fall partially outside our current segment. Prevents an assertion failure/abort playing some files. 2005-11-10 18:15:24 +0000 Andy Wingo check/gst/gstbin.c (test_message_state_changed_children): Style fix.. Original commit message from CVS: 2005-11-10 Andy Wingo * check/gst/gstbin.c (test_message_state_changed_children): Style fix.. * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement gst_bus_poll with the signal watch. Ensures that poll and a signal watch see the same messages. * check/gst/gstbus.c (test_watch_with_poll): New test, checks that a poll and a watch at the same time get the same messages. 2005-11-10 17:37:39 +0000 Thomas Vander Stichele gst/: Don't call gst_caps_do_simplify - it doesn't respect order of caps and it's not needed. Original commit message from CVS: * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps): * gst/gstcaps.c: (gst_caps_intersect): Don't call gst_caps_do_simplify - it doesn't respect order of caps and it's not needed. 2005-11-10 15:07:46 +0000 Wim Taymans docs/design/part-TODO.txt: Updated todo. Original commit message from CVS: * docs/design/part-TODO.txt: Updated todo. 2005-11-10 14:45:27 +0000 Wim Taymans gst/base/: Implement clock sync in base class. Original commit message from CVS: * gst/base/gstbasesink.c: (gst_base_sink_do_sync): * gst/base/gstbasesrc.c: (gst_base_src_wait), (gst_base_src_do_sync), (gst_base_src_get_range): Implement clock sync in base class. 2005-11-10 12:32:57 +0000 Tim-Philipp Müller gst/gststructure.c: Forward-port a 0.8 patch to handle escaped spaces in structure string, so that gst_parse... Original commit message from CVS: patch by: Tim-Philipp Müller * gst/gststructure.c: (gst_structure_parse_field), (gst_structure_from_string): Forward-port a 0.8 patch to handle escaped spaces in structure string, so that gst_parse_launch() can deal with spaces in filtered link caps (fixes #164479) * check/gst/capslist.h: * check/gst/gststructure.c: (GST_START_TEST): add unit tests for this change 2005-11-10 11:17:26 +0000 Wim Taymans Fix docs, move some STATE macros to private. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstelement.c: * gst/gstelement.h: Fix docs, move some STATE macros to private. 2005-11-10 10:17:01 +0000 Michael Smith * gst/gstquery.c: * gst/gstquery.h: Further improve query docs. Still not happy with this. Original commit message from CVS: Further improve query docs. Still not happy with this. 2005-11-10 09:19:12 +0000 Wim Taymans check/gst/gstghostpad.c: Added check for bug #317341 Original commit message from CVS: * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite): Added check for bug #317341 * gst/gstbuffer.c: * gst/gstbuffer.h: Some more spiffifying. * gst/gstghostpad.c: (gst_ghost_pad_do_link): Call peer linkfunction if we are a source pad. Totally fixes #317341 * gst/gstpad.c: Update docs, source pads should call the peer linkfunction so they can atomically perform the pad link. 2005-11-09 19:32:32 +0000 Michael Smith * gst/gstquery.c: Improve/fix documentation for GstQuery. Original commit message from CVS: Improve/fix documentation for GstQuery. This still needs some more work to explain what the queries actually mean. 2005-11-09 18:41:53 +0000 Michael Smith * gst/base/gstadapter.c: * libs/gst/base/gstadapter.c: Slightly polish docs for GstAdapter. Original commit message from CVS: Slightly polish docs for GstAdapter. 2005-11-09 18:10:53 +0000 Wim Taymans gst/gstbuffer.*: Uber-spiffy-spiffify some more. Original commit message from CVS: * gst/gstbuffer.c: * gst/gstbuffer.h: Uber-spiffy-spiffify some more. 2005-11-09 17:55:13 +0000 Tim-Philipp Müller gst/: Use GST_DEBUG_FUNCPTR() more extensively. Original commit message from CVS: * gst/base/gstcollectpads.c: (gst_collectpads_add_pad): * gst/elements/gstfilesink.c: (gst_file_sink_init): * gst/elements/gsttypefindelement.c: (gst_type_find_element_init): * gst/gstghostpad.c: (gst_ghost_pad_set_internal), (gst_ghost_pad_init), (gst_ghost_pad_new_notarget): * gst/gstpad.c: (gst_pad_init): Use GST_DEBUG_FUNCPTR() more extensively. 2005-11-09 17:32:10 +0000 Wim Taymans gst/gstobject.*: Documentation fixes. Original commit message from CVS: * gst/gstobject.c: (gst_object_class_init): * gst/gstobject.h: Documentation fixes. 2005-11-09 17:06:20 +0000 Edward Hervey gst/gsttypefindfactory.c: Fix docs. Original commit message from CVS: * gst/gsttypefindfactory.c: Fix docs. 2005-11-09 16:44:40 +0000 Edward Hervey gst/: Original commit message from CVS: * gst/base/gsttypefindhelper.c: * gst/gsttypefind.c: * gst/gsttypefind.h: 2005-11-09 16:32:49 +0000 Wim Taymans gst/gstiterator.c: Fix revision data. Original commit message from CVS: * gst/gstiterator.c: Fix revision data. * gst/gsttask.c: * gst/gsttask.h: Fix docs. 2005-11-09 16:16:41 +0000 Wim Taymans gst/: Fix docs. Original commit message from CVS: * gst/gstevent.h: * gst/gsturi.h: Fix docs. 2005-11-09 16:00:05 +0000 Wim Taymans docs/gst/gstreamer-sections.txt: Moved the message async delivery private lock and cond to the private section. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: Moved the message async delivery private lock and cond to the private section. * gst/gstmessage.c: * gst/gstmessage.h: Fixed docs. 2005-11-09 15:34:46 +0000 Edward Hervey Document GstURIHandler Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gsturi.c: * gst/gsturi.h: Document GstURIHandler 2005-11-09 15:31:08 +0000 Wim Taymans gst/gstiterator.*: Fix iterator docs. Original commit message from CVS: * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach), (gst_iterator_find_custom): * gst/gstiterator.h: Fix iterator docs. 2005-11-09 15:10:32 +0000 Wim Taymans gst/gstbin.h: Document another field. Original commit message from CVS: * gst/gstbin.h: Document another field. * gst/gststructure.c: * gst/gststructure.h: Document. 2005-11-09 13:14:27 +0000 Wim Taymans gst/gstbin.h: Documented structs. Original commit message from CVS: * gst/gstbin.h: Documented structs. 2005-11-09 12:36:17 +0000 Wim Taymans docs/gst/gstreamer-sections.txt: Added some new macros. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: Added some new macros. * gst/gstclock.c: * gst/gstclock.h: * gst/gstobject.h: Docs updates. 2005-11-09 12:01:46 +0000 Wim Taymans docs/design/part-TODO.txt: Some more items for the TODO Original commit message from CVS: * docs/design/part-TODO.txt: Some more items for the TODO * gst/gstcaps.c: * gst/gstcaps.h: Document GstCaps. 2005-11-09 10:06:30 +0000 Andy Wingo gst/base/gstbasesink.c: Add the beginning of docs here -- have to work on something else now tho... Original commit message from CVS: 2005-11-09 Andy Wingo * gst/base/gstbasesink.c: Add the beginning of docs here -- have to work on something else now tho... 2005-11-09 09:48:16 +0000 Andy Wingo * ChangeLog: * gst/base/gstadapter.c: * gst/base/gstadapter.h: * libs/gst/base/gstadapter.c: * libs/gst/base/gstadapter.h: gst/elements/gstfilesink.c (gst_file_sink_start) Original commit message from CVS: 2005-11-09 Andy Wingo * gst/elements/gstfilesink.c (gst_file_sink_start) (gst_file_sink_stop): New functions, replace the state change handler. (gst_file_sink_class_init): Hook up the start and stop functions. (gst_file_sink_base_init): Don't set the state change handler any more. It was a bit ugly too, being set from here... (gst_file_sink_get_property, gst_file_sink_set_property): Cleanups... (gst_file_sink_set_location): More robust check that doesn't call GST_STATE. Ugggggg. 2005-11-09 09:47:12 +0000 Andy Wingo * ChangeLog: * gst/elements/gstfilesink.c: * plugins/elements/gstfilesink.c: gst/elements/gstfilesink.c (gst_file_sink_start) Original commit message from CVS: 2005-11-09 Andy Wingo * gst/elements/gstfilesink.c (gst_file_sink_start) (gst_file_sink_stop): New functions, replace the state change handler. (gst_file_sink_class_init): Hook up the start and stop functions. (gst_file_sink_base_init): Don't set the state change handler any more. It was a bit ugly too, being set from here... (gst_file_sink_get_property, gst_file_sink_set_property): Cleanups... (gst_file_sink_set_location): More robust check that doesn't call GST_STATE. Ugggggg. 2005-11-08 12:33:09 +0000 Tim-Philipp Müller gst/base/gstbasetransform.c: Hold STREAM_LOCK while pushing newsegment or tag events as well. Original commit message from CVS: * gst/base/gstbasetransform.c: (gst_base_transform_event): Hold STREAM_LOCK while pushing newsegment or tag events as well. 2005-11-08 11:52:24 +0000 Thomas Vander Stichele * docs/faq/gst-uninstalled: revert part of the patch so that paths are correct Original commit message from CVS: revert part of the patch so that paths are correct 2005-11-08 11:13:07 +0000 Wim Taymans gst/: Avoid excessive typechecking in macros. Original commit message from CVS: * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty), (gst_base_sink_do_sync), (gst_base_sink_handle_event), (gst_base_sink_chain), (gst_base_sink_change_state): * gst/base/gstbasesink.h: * gst/base/gstbasesrc.h: * gst/gstelement.h: * gst/gstevent.h: Avoid excessive typechecking in macros. * gst/gstminiobject.c: (gst_mini_object_get_type), (gst_mini_object_init), (gst_mini_object_new), (gst_mini_object_free): * gst/gstobject.c: (gst_object_class_init), (gst_object_init), (gst_object_finalize): Remove cruft code, optimize alloc_trace. 2005-11-07 18:16:13 +0000 Thomas Vander Stichele docs/faq/gst-uninstalled: fix up PS1 for systems that try to reset it Original commit message from CVS: * docs/faq/gst-uninstalled: fix up PS1 for systems that try to reset it 2005-11-07 10:33:07 +0000 Wim Taymans gst/base/gstbasesrc.c: Set the segment_end to -1 initially. Fixed typefind. Original commit message from CVS: * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_get_range): Set the segment_end to -1 initially. Fixed typefind. 2005-11-07 10:13:47 +0000 Tim-Philipp Müller gst/base/gstadapter.c: Debug category should be 'adapter', not 'GstAdapter'. Original commit message from CVS: * gst/base/gstadapter.c: Debug category should be 'adapter', not 'GstAdapter'. * gst/base/gstcollectpads.c: (gst_collectpads_base_init), (gst_collectpads_class_init), (gst_collectpads_init), (gst_collectpads_peek), (gst_collectpads_pop), (gst_collectpads_event), (gst_collectpads_chain): Add debug category and some debugging output. Use boilerplate macros. Remove some extraneous words from docs. 2005-11-05 15:14:33 +0000 Andy Wingo gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate macro. Original commit message from CVS: 2005-11-05 Andy Wingo * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate macro. 2005-11-04 20:12:01 +0000 Stefan Kost more docs added Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstcaps.h: * gst/gstinfo.c: * gst/gstminiobject.h: * gst/gstobject.h: * gst/gstutils.h: more docs added 2005-11-04 15:33:40 +0000 Wim Taymans gst/base/gstbasesrc.c: Small update to stop at the configured segment_end position. Original commit message from CVS: * gst/base/gstbasesrc.c: (gst_base_src_get_range): Small update to stop at the configured segment_end position. 2005-11-04 15:02:48 +0000 Stefan Kost gst/gstregistry.*: added missing docs Original commit message from CVS: * gst/gstregistry.c: * gst/gstregistry.h: added missing docs 2005-11-04 14:35:10 +0000 Edward Hervey gst/base/gstbasesrc.c: Check if we are doing a segment seek and have arrived at the end of that segment. Original commit message from CVS: * gst/base/gstbasesrc.c: (gst_base_src_get_range): Check if we are doing a segment seek and have arrived at the end of that segment. 2005-11-04 12:08:19 +0000 Wim Taymans gst/gstbus.c: Don't leak a mutex unlock in case of an error. Original commit message from CVS: * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler): Don't leak a mutex unlock in case of an error. * gst/gstbus.h: Doc fixes. 2005-11-04 11:43:10 +0000 Wim Taymans gst/gstbus.c: Get the context to wake up only once. Original commit message from CVS: * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init), (gst_bus_post): Get the context to wake up only once. 2005-11-03 20:17:24 +0000 Stefan Kost check/states/sinks.c: Uncomment fixed check. Original commit message from CVS: * check/states/sinks.c: (GST_START_TEST): Uncomment fixed check. * docs/design/part-TODO.txt: Updated TODO. * gst/base/gstbasesink.c: (gst_base_sink_commit_state), (gst_base_sink_handle_object), (gst_base_sink_do_sync), (gst_base_sink_get_position): If we are going to PLAYING, post the right pending state when we post the intermediate paused message. * gst/gstelement.c: (gst_element_continue_state), (gst_element_set_state_func), (gst_element_change_state): Don't post state changes that were between the same state and were not ASYNC. 2005-11-03 20:14:24 +0000 Wim Taymans check/states/sinks.c: Uncomment fixed check. Original commit message from CVS: * check/states/sinks.c: (GST_START_TEST): Uncomment fixed check. * docs/design/part-TODO.txt: Updated TODO. * gst/base/gstbasesink.c: (gst_base_sink_commit_state), (gst_base_sink_handle_object), (gst_base_sink_do_sync), (gst_base_sink_get_position): If we are going to PLAYING, post the right pending state when we post the intermediate paused message. * gst/gstelement.c: (gst_element_continue_state), (gst_element_set_state_func), (gst_element_change_state): Don't post state changes that were between the same state and were not ASYNC. 2005-11-03 19:38:48 +0000 Stefan Kost doc fixes Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstelement.c: * gst/gstminiobject.c: doc fixes 2005-11-03 17:53:27 +0000 Andy Wingo check/states/sinks.c (test_livesrc_sink): Add checks that the state-changed messages actually have the right order an... Original commit message from CVS: 2005-11-03 Andy Wingo * check/states/sinks.c (test_livesrc_sink): Add checks that the state-changed messages actually have the right order and the right values. 2005-11-03 17:12:00 +0000 Wim Taymans check/states/sinks.c: Added some more checks. Specifically the case where NO_PREROLL elements are in the pipeline. Original commit message from CVS: * check/states/sinks.c: (GST_START_TEST), (gst_object_suite): Added some more checks. Specifically the case where NO_PREROLL elements are in the pipeline. * gst/base/gstbasesink.c: (gst_base_sink_commit_state), (gst_base_sink_handle_object), (gst_base_sink_do_sync), (gst_base_sink_get_position): Post READY->PAUSED state change messages too. Fix bug where VOID was posted as pending state... * gst/gstbin.c: (gst_bin_recalc_state): use _element_continue_state() to continue the state change. * gst/gstelement.c: (gst_element_continue_state), (gst_element_commit_state), (gst_element_set_state_func), (gst_element_change_state), (gst_element_change_state_func): Lots of state change cleanups, assign the STATE_RETURN in a new continue_state() function that also propagates the last return value from a state change to the app. Update some debug statements with proper category. 2005-11-03 14:22:44 +0000 Wim Taymans docs/: Small docs updates. Original commit message from CVS: * docs/design/part-events.txt: * docs/design/part-gstpipeline.txt: * docs/design/part-messages.txt: * docs/design/part-overview.txt: * docs/design/part-seeking.txt: * docs/design/part-states.txt: * docs/design/part-trickmodes.txt: * docs/manual/advanced-position.xml: Small docs updates. * gst/gstobject.h: People think !! is ugly, this looks better. * gst/gstpad.c: (gst_pad_set_blocked_async): Remove !! since it's fixed elsewhere now. 2005-11-03 13:52:59 +0000 Tim-Philipp Müller gst/: Add !! to _FLAG_IS_SET macros to make the result boolean. Original commit message from CVS: * gst/gstminiobject.h: * gst/gstobject.h: Add !! to _FLAG_IS_SET macros to make the result boolean. 2005-11-03 12:48:30 +0000 Edward Hervey gst/gstpad.c: comparing a flag and a gboolean rarely returns coherent results... Original commit message from CVS: * gst/gstpad.c: (gst_pad_set_blocked_async): comparing a flag and a gboolean rarely returns coherent results... Added two characters (!!) to make that work correctly. 2005-11-03 12:16:49 +0000 Tim-Philipp Müller gst/gstbus.c: Fix some typos. Original commit message from CVS: * gst/gstbus.c: (gst_bus_class_init): Fix some typos. * gst/gstqueue.c: (gst_queue_loop): Don't assume a miniobject that isn't a buffer is an event (it could be that there is a refcounting problem somewhere and the pointer is stale and refers to an already destroyed miniobject). 2005-11-03 10:56:23 +0000 Julien Moutte gst/gstpad.c: Fix some typos. Original commit message from CVS: 2005-11-03 Julien MOUTTE * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos. 2005-11-03 09:18:53 +0000 Tim-Philipp Müller docs/manual/advanced-position.xml: Update seek example and explanations to current 0.9 API. Original commit message from CVS: * docs/manual/advanced-position.xml: Update seek example and explanations to current 0.9 API. * gst/elements/gsttypefindelement.c: (gst_type_find_element_activate): Remove FIXME comment now that the found caps are unreffed. 2005-11-03 00:39:54 +0000 Thomas Vander Stichele * ChangeLog: * gst/gstregistryxml.c: Add another GST_STR_NULL instance Original commit message from CVS: Add another GST_STR_NULL instance 2005-11-02 19:04:20 +0000 Edward Hervey gst/gstpad.c: Follow-up to Wim's patch, solves deadlock for blocked and flushing pads Original commit message from CVS: * gst/gstpad.c: (handle_pad_block): Follow-up to Wim's patch, solves deadlock for blocked and flushing pads 2005-11-02 18:44:20 +0000 Wim Taymans gst/gstbin.c: Fix typo in docs. Original commit message from CVS: * gst/gstbin.c: Fix typo in docs. * gst/gstelement.c: (gst_element_commit_state): Remove unused value. * gst/gstiterator.c: Mention that the returned element is reffed in the docs. 2005-11-02 18:33:00 +0000 Wim Taymans gst/gstpad.c: Unlock blocked pads when they are flushed. Original commit message from CVS: * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block), (gst_pad_push), (gst_pad_push_event): Unlock blocked pads when they are flushed. 2005-11-02 15:34:23 +0000 Thomas Vander Stichele doc updates Original commit message from CVS: * docs/README: * docs/gst/gstreamer-sections.txt: * gst/gstbin.c: doc updates * gst/gstregistry.c: (gst_registry_scan_path_level): fix for a nasty little missed situation where an installed plug-in which was in the cache did not get overridden by an uninstalled one which was earlier in the plugin path because the newly created plugin for the uninstalled one (not in the registry) didn't get its ->registered set to TRUE 2005-11-02 15:08:05 +0000 Tim-Philipp Müller gst/base/gstcollectpads.c: Guard public API with assertions. Original commit message from CVS: * gst/base/gstcollectpads.c: (gst_collectpads_set_function), (gst_collectpads_add_pad), (gst_collectpads_remove_pad), (gst_collectpads_is_active), (gst_collectpads_collect), (gst_collectpads_collect_range), (gst_collectpads_start), (gst_collectpads_stop), (gst_collectpads_peek), (gst_collectpads_pop), (gst_collectpads_available), (gst_collectpads_read), (gst_collectpads_flush): Guard public API with assertions. * gst/gstpad.c: Fix docs for gst_pad_set_link_function(). 2005-11-02 14:28:02 +0000 Johan Dahlin gst/elements/gsttypefindelement.c (gst_type_find_element_activate): Unref found_caps after we used it. Original commit message from CVS: * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): Unref found_caps after we used it. 2005-11-02 12:20:54 +0000 Tim-Philipp Müller gst/base/gstcollectpads.c: Don't try to ref NULL. Original commit message from CVS: * gst/base/gstcollectpads.c: (gst_collectpads_peek): Don't try to ref NULL. 2005-11-02 09:31:02 +0000 Thomas Vander Stichele * win32/common/libgstreamer.def: add more symbols Original commit message from CVS: add more symbols 2005-11-02 09:27:33 +0000 Thomas Vander Stichele * win32/common/libgstreamer.def: add more symbols Original commit message from CVS: add more symbols 2005-11-02 09:24:58 +0000 Thomas Vander Stichele * win32/common/config.h: update generated config Original commit message from CVS: update generated config 2005-11-02 09:24:03 +0000 Thomas Vander Stichele * ChangeLog: * win32/common/config.h.in: provide a GST_FUNCTION that just gives a string for now Original commit message from CVS: provide a GST_FUNCTION that just gives a string for now 2005-11-02 08:56:00 +0000 Thomas Vander Stichele * ChangeLog: * win32/common/gstenumtypes.c: * win32/common/gstversion.h: update win32 copies Original commit message from CVS: update win32 copies 2005-11-01 19:16:58 +0000 Thomas Vander Stichele * gst/gstbin.c: more doc updates Original commit message from CVS: more doc updates 2005-11-01 17:45:46 +0000 Luca Ognibene gst/gst.c: fix docs. popt is death, long live GOption. Original commit message from CVS: * gst/gst.c: fix docs. popt is death, long live GOption. 2005-10-31 11:44:32 +0000 Wim Taymans gst/gstbuffer.h: Small doc fix. Original commit message from CVS: * gst/gstbuffer.h: Small doc fix. 2005-10-31 09:52:13 +0000 Andy Wingo Boo! Original commit message from CVS: 2005-10-31 Andy Wingo * Boo! * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode. * gst/gstobject.c (gst_object_dispatch_properties_changed): No need to serialize property notifications on GLib 2.8. GLib 2.6 has the possibility of deadlocks here if code calling notify() or set() has a lock that can be taken in another notify handler (ABBA with class lock and e.g. python GIL state lock). 2005-10-28 18:18:23 +0000 Julien Moutte gst/gstbus.c: Doc updates. Original commit message from CVS: 2005-10-28 Julien MOUTTE * gst/gstbus.c: Doc updates. 2005-10-28 18:14:24 +0000 Wim Taymans Doc updates. Original commit message from CVS: * docs/design/part-TODO.txt: * gst/gstiterator.c: * gst/gstsystemclock.c: * gst/gstsystemclock.h: Doc updates. 2005-10-28 18:10:41 +0000 Edward Hervey docs/gst/: the GstURIType documentation page is private, it only defines GstURIType which should be defined in the Gs... Original commit message from CVS: * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: the GstURIType documentation page is private, it only defines GstURIType which should be defined in the GstURIHandler page 2005-10-28 17:35:43 +0000 Thomas Vander Stichele * ChangeLog: * gst/gstbin.c: * gst/gstbin.h: * gst/gstutils.c: Documentation updates. Original commit message from CVS: Documentation updates. 2005-10-28 17:35:05 +0000 Wim Taymans Documented the clocks. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstclock.c: * gst/gstclock.h: Documented the clocks. 2005-10-28 17:34:32 +0000 Thomas Vander Stichele * common: * win32/common/config.h: updated config Original commit message from CVS: updated config 2005-10-28 17:20:45 +0000 Michael Smith * gst/gstbuffer.h: Work around gtkdoc deficiencies, document a macro differently. Original commit message from CVS: Work around gtkdoc deficiencies, document a macro differently. 2005-10-28 17:01:14 +0000 Michael Smith * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstutils.c: Improve GstBuffer documentation. It's now 100% Spiffier. Original commit message from CVS: Improve GstBuffer documentation. It's now 100% Spiffier. 2005-10-28 16:54:15 +0000 Thomas Vander Stichele * docs/README: some style fixes Original commit message from CVS: some style fixes 2005-10-28 16:46:58 +0000 Stefan Kost docs/gst/gstreamer-sections.txt: move some macros to private sections Original commit message from CVS: * docs/gst/gstreamer-sections.txt: move some macros to private sections * gst/gstminiobject.c: * gst/gstminiobject.h: add descriptions provided by ds and some more * gst/gstpad.h: mark macro as to be removed 2005-10-28 16:21:29 +0000 Wim Taymans docs/design/part-TODO.txt: Add an item to TODO. Original commit message from CVS: * docs/design/part-TODO.txt: Add an item to TODO. * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_find_custom): * gst/gstiterator.h: Add iterator docs. 2005-10-28 16:08:52 +0000 Thomas Vander Stichele * docs/README: add style guide Original commit message from CVS: add style guide 2005-10-28 10:45:33 +0000 Wim Taymans gst/base/gstbasetransform.c: Don't leak class. Original commit message from CVS: * gst/base/gstbasetransform.c: (gst_base_transform_class_init), (gst_base_transform_init): Don't leak class. * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop): An EOS event marks the queue as completely filled. 2005-10-27 20:59:00 +0000 Wim Taymans gst/base/gstbasesink.c: Some more debugging. Original commit message from CVS: * gst/base/gstbasesink.c: (gst_base_sink_handle_object), (gst_base_sink_do_sync), (gst_base_sink_get_position): Some more debugging. * gst/base/gstbasetransform.c: (gst_base_transform_finalize), (gst_base_transform_init), (gst_base_transform_buffer_alloc), (gst_base_transform_event), (gst_base_transform_getrange), (gst_base_transform_chain): * gst/base/gstbasetransform.h: Fix debugging, Protect transform and concurrent buffer alloc with a new lock. Try not to break ABI/API. 2005-10-27 19:37:25 +0000 Wim Taymans gst/base/gstbasesrc.c: Move some stuff around and cleanup things. Original commit message from CVS: * gst/base/gstbasesrc.c: (gst_base_src_class_init), (gst_base_src_init), (gst_base_src_query), (gst_base_src_default_newsegment), (gst_base_src_configure_segment), (gst_base_src_do_seek), (gst_base_src_send_event), (gst_base_src_event_handler), (gst_base_src_pad_get_range), (gst_base_src_loop), (gst_base_src_unlock), (gst_base_src_default_negotiate), (gst_base_src_start), (gst_base_src_deactivate), (gst_base_src_activate_push), (gst_base_src_change_state): Move some stuff around and cleanup things. 2005-10-27 15:48:56 +0000 Tim-Philipp Müller gst/base/gstbasesrc.c: Add missing break statements. Original commit message from CVS: * gst/base/gstbasesrc.c: (gst_base_src_query): Add missing break statements. 2005-10-27 13:47:33 +0000 Wim Taymans check/gst/gstbin.c: An extra refcount is taken in basesrc. Original commit message from CVS: * check/gst/gstbin.c: (GST_START_TEST): An extra refcount is taken in basesrc. * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query), (gst_base_src_get_range), (gst_base_src_pad_get_range), (gst_base_src_loop): Small cleanups, check for flushing after being unlocked from the LIVE_LOCK. take refcounts correctly (not yet everywhere). Don't send out EOS when going to READY. 2005-10-27 08:55:44 +0000 Wim Taymans gst/base/gstbasesink.c: Some more debug. Original commit message from CVS: * gst/base/gstbasesink.c: (gst_base_sink_handle_object), (gst_base_sink_get_position): Some more debug. * gst/gstbin.c: (message_check), (bin_replace_message), (bin_remove_messages), (is_eos), (gst_bin_add_func), (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler), (bin_query_duration_init), (bin_query_duration_fold), (bin_query_duration_done), (bin_query_generic_fold), (gst_bin_query): * tools/gst-launch.c: (main): Remove old option. 2005-10-26 18:57:43 +0000 Stefan Kost fixing examples fixing docs typos changing log priority in error situations Original commit message from CVS: * examples/controller/audio-example.c: (main): * examples/queue/queue.c: (event_loop): * gst/base/gstbasetransform.h: * gst/gstelement.c: (gst_element_send_event): * gst/gstevent.h: * gst/gstpad.c: (gst_pad_send_event): fixing examples fixing docs typos changing log priority in error situations 2005-10-26 10:11:25 +0000 Thomas Vander Stichele * scripts/cvs-update.sh: make sure dirs get checked out Original commit message from CVS: make sure dirs get checked out 2005-10-26 09:56:43 +0000 Thomas Vander Stichele * win32/MANIFEST: fix dist Original commit message from CVS: fix dist 2005-10-25 17:41:24 +0000 Wim Taymans gst/gstbin.c: Some doc and debug updates. Original commit message from CVS: * gst/gstbin.c: (message_check), (bin_replace_message), (bin_remove_messages), (is_eos), (gst_bin_add_func), (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler), (bin_query_duration_init), (bin_query_duration_fold), (bin_query_duration_done), (bin_query_generic_fold), (gst_bin_query): Some doc and debug updates. Cache previously requested query DURATION for speed. invalidate cached duration if element posts a DURATION message. 2005-10-25 15:39:36 +0000 Wim Taymans docs/design/part-TODO.txt: Update TODO. Original commit message from CVS: * docs/design/part-TODO.txt: Update TODO. * gst/gstbin.c: (message_check), (bin_replace_message), (bin_remove_messages), (is_eos), (gst_bin_add_func), (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler), (bin_query_duration_init), (bin_query_duration_fold), (bin_query_duration_done), (bin_query_generic_fold), (gst_bin_query): Handle SEGMENT_START/DONE messages correctly. More evolved query algorithm that handles duration queries correctly. * gst/gstelement.c: (gst_element_send_event), (gst_element_query), (gst_element_get_state_func), (gst_element_abort_state), (gst_element_commit_state), (gst_element_lost_state): Some more debugging. * gst/gstmessage.h: Added doc. 2005-10-25 10:15:45 +0000 Wim Taymans gst/base/gstbasesink.c: Don't use invalid stream_time. Original commit message from CVS: * gst/base/gstbasesink.c: (gst_base_sink_get_position): Don't use invalid stream_time. * gst/gstevent.c: (gst_event_new_newsegment): stream_time in newsegment cannot be undefined. 2005-10-25 10:12:13 +0000 Wim Taymans * ChangeLog: Forgot the changelog last time Original commit message from CVS: Forgot the changelog last time 2005-10-24 15:41:48 +0000 Wim Taymans gst/gstbus.c: Doc fix. Original commit message from CVS: * gst/gstbus.c: Doc fix. * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop): Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK. 2005-10-24 11:56:03 +0000 Stefan Kost docs/libs/tmpl/: these are obsolete Original commit message from CVS: * docs/libs/tmpl/gstdparam.sgml: * docs/libs/tmpl/gstdplinint.sgml: * docs/libs/tmpl/gstdpman.sgml: * docs/libs/tmpl/gstdpsmooth.sgml: * docs/libs/tmpl/gstunitconvert.sgml: these are obsolete 2005-10-24 09:13:27 +0000 Michael Smith * gst/gstelement.h: * gst/gstqueue.c: * gst/gstutils.c: * plugins/elements/gstqueue.c: Fix some minor documentation typos Original commit message from CVS: Fix some minor documentation typos 2005-10-23 23:04:38 +0000 Thomas Vander Stichele * ChangeLog: * configure.ac: back to HEAD Original commit message from CVS: back to HEAD === release 0.9.4 === 2005-10-23 22:30:17 +0000 Thomas Vander Stichele * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/random/release: * po/af.po: * po/az.po: * po/ca.po: * po/cs.po: * po/de.po: * po/en_GB.po: * po/fr.po: * po/it.po: * po/nb.po: * po/nl.po: * po/ru.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * win32/common/config.h: time to release Original commit message from CVS: time to release 2005-10-23 10:49:26 +0000 Thomas Vander Stichele * win32/MANIFEST: add more files Original commit message from CVS: add more files 2005-10-23 10:29:51 +0000 Tim-Philipp Müller gst/elements/gstfilesink.c: Use fseeko() and ftello() if available. When falling back on lseek() to get the current o... Original commit message from CVS: * gst/elements/gstfilesink.c: (gst_file_sink_do_seek), (gst_file_sink_get_current_offset): Use fseeko() and ftello() if available. When falling back on lseek() to get the current offset, fflush() first to make sure everything is up-to-date and we get the right offset. 2005-10-23 09:08:44 +0000 Thomas Vander Stichele * ChangeLog: * gst/base/gstbasesink.c: * gst/base/gstbasesrc.c: * gst/gsterror.c: * gst/gsterror.h: * gst/gstqueue.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * plugins/elements/gstqueue.c: * po/POTFILES.in: remove prematurely added error category and clean up the instances Original commit message from CVS: remove prematurely added error category and clean up the instances 2005-10-21 17:53:31 +0000 Wim Taymans gst/base/gstbasesink.c: Simply set the right flag when going to playing, that's all we need to do instead of calling ... Original commit message from CVS: * gst/base/gstbasesink.c: (gst_base_sink_commit_state), (gst_base_sink_get_position), (gst_base_sink_query), (gst_base_sink_change_state): Simply set the right flag when going to playing, that's all we need to do instead of calling a function inside the object lock (that could take the lock as well and deadlock) 2005-10-21 16:18:54 +0000 Wim Taymans gst/base/gstbasesrc.c: Don't warn, the peer element knows what to do best when the seek failed, it might try somethin... Original commit message from CVS: * gst/base/gstbasesrc.c: (gst_base_src_do_seek), (gst_base_src_loop): Don't warn, the peer element knows what to do best when the seek failed, it might try something else. 2005-10-21 16:14:34 +0000 Wim Taymans gst/base/gstbasesrc.c: Fix seeking. Original commit message from CVS: * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start): Fix seeking. 2005-10-21 15:13:08 +0000 Wim Taymans docs/design/part-segments.txt: More docs. Original commit message from CVS: * docs/design/part-segments.txt: More docs. * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf): Correctly set caps, even on the subbufer. 2005-10-21 11:36:32 +0000 Wim Taymans And 2% more doc coverage. Original commit message from CVS: * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * gst/gstelement.h: * gst/gstevent.c: * gst/gstevent.h: * gst/gstmessage.h: * gst/gstpad.h: * gst/gstparse.h: * gst/gsttask.c: (gst_task_finalize), (gst_task_func): * gst/gsttask.h: * gst/gstutils.c: * gst/gstutils.h: And 2% more doc coverage. 2005-10-21 09:24:28 +0000 Andy Wingo gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent position reporting. Original commit message from CVS: 2005-10-21 Andy Wingo * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent position reporting. 2005-10-20 21:08:47 +0000 Wim Taymans gst/: More docs. Original commit message from CVS: * gst/gsterror.c: (gst_error_get_message): * gst/gstparse.h: * gst/gstquery.h: * gst/gststructure.c: * gst/gsttrace.c: * gst/gstutils.c: More docs. 2005-10-20 20:46:17 +0000 Wim Taymans gst/: Another 1% more coverage. Original commit message from CVS: * gst/gstbuffer.h: * gst/gstpad.c: * gst/gstparse.c: Another 1% more coverage. 2005-10-20 20:25:55 +0000 Wim Taymans Yay! 1% more docs coverage. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstelement.c: (gst_element_get_state_func), (gst_element_abort_state), (gst_element_commit_state), (gst_element_lost_state): * gst/gstevent.h: * gst/gstquery.c: (gst_query_set_position), (gst_query_parse_position), (gst_query_set_duration), (gst_query_parse_duration), (gst_query_new_convert): * gst/gstutils.c: Yay! 1% more docs coverage. 2005-10-20 19:47:07 +0000 Wim Taymans gst/: Docs and consistency fixes. Original commit message from CVS: * gst/gstpad.h: * gst/gstquery.c: (gst_query_set_position), (gst_query_parse_position), (gst_query_set_duration), (gst_query_parse_duration), (gst_query_new_convert): * gst/gstquery.h: * gst/gstutils.c: (gst_element_query_convert): * gst/gstutils.h: Docs and consistency fixes. 2005-10-20 19:30:57 +0000 Wim Taymans gst/gsttask.*: More docs. Original commit message from CVS: * gst/gsttask.c: * gst/gsttask.h: More docs. 2005-10-20 17:22:40 +0000 Wim Taymans gst/gstbin.c: Reworked the message handling a bit, cache the messages instead of only the senders. alows us to do mor... Original commit message from CVS: * gst/gstbin.c: (message_check), (bin_replace_message), (bin_remove_messages), (is_eos), (gst_bin_add_func), (update_degree), (gst_bin_sort_iterator_next), (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler): Reworked the message handling a bit, cache the messages instead of only the senders. alows us to do more in the future. 2005-10-20 17:18:12 +0000 Wim Taymans docs/design/part-TODO.txt: Update TODO Original commit message from CVS: * docs/design/part-TODO.txt: Update TODO * gst/base/gstbasesink.c: (gst_base_sink_get_position), (gst_base_sink_query): Don't use clock time to report position when in EOS. 2005-10-20 13:10:13 +0000 Tim-Philipp Müller tools/gst-inspect.c: Fix interface output with gst-inspect -a; don't print newlines after double/float properties. Original commit message from CVS: * tools/gst-inspect.c: (print_interfaces), (print_element_properties_info), (print_element_info): Fix interface output with gst-inspect -a; don't print newlines after double/float properties. 2005-10-20 11:48:53 +0000 Wim Taymans gst/base/gstbasesink.c: Speed up current position calculation. Original commit message from CVS: * gst/base/gstbasesink.c: (gst_base_sink_get_position), (gst_base_sink_query): Speed up current position calculation. * gst/base/gstbasesrc.c: (gst_base_src_query), (gst_base_src_default_newsegment): Correctly set stream position in newsegment. * gst/gstbin.c: (gst_bin_add_func), (add_to_queue), (update_degree), (gst_bin_sort_iterator_next), (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free): * gst/gstmessage.c: (gst_message_new_custom): Clean up debugging info * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_query): Pause task faster. 2005-10-19 17:06:56 +0000 Wim Taymans gst/base/gstbasesink.c: Fix query handling again. Original commit message from CVS: * gst/base/gstbasesink.c: (gst_base_sink_commit_state), (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing): Fix query handling again. 2005-10-19 15:50:10 +0000 Wim Taymans gst/: API change fix. Original commit message from CVS: * gst/base/gstbasesink.c: (gst_base_sink_commit_state), (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing): * gst/base/gstbasesrc.c: (gst_base_src_query): * gst/elements/gstfilesink.c: (gst_file_sink_query): * gst/elements/gsttypefindelement.c: (gst_type_find_handle_src_query), (find_element_get_length), (gst_type_find_element_activate): API change fix. * gst/gstquery.c: (gst_query_new_position), (gst_query_set_position), (gst_query_parse_position), (gst_query_new_duration), (gst_query_set_duration), (gst_query_parse_duration), (gst_query_set_segment), (gst_query_parse_segment): * gst/gstquery.h: Bundling query position/duration is not a good idea since duration does not change much and we don't want to recalculate it for every position query, so they are separated again.. Base value in segment query is not needed. * gst/gstqueue.c: (gst_queue_handle_src_query): * gst/gstutils.c: (gst_element_query_position), (gst_element_query_duration), (gst_pad_query_position), (gst_pad_query_duration): * gst/gstutils.h: Updates for query API change. Added some docs here and there. 2005-10-19 11:43:42 +0000 Thomas Vander Stichele check/: wait on thread to die so we can check refcount correctly Original commit message from CVS: * check/gst/gstbin.c: (GST_START_TEST): * check/gst/gstghostpad.c: (GST_START_TEST): * check/pipelines/cleanup.c: (GST_START_TEST): wait on thread to die so we can check refcount correctly 2005-10-19 11:43:18 +0000 Christian Schaller * gstreamer.spec.in: update tools package naming Original commit message from CVS: update tools package naming 2005-10-19 11:42:39 +0000 Thomas Vander Stichele * gst/gstpad.c: log an if branch Original commit message from CVS: log an if branch 2005-10-18 17:30:50 +0000 Wim Taymans check/pipelines/stress.c: Make check a little more time consuming. Original commit message from CVS: * check/pipelines/stress.c: (GST_START_TEST): Make check a little more time consuming. 2005-10-18 17:06:29 +0000 Wim Taymans check/: Small state change torture test. Original commit message from CVS: * check/Makefile.am: * check/pipelines/stress.c: (GST_START_TEST), (simple_launch_lines_suite), (main): Small state change torture test. * docs/design/part-states.txt: * gst/base/gstbasesink.c: (gst_base_sink_commit_state), (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing), (gst_base_sink_change_state): Never take state lock from streaming thread, clean up ugly hacks. Unfortunatly core does not yet support nice ways to async commit state. * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state), (bin_bus_handler): Start state recalc if a STATE_DIRTY message is posted, but only on the toplevel bin. * gst/gstelement.c: (gst_element_sync_state_with_parent), (gst_element_get_state_func), (gst_element_abort_state), (gst_element_commit_state), (gst_element_lost_state), (gst_element_set_state_func), (gst_element_change_state): * gst/gstelement.h: State variables are now protected with the LOCK, the state lock is only used to serialize _set_state(). 2005-10-18 16:25:38 +0000 Wim Taymans Seriously, this is better than a previous commit as we only need to notify the fact that an element changed state in ... Original commit message from CVS: * check/gst/gstbin.c: (GST_START_TEST): * check/gst/gstmessage.c: (GST_START_TEST): * check/gst/gstpipeline.c: (GST_START_TEST), (message_received): * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func), (bin_bus_handler): * gst/gstelement.c: (gst_element_abort_state), (gst_element_commit_state), (gst_element_lost_state): * gst/gstmessage.c: (gst_message_new_state_changed), (gst_message_new_state_dirty), (gst_message_new_segment_start), (gst_message_new_segment_done), (gst_message_new_duration), (gst_message_parse_state_changed), (gst_message_parse_segment_start), (gst_message_parse_segment_done), (gst_message_parse_duration): * gst/gstmessage.h: * tools/gst-launch.c: (event_loop): Seriously, this is better than a previous commit as we only need to notify the fact that an element changed state in a streaming thread, marking the state of the parents dirty, hence the STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE message. 2005-10-18 15:15:11 +0000 Wim Taymans gst/: Cleanups, prepare for state change fixes. Original commit message from CVS: * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func), (gst_bin_recalc_func): * gst/gstelement.c: (gst_element_set_clock), (gst_element_abort_state), (gst_element_lost_state): Cleanups, prepare for state change fixes. 2005-10-18 14:29:21 +0000 Wim Taymans gst/: Pending ABI changes. Original commit message from CVS: * gst/gstbin.h: * gst/gstelement.c: (gst_element_class_init), (gst_element_set_state), (gst_element_set_state_func): * gst/gstelement.h: Pending ABI changes. GThreadPool in GstBinClass to monitor async state changes. state_cookie in GstElement to detect concurrent gst/set state. set_state is now virtual too in case a very complicated element has to be constructed. 2005-10-18 13:19:16 +0000 Wim Taymans Make messages future proof. state-change gets a flag if it was a message comming from the streaming thread. Original commit message from CVS: * check/gst/gstbin.c: (GST_START_TEST): * check/gst/gstmessage.c: (GST_START_TEST): * check/gst/gstpipeline.c: (GST_START_TEST), (message_received): * gst/gstbin.c: (bin_bus_handler): * gst/gstelement.c: (gst_element_commit_state), (gst_element_lost_state): * gst/gstmessage.c: (gst_message_new_state_changed), (gst_message_new_segment_start), (gst_message_new_segment_done), (gst_message_new_duration), (gst_message_parse_state_changed), (gst_message_parse_segment_start), (gst_message_parse_segment_done), (gst_message_parse_duration): * gst/gstmessage.h: * tools/gst-launch.c: (event_loop): Make messages future proof. state-change gets a flag if it was a message comming from the streaming thread. segment-start/stop can also be specified in other formats. A message to notify an app that a pipeline changed playback duration. Also fix a GstMessage leak in -launch 2005-10-18 10:32:48 +0000 Andy Wingo gst/gstelement.c (gst_element_dispose): More helpful message. Original commit message from CVS: 2005-10-18 Andy Wingo * gst/gstelement.c (gst_element_dispose): More helpful message. 2005-10-18 08:20:25 +0000 Thomas Vander Stichele * common: * configure.ac: remove info messages Original commit message from CVS: remove info messages 2005-10-18 07:13:25 +0000 Thomas Vander Stichele gst/gstregistry.c: unref a plug-in we get that was already initialized Original commit message from CVS: * gst/gstregistry.c: (gst_registry_scan_path_level): unref a plug-in we get that was already initialized 2005-10-17 20:16:55 +0000 Stefan Kost add new api entries hide internal macro Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * docs/libs/gstreamer-libs-sections.txt: * gst/gstelement.h: add new api entries hide internal macro 2005-10-17 18:09:32 +0000 Andy Wingo gst/base/gstcollectpads.c (gst_collectpads_chain): Slight cleanup. Original commit message from CVS: 2005-10-17 Andy Wingo * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight cleanup. * gst/Makefile.am (gstenumtypes.c): Threadsafe now. * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG. * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/. (gst_element_get_state_func): Better debug message. (gst_element_commit_state): s/INFO/DEBUG/. (gst_element_lost_state, gst_element_change_state): * gst/gstmessage.c (gst_message_init): s/INFO/LOG/. (gst_message_new_custom): s/INFO/LOG/. 2005-10-17 17:46:37 +0000 Michael Smith * ChangeLog: * gst/base/gstbasesink.c: * libs/gst/base/gstbasesink.c: Check validity of end time based on end time variable, not start time. Original commit message from CVS: Check validity of end time based on end time variable, not start time. 2005-10-17 17:05:38 +0000 Stefan Kost merge controller testsuites fix broken tests remove mem-chunk from docs Original commit message from CVS: * check/gst-libs/controller.c: (GST_START_TEST), (gst_controller_suite): * libs/gst/controller/gstcontroller.c: (gst_controlled_property_set_interpolation_mode): * libs/gst/controller/gstcontroller.h: * libs/gst/controller/gstinterpolation.c: * testsuite/controller/.cvsignore: * testsuite/controller/Makefile.am: * testsuite/controller/interpolator.c: merge controller testsuites fix broken tests remove mem-chunk from docs 2005-10-17 14:42:22 +0000 Thomas Vander Stichele gst/: out. get out. you're fired. to the Attic ! Original commit message from CVS: * gst/gstmemchunk.c: * gst/gstmemchunk.h: * gst/gsttrashstack.c: * gst/gsttrashstack.h: out. get out. you're fired. to the Attic ! 2005-10-17 14:37:06 +0000 Thomas Vander Stichele gst/gstcaps.c: fix signedness issues in a (hopefully) correct way Original commit message from CVS: * gst/gstcaps.c: (gst_caps_intersect): fix signedness issues in a (hopefully) correct way * gst/gstelement.c: (gst_element_pads_activate): some debugging * gst/gstobject.c: (gst_object_set_parent): some debugging 2005-10-17 10:37:13 +0000 Michael Smith * gst/base/gstbasesink.c: * libs/gst/base/gstbasesink.c: Fix a doc typo. Original commit message from CVS: Fix a doc typo. 2005-10-17 09:28:35 +0000 Julien Moutte gst/gstvalue.h: Fix prototypes. Original commit message from CVS: 2005-10-17 Julien MOUTTE * gst/gstvalue.h: Fix prototypes. 2005-10-16 14:32:57 +0000 Thomas Vander Stichele * ChangeLog: * docs/gst/gstreamer-sections.txt: * gst/gst.c: * gst/gst.h: * gst/gstversion.h.in: * win32/common/libgstreamer.def: add gst_version_string () Original commit message from CVS: add gst_version_string () 2005-10-16 13:55:41 +0000 Thomas Vander Stichele * configure.ac: * win32/common/config.h: comment; update win32 config.h Original commit message from CVS: comment; update win32 config.h 2005-10-16 12:37:14 +0000 Thomas Vander Stichele * scripts/cvs-update.sh: Dear Andy: here's a script to update stuff from CVS Original commit message from CVS: Dear Andy: here's a script to update stuff from CVS Love, Thomas 2005-10-16 12:28:20 +0000 Thomas Vander Stichele configure.ac: clean up further Original commit message from CVS: * configure.ac: clean up further * gst/gst.c: (init_post): * win32/common/config.h.in: it's PLUGINDIR now * gst/gstcaps.c: (gst_caps_intersect): use gint64, the range could be bigger than a guint 2005-10-16 11:48:09 +0000 Thomas Vander Stichele * ChangeLog: * common: * gst/gstclock.h: GStreamer consultants will make a lot of money in 2038 Original commit message from CVS: GStreamer consultants will make a lot of money in 2038 2005-10-16 10:58:41 +0000 Thomas Vander Stichele gst/gstcaps.c: Fix guint j diving under 0 Original commit message from CVS: * gst/gstcaps.c: (gst_caps_intersect): Fix guint j diving under 0 2005-10-16 10:38:02 +0000 Thomas Vander Stichele check for process.h, declares getpid() on Windows Original commit message from CVS: * configure.ac: * win32/common/config.h: * win32/common/config.h.in: check for process.h, declares getpid() on Windows * gst/gstinfo.c: include process.h if we have it * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new): * gst/gstmemchunk.h: fix signedness issues * win32/common/libgstreamer.def: fix get_type's 2005-10-16 10:22:29 +0000 Thomas Vander Stichele * gst/gstcaps.c: fix signedness Original commit message from CVS: fix signedness 2005-10-16 10:18:36 +0000 Thomas Vander Stichele * win32/common/config.h: * win32/common/config.h.in: fix GST_VERSION Original commit message from CVS: fix GST_VERSION 2005-10-16 10:15:24 +0000 Thomas Vander Stichele * win32/common/config.h: * win32/common/config.h.in: fix inline Original commit message from CVS: fix inline 2005-10-16 10:12:34 +0000 Thomas Vander Stichele * win32/common/config.h: * win32/common/config.h.in: define PACKAGE Original commit message from CVS: define PACKAGE 2005-10-16 10:10:25 +0000 Thomas Vander Stichele * win32/common/config.h: * win32/common/config.h.in: update available headers Original commit message from CVS: update available headers 2005-10-16 09:56:33 +0000 Julien Moutte gst/gstcaps.c: Fix a bad bug with a simple fix. Because of unsigned ints, caps intersection was going nuts and trying... Original commit message from CVS: 2005-10-16 Julien MOUTTE * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple fix. Because of unsigned ints, caps intersection was going nuts and trying to access structures with G_MAXUINT index. That fixes videotestsrc ! ffmpegcolorspace ! fakesink * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs consistency. 2005-10-16 09:55:24 +0000 Thomas Vander Stichele * win32/common/config.h: update Original commit message from CVS: update 2005-10-16 09:54:22 +0000 Thomas Vander Stichele * win32/common/config.h.in: typo Original commit message from CVS: typo 2005-10-16 09:51:25 +0000 Thomas Vander Stichele * win32/common/config.h: * win32/common/config.h.in: updates for 2in32 Original commit message from CVS: updates for 2in32 2005-10-16 09:44:04 +0000 Thomas Vander Stichele * check/gst-libs/controller.c: * check/gst/gstplugin.c: * configure.ac: * tests/check/gst/gstplugin.c: * tests/check/libs/controller.c: more define fixes Original commit message from CVS: more define fixes 2005-10-16 09:20:52 +0000 Thomas Vander Stichele configure.ac: use the gettext macro Original commit message from CVS: 2005-10-16 Thomas Vander Stichele * configure.ac: use the gettext macro * gst/elements/gstelements.c: * gst/gst.c: * gst/indexers/gstindexers.c: update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN * win32/common/config.h: updated config.h * win32/common/config.h.in: add the template to generate config.h * win32/common/gstenumtypes.c: * win32/common/gstversion.h: updated copies 2005-10-16 09:11:57 +0000 Thomas Vander Stichele * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in: * pkgconfig/gstreamer-dataprotocol.pc.in: remove more PKG_CFLAGS Original commit message from CVS: remove more PKG_CFLAGS 2005-10-16 09:10:17 +0000 Thomas Vander Stichele gst/: add the nano Original commit message from CVS: * gst/gst.c: (gst_version): * gst/gstversion.h.in: add the nano 2005-10-16 08:59:34 +0000 Thomas Vander Stichele * pkgconfig/gstreamer-uninstalled.pc.in: * pkgconfig/gstreamer.pc.in: remove GST_PKG_CFLAGS Original commit message from CVS: remove GST_PKG_CFLAGS 2005-10-15 22:24:20 +0000 Tim-Philipp Müller gst/gstevent.h: Oops, add missing closing bracket. Original commit message from CVS: * gst/gstevent.h: Oops, add missing closing bracket. 2005-10-15 21:41:20 +0000 Thomas Vander Stichele configure.ac: use common m4's for argument checking Original commit message from CVS: * configure.ac: use common m4's for argument checking 2005-10-15 20:33:09 +0000 Tim-Philipp Müller Add GST_EVENT_TYPE_NAME() macro. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstevent.h: Add GST_EVENT_TYPE_NAME() macro. 2005-10-15 20:00:30 +0000 Thomas Vander Stichele * win32/common/libgstreamer.def: update defs Original commit message from CVS: update defs 2005-10-15 19:57:03 +0000 Thomas Vander Stichele gst/: privatize more symbols Original commit message from CVS: * gst/gstinfo.c: * gst/gstpluginfeature.c: * gst/gsttask.c: privatize more symbols 2005-10-15 18:22:31 +0000 Thomas Vander Stichele configure.ac: add srcdir, builddir includes to GST_ALL_CFLAGS, since everything that uses GStreamer API should have t... Original commit message from CVS: * configure.ac: add srcdir, builddir includes to GST_ALL_CFLAGS, since everything that uses GStreamer API should have the includes 2005-10-15 17:59:07 +0000 Thomas Vander Stichele give each value a _get_type, removes the DATA exports Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize): * gst/gstvalue.h: give each value a _get_type, removes the DATA exports 2005-10-15 17:22:34 +0000 Thomas Vander Stichele * gst/base/Makefile.am: * libs/gst/base/Makefile.am: fix link flags Original commit message from CVS: fix link flags 2005-10-15 16:39:57 +0000 Thomas Vander Stichele * win32/common/libgstreamer.def: update defs file Original commit message from CVS: update defs file 2005-10-15 16:37:22 +0000 Thomas Vander Stichele * win32/common/libgstreamer.def: update defs Original commit message from CVS: update defs 2005-10-15 16:33:09 +0000 Thomas Vander Stichele gst/gst.*: remove _gst_registry_auto_load, not used anymore Original commit message from CVS: * gst/gst.c: * gst/gst.h: remove _gst_registry_auto_load, not used anymore * gst/gstbin.c: (gst_bin_get_type): * gst/gstbin.h: * gst/gstelement.c: (gst_element_get_type): * gst/gstelement.h: * gst/gstobject.c: (gst_object_get_type): * gst/gstobject.h: * gst/gstpad.c: (gst_pad_get_type): * gst/gstpad.h: make _get_type functions similar, fixes data export from library 2005-10-15 16:16:04 +0000 Thomas Vander Stichele * gst/check/gstcheck.c: * gst/gst.c: * gst/gstbuffer.c: * gst/gstcaps.c: * gst/gstelementfactory.c: * gst/gstpadtemplate.c: * gst/gstplugin.c: * gst/gsttypefindfactory.c: * libs/gst/check/gstcheck.c: I'm too lazy to comment this Original commit message from CVS: gtk-doc insists on inserting at every empty line, sigh 2005-10-15 16:01:57 +0000 Thomas Vander Stichele * gst/gst.c: * gst/gstbin.c: * gst/gstbuffer.c: * gst/gstbus.c: * gst/gstcaps.c: * gst/gstchildproxy.c: * gst/gstclock.c: * gst/gstconfig.h.in: * gst/gstelement.c: * gst/gstelementfactory.c: * gst/gsterror.c: * gst/gstevent.c: * gst/gstfilter.c: * gst/gstformat.c: * gst/gstghostpad.c: * gst/gstindex.c: * gst/gstindexfactory.c: * gst/gstinfo.c: * gst/gstinterface.c: * gst/gstiterator.c: * gst/gstmemchunk.c: * gst/gstmessage.c: * gst/gstobject.c: * gst/gstpad.c: * gst/gstpadtemplate.c: * gst/gstparse.c: * gst/gstpipeline.c: * gst/gstplugin.c: * gst/gstpluginfeature.c: * gst/gstquery.c: * gst/gstqueue.c: * gst/gstregistry.c: * gst/gststructure.c: * gst/gstsystemclock.c: * gst/gsttaglist.c: * gst/gsttagsetter.c: * gst/gsttrace.c: * gst/gsttypefind.c: * gst/gsttypefindfactory.c: * gst/gsturi.c: * gst/gsturitype.c: * gst/gstutils.c: * gst/gstxml.c: * plugins/elements/gstqueue.c: various style fixes Original commit message from CVS: various style fixes 2005-10-15 15:53:59 +0000 Thomas Vander Stichele * check/gst/gstbin.c: * check/gst/gstcaps.c: * check/gst/gstvalue.c: * examples/appreader/appreader.c: * examples/controller/audio-example.c: * examples/cutter/cutter.c: * examples/cutter/cutter.h: * examples/mixer/mixer.c: * examples/mixer/mixer.h: * examples/retag/retag.c: * examples/retag/transcode.c: * libs/gst/controller/gstcontroller.c: * libs/gst/controller/gstcontroller.h: * libs/gst/controller/gsthelper.c: * tests/check/gst/gstbin.c: * tests/check/gst/gstcaps.c: * tests/check/gst/gstvalue.c: * tests/old/examples/appreader/appreader.c: * tests/old/examples/controller/audio-example.c: * tests/old/examples/cutter/cutter.c: * tests/old/examples/cutter/cutter.h: * tests/old/examples/mixer/mixer.c: * tests/old/examples/mixer/mixer.h: * tests/old/examples/retag/retag.c: * tests/old/examples/retag/transcode.c: * win32/common/gstconfig.h: * win32/common/gstversion.h: * win32/dirent.c: * win32/gstconfig.h: * win32/gstversion.h: * win32/gtchar.h: * win32/mman.h: * win32/vs7/mman.h: whitespace fixes Original commit message from CVS: whitespace fixes 2005-10-15 15:53:14 +0000 Thomas Vander Stichele * tests/old/testsuite/Makefile.am: * tests/old/testsuite/bytestream/.gitignore: * tests/old/testsuite/bytestream/Makefile.am: * tests/old/testsuite/bytestream/filepadsink.c: * tests/old/testsuite/bytestream/gstbstest.c: * tests/old/testsuite/bytestream/test1.c: * tests/old/testsuite/bytestream/testfile1: * tests/old/testsuite/caps/normalisation.c: * tests/old/testsuite/caps/random.c: * tests/old/testsuite/cleanup/.gitignore: * tests/old/testsuite/cleanup/Makefile.am: * tests/old/testsuite/cleanup/cleanup1.c: * tests/old/testsuite/cleanup/cleanup2.c: * tests/old/testsuite/cleanup/cleanup3.c: * tests/old/testsuite/cleanup/cleanup4.c: * tests/old/testsuite/cleanup/cleanup5.c: * tests/old/testsuite/controller/interpolator.c: * tests/old/testsuite/debug/printf_extension.c: * tests/old/testsuite/elements/tee.c: * tests/old/testsuite/negotiation/.gitignore: * tests/old/testsuite/negotiation/Makefile.am: * tests/old/testsuite/negotiation/pad_link.c: * tests/old/testsuite/pad/Makefile.am: * tests/old/testsuite/pad/chainnopull.c: * tests/old/testsuite/pad/getnopush.c: * tests/old/testsuite/pad/link.c: * tests/old/testsuite/refcounting/sched.c: * tests/old/testsuite/registry/Makefile.am: * tests/old/testsuite/registry/gst-print-formats.c: * tests/old/testsuite/schedulers/.gitignore: * tests/old/testsuite/schedulers/142183-2.c: * tests/old/testsuite/schedulers/142183.c: * tests/old/testsuite/schedulers/143777-2.c: * tests/old/testsuite/schedulers/143777.c: * tests/old/testsuite/schedulers/147713.c: * tests/old/testsuite/schedulers/147819.c: * tests/old/testsuite/schedulers/147894-2.c: * tests/old/testsuite/schedulers/147894.c: * tests/old/testsuite/schedulers/Makefile.am: * tests/old/testsuite/schedulers/group_link.c: * tests/old/testsuite/schedulers/queue_link.c: * tests/old/testsuite/schedulers/relink.c: * tests/old/testsuite/schedulers/unlink.c: * tests/old/testsuite/schedulers/unref.c: * tests/old/testsuite/schedulers/useless_iteration.c: * tests/old/testsuite/states/bin.c: * testsuite/Makefile.am: * testsuite/bytestream/.gitignore: * testsuite/bytestream/Makefile.am: * testsuite/bytestream/filepadsink.c: * testsuite/bytestream/gstbstest.c: * testsuite/bytestream/test1.c: * testsuite/bytestream/testfile1: * testsuite/caps/normalisation.c: * testsuite/caps/random.c: * testsuite/cleanup/.gitignore: * testsuite/cleanup/Makefile.am: * testsuite/cleanup/cleanup1.c: * testsuite/cleanup/cleanup2.c: * testsuite/cleanup/cleanup3.c: * testsuite/cleanup/cleanup4.c: * testsuite/cleanup/cleanup5.c: * testsuite/controller/interpolator.c: * testsuite/debug/printf_extension.c: * testsuite/elements/tee.c: * testsuite/negotiation/.gitignore: * testsuite/negotiation/Makefile.am: * testsuite/negotiation/pad_link.c: * testsuite/pad/Makefile.am: * testsuite/pad/chainnopull.c: * testsuite/pad/getnopush.c: * testsuite/pad/link.c: * testsuite/refcounting/sched.c: * testsuite/registry/Makefile.am: * testsuite/registry/gst-print-formats.c: * testsuite/schedulers/.gitignore: * testsuite/schedulers/142183-2.c: * testsuite/schedulers/142183.c: * testsuite/schedulers/143777-2.c: * testsuite/schedulers/143777.c: * testsuite/schedulers/147713.c: * testsuite/schedulers/147819.c: * testsuite/schedulers/147894-2.c: * testsuite/schedulers/147894.c: * testsuite/schedulers/Makefile.am: * testsuite/schedulers/group_link.c: * testsuite/schedulers/queue_link.c: * testsuite/schedulers/relink.c: * testsuite/schedulers/unlink.c: * testsuite/schedulers/unref.c: * testsuite/schedulers/useless_iteration.c: * testsuite/states/bin.c: remove obsolete tests whitespace fixes Original commit message from CVS: remove obsolete tests whitespace fixes 2005-10-15 15:52:08 +0000 Thomas Vander Stichele configure.ac: correctly make conditionals Original commit message from CVS: * configure.ac: correctly make conditionals * gst/elements/Makefile.am: * gst/elements/gstelements.c: fix typo causing fdsrc not to build 2005-10-15 15:30:24 +0000 Thomas Vander Stichele * gst/base/gstadapter.c: * gst/base/gstbasesink.c: * gst/base/gstbasetransform.c: * gst/base/gstbasetransform.h: * gst/base/gstcollectpads.c: * gst/base/gstcollectpads.h: * gst/base/gstpushsrc.h: * gst/base/gsttypefindhelper.c: * gst/base/gsttypefindhelper.h: * gst/elements/gstbufferstore.c: * gst/elements/gstcapsfilter.c: * gst/elements/gstfakesink.c: * gst/elements/gstfdsink.c: * gst/elements/gstfdsink.h: * gst/elements/gstfdsrc.c: * gst/elements/gstfdsrc.h: * gst/elements/gstfilesrc.c: * gst/elements/gstidentity.c: * gst/elements/gstidentity.h: * gst/elements/gsttee.c: * gst/elements/gsttee.h: * gst/elements/gsttypefindelement.c: * gst/elements/gsttypefindelement.h: * gst/glib-compat.c: * gst/gst.c: * gst/gstbin.c: * gst/gstbuffer.c: * gst/gstbus.c: * gst/gstbus.h: * gst/gstcaps.c: * gst/gstchildproxy.c: * gst/gstclock.c: * gst/gstelement.c: * gst/gstelementfactory.c: * gst/gstelementfactory.h: * gst/gstevent.c: * gst/gstevent.h: * gst/gstformat.c: * gst/gstformat.h: * gst/gstghostpad.c: * gst/gstindex.c: * gst/gstindex.h: * gst/gstindexfactory.c: * gst/gstindexfactory.h: * gst/gstinfo.c: * gst/gstinfo.h: * gst/gstinterface.c: * gst/gstiterator.c: * gst/gstmacros.h: * gst/gstmemchunk.c: * gst/gstmessage.c: * gst/gstmessage.h: * gst/gstminiobject.c: * gst/gstobject.c: * gst/gstobject.h: * gst/gstpad.c: * gst/gstpad.h: * gst/gstpadtemplate.c: * gst/gstpadtemplate.h: * gst/gstpipeline.c: * gst/gstplugin.c: * gst/gstplugin.h: * gst/gstpluginfeature.c: * gst/gstquery.c: * gst/gstquery.h: * gst/gstqueue.c: * gst/gstqueue.h: * gst/gstregistry.h: * gst/gstregistryxml.c: * gst/gststructure.c: * gst/gststructure.h: * gst/gstsystemclock.c: * gst/gsttaglist.c: * gst/gsttagsetter.c: * gst/gsttrace.c: * gst/gsttrace.h: * gst/gsttypefind.c: * gst/gsttypefind.h: * gst/gsttypefindfactory.c: * gst/gsttypefindfactory.h: * gst/gsturi.c: * gst/gstutils.c: * gst/gstutils.h: * gst/gstvalue.c: * gst/gstvalue.h: * gst/indexers/gstfileindex.c: * gst/indexers/gstmemindex.c: * gst/parse/types.h: * libs/gst/base/gstadapter.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstbasetransform.h: * libs/gst/base/gstcollectpads.c: * libs/gst/base/gstcollectpads.h: * libs/gst/base/gstpushsrc.h: * libs/gst/base/gsttypefindhelper.c: * libs/gst/base/gsttypefindhelper.h: * plugins/elements/gstbufferstore.c: * plugins/elements/gstcapsfilter.c: * plugins/elements/gstfakesink.c: * plugins/elements/gstfdsink.c: * plugins/elements/gstfdsink.h: * plugins/elements/gstfdsrc.c: * plugins/elements/gstfdsrc.h: * plugins/elements/gstfilesrc.c: * plugins/elements/gstidentity.c: * plugins/elements/gstidentity.h: * plugins/elements/gstqueue.c: * plugins/elements/gstqueue.h: * plugins/elements/gsttee.c: * plugins/elements/gsttee.h: * plugins/elements/gsttypefindelement.c: * plugins/elements/gsttypefindelement.h: * plugins/indexers/gstfileindex.c: * plugins/indexers/gstmemindex.c: whitespace fixes Original commit message from CVS: whitespace fixes 2005-10-15 15:01:39 +0000 Thomas Vander Stichele configure.ac: check for some headers Original commit message from CVS: * configure.ac: check for some headers * gst/elements/Makefile.am: * gst/elements/gstelements.c: don't compile fdsrc without sys/socket.h * gst/indexers/Makefile.am: * gst/indexers/gstindexers.c: (plugin_init): don't compile fileindex without mmap 2005-10-15 13:58:18 +0000 Thomas Vander Stichele configure.ac: reorganize clean up document more remove cruft Original commit message from CVS: * configure.ac: reorganize clean up document more remove cruft * check/Makefile.am: * docs/gst/Makefile.am: * examples/helloworld/Makefile.am: * gst/Makefile.am: * gst/base/Makefile.am: * gst/check/Makefile.am: * gst/elements/Makefile.am: * gst/indexers/Makefile.am: * gst/parse/Makefile.am: * libs/gst/controller/Makefile.am: * libs/gst/dataprotocol/Makefile.am: * examples/helloworld/helloworld.c: (event_loop): compile fixes, though it's not being compiled currently 2005-10-15 13:24:54 +0000 Thomas Vander Stichele * pkgconfig/gstreamer-base-uninstalled.pc.in: * pkgconfig/gstreamer-check-uninstalled.pc.in: * pkgconfig/gstreamer-check.pc.in: * pkgconfig/gstreamer-controller-uninstalled.pc.in: * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in: * pkgconfig/gstreamer-uninstalled.pc.in: * pkgconfig/gstreamer.pc.in: clean up pc files Original commit message from CVS: clean up pc files 2005-10-15 12:03:32 +0000 Thomas Vander Stichele * libs/gst/getbits/.gitignore: remove dir Original commit message from CVS: remove dir 2005-10-15 10:34:17 +0000 Thomas Vander Stichele * common: * gst/schedulers/.gitignore: remove directory Original commit message from CVS: remove directory 2005-10-15 00:22:02 +0000 Thomas Vander Stichele * gst/gstelement.c: * gst/gstplugin.h: * gst/gststructure.c: * gst/gsturi.c: signedness/type fixes Original commit message from CVS: signedness/type fixes 2005-10-15 00:20:45 +0000 Thomas Vander Stichele * gst/gstvalue.c: signedness/type fixes Original commit message from CVS: signedness/type fixes 2005-10-15 00:15:43 +0000 Thomas Vander Stichele * gst/gstelementfactory.c: * gst/gstelementfactory.h: * gst/gstpad.c: signedness fixes Original commit message from CVS: signedness fixes 2005-10-15 00:12:22 +0000 Thomas Vander Stichele * gst/gstcaps.c: * gst/gstcaps.h: signedness fixes Original commit message from CVS: signedness fixes 2005-10-14 17:01:56 +0000 Tim-Philipp Müller check/gst/gsttag.c: Add some simple tests for the new taglist date API. Original commit message from CVS: * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite): Add some simple tests for the new taglist date API. 2005-10-14 14:10:24 +0000 Tim-Philipp Müller gst/elements/: Beautify 'last-message' output: print 'none' for buffer timestamps and durations if none is set; impro... Original commit message from CVS: * gst/elements/gstfakesink.c: (gst_fake_sink_render): * gst/elements/gstfakesrc.c: (gst_fake_src_create): Beautify 'last-message' output: print 'none' for buffer timestamps and durations if none is set; improve alignment with next messages. 2005-10-14 11:09:29 +0000 Tim-Philipp Müller Add new API to check plugin feature version requirements. Original commit message from CVS: * gst/gstpluginfeature.c: (gst_plugin_feature_check_version): * gst/gstpluginfeature.h: * gst/gstregistry.c: (gst_default_registry_check_feature_version): * gst/gstregistry.h: * docs/gst/gstreamer-sections.txt: Add new API to check plugin feature version requirements. * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite): Some basic tests for the above. 2005-10-13 21:27:57 +0000 Thomas Vander Stichele gst/gststructure.c: guard against NULL printf - happens when for example a message structure with GstClock gets seria... Original commit message from CVS: 2005-10-13 Thomas Vander Stichele * gst/gststructure.c: (gst_structure_to_string): guard against NULL printf - happens when for example a message structure with GstClock gets serialized 2005-10-13 18:33:27 +0000 Tim-Philipp Müller gst/base/gstcollectpads.c: Fix presumable copy'n'pasto. Original commit message from CVS: * gst/base/gstcollectpads.c: (gst_collectpads_event): Fix presumable copy'n'pasto. 2005-10-13 17:51:51 +0000 Thomas Vander Stichele * gst/elements/gstelements.c: * gst/elements/gstfilesrc.c: * plugins/elements/gstelements.c: * plugins/elements/gstfilesrc.c: add correct header for WIN32 Original commit message from CVS: add correct header for WIN32 2005-10-13 17:43:36 +0000 Thomas Vander Stichele gst/elements/: fix some signedness Original commit message from CVS: * gst/elements/gstfakesrc.h: * gst/elements/gstfilesrc.c: (gst_file_src_create_read): * gst/elements/gsttypefindelement.c: fix some signedness * gst/elements/gstfilesink.c: (gst_file_sink_render): I wonder if this could actually write +2GB files before 2005-10-13 17:24:53 +0000 Thomas Vander Stichele * win32/common/libgstreamer.def: add an export Original commit message from CVS: add an export 2005-10-13 17:20:44 +0000 Thomas Vander Stichele * gst/glib-compat.h: * gst/gstpad.c: include header correctly; show me the name Original commit message from CVS: include header correctly; show me the name 2005-10-13 16:34:04 +0000 Andy Wingo * ChangeLog: foo Original commit message from CVS: foo 2005-10-13 16:26:12 +0000 Andy Wingo libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps): Fix Timmeke Waymans bug. Original commit message from CVS: 2005-10-13 Andy Wingo * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps): Fix Timmeke Waymans bug. (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated string of the proper length to gst_caps_from_string. There's a potential for, before this fix, that this could cause someone connecting over the network to cause a segfault if the payload is not NUL-terminated. 2005-10-13 15:27:40 +0000 Stefan Kost fixed typos Original commit message from CVS: * docs/design/draft-push-pull.txt: * docs/design/part-overview.txt: * docs/random/TODO-pre-0.9: * docs/random/old/ChangeLog.gstreamer: * gst/base/gstpushsrc.c: * gst/gstclock.c: fixed typos 2005-10-13 15:23:51 +0000 Thomas Vander Stichele gst/: GLib 2.6 g_flags_get_first_value has a bug that triggers an infinite loop Original commit message from CVS: * gst/glib-compat.c: (gst_flags_get_first_value): * gst/glib-compat.h: * gst/gstvalue.c: (gst_value_deserialize_int_helper), (gst_value_compare_double), (gst_value_serialize_flags): GLib 2.6 g_flags_get_first_value has a bug that triggers an infinite loop 2005-10-13 15:22:26 +0000 Thomas Vander Stichele gst/base/: fix up debugging Original commit message from CVS: 2005-10-13 Thomas Vander Stichele * gst/base/gstbasesink.c: (gst_base_sink_handle_object): * gst/base/gstbasesrc.c: (gst_base_src_get_range): fix up debugging * tools/gst-launch.c: (event_loop): print out clock nicely 2005-10-13 15:13:32 +0000 Tim-Philipp Müller Added gst_tag_list_get_date() and gst_tag_list_get_date_index(). Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gsttaglist.h: * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date), (gst_tag_list_get_date_index): Added gst_tag_list_get_date() and gst_tag_list_get_date_index(). GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777). 2005-10-13 14:55:17 +0000 Julien Moutte gst/base/gstcollectpads.*: Handle newsegment and store informations in CollectData. Original commit message from CVS: 2005-10-13 Julien MOUTTE * gst/base/gstcollectpads.c: (gst_collectpads_event), (gst_collectpads_chain): * gst/base/gstcollectpads.h: Handle newsegment and store informations in CollectData. 2005-10-13 09:57:15 +0000 Stefan Kost fix GOption context leaks doc fixes Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gst.c: * gst/gsterror.h: * tools/gst-inspect.c: (main): * tools/gst-launch.c: (main): * tools/gst-run.c: (main): * tools/gst-xmlinspect.c: (main): fix GOption context leaks doc fixes 2005-10-12 22:34:47 +0000 Thomas Vander Stichele gst/gstbus.c: use HAVE_UNISTD_H Original commit message from CVS: * gst/gstbus.c: use HAVE_UNISTD_H * win32/common/config.h: update config * win32/vs6/grammar.dsp: * win32/vs6/libgstelements.dsp: * win32/vs6/libgstreamer.dsp: update vs6 files 2005-10-12 22:00:54 +0000 Thomas Vander Stichele * win32/common/libgstbase.def: had a few too many 0D bytes Original commit message from CVS: had a few too many 0D bytes 2005-10-12 21:56:52 +0000 Thomas Vander Stichele gst/base/: fix more guint64<->gdouble conversions Original commit message from CVS: * gst/base/gstbasesink.c: (gst_base_sink_handle_object): * gst/base/gstbasesrc.c: (gst_base_src_query): fix more guint64<->gdouble conversions 2005-10-12 20:23:42 +0000 Thomas Vander Stichele Makefile.am: add win32-update target Original commit message from CVS: * Makefile.am: add win32-update target * win32/common/gstconfig.h: * win32/common/gstenumtypes.c: * win32/common/gstenumtypes.h: * win32/common/gstversion.h: add files that visual studio can't generate 2005-10-12 19:38:44 +0000 Wim Taymans gst/: Protect flags with proper lock. unref provided cached clock in dispose. Original commit message from CVS: * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func), (reset_degree), (gst_bin_dispose), (bin_bus_handler): * gst/gstelement.c: (gst_element_commit_state), (gst_element_set_state): Protect flags with proper lock. unref provided cached clock in dispose. 2005-10-12 19:14:23 +0000 Thomas Vander Stichele * gst/gstconfig.h.in: layout cleanup Original commit message from CVS: layout cleanup 2005-10-12 19:10:46 +0000 Stefan Kost removed unused flags from miniobject doc fixes Original commit message from CVS: * gst/gst.c: * gst/gstminiobject.h: * gst/gstpad.h: * win32/gstenumtypes.c: (gst_mini_object_flags_get_type): removed unused flags from miniobject doc fixes 2005-10-12 18:03:18 +0000 Thomas Vander Stichele * win32/vs6/grammar.dsp: * win32/vs6/gst_inspect.dsp: * win32/vs6/gst_launch.dsp: * win32/vs6/gstreamer.dsw: * win32/vs6/libgstbase.dsp: * win32/vs6/libgstelements.dsp: * win32/vs6/libgstreamer.dsp: convert to unix line ends; since the source is also unix-style line ends, developers don't need to fiddle and special... Original commit message from CVS: convert to unix line ends; since the source is also unix-style line ends, developers don't need to fiddle and special-case, but can just allow translation on the fly 2005-10-12 16:03:39 +0000 Wim Taymans gst/elements/gstfilesink.c: Flush before seeking. Original commit message from CVS: * gst/elements/gstfilesink.c: (gst_file_sink_do_seek), (gst_file_sink_event), (gst_file_sink_render): Flush before seeking. 2005-10-12 15:58:24 +0000 Andy Wingo gst/gst.c (gst_init_check): Ignore unknown options, as has always been the case. Original commit message from CVS: 2005-10-12 Andy Wingo * gst/gst.c (gst_init_check): Ignore unknown options, as has always been the case. 2005-10-12 14:28:39 +0000 Stefan Kost renamed GST_FLAGS macros to GST_OBJECT_FLAGS moved bitshift from macro to enum definition Original commit message from CVS: * check/gst/gstbin.c: (GST_START_TEST): * docs/gst/gstreamer-sections.txt: * gst/base/gstbasesink.c: (gst_base_sink_init): * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_get_range), (gst_base_src_check_get_range), (gst_base_src_start), (gst_base_src_stop): * gst/base/gstbasesrc.h: * gst/elements/gstfakesrc.c: (gst_fake_src_set_property): * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func), (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state), (bin_bus_handler): * gst/gstbin.h: * gst/gstbuffer.h: * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing): * gst/gstbus.h: * gst/gstelement.c: (gst_element_is_locked_state), (gst_element_set_locked_state), (gst_element_commit_state), (gst_element_set_state): * gst/gstelement.h: * gst/gstindex.c: (gst_index_init): * gst/gstindex.h: * gst/gstminiobject.h: * gst/gstobject.c: (gst_object_init), (gst_object_sink), (gst_object_set_parent): * gst/gstobject.h: * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked), (gst_pad_get_caps_unlocked), (gst_pad_set_caps): * gst/gstpad.h: * gst/gstpadtemplate.h: * gst/gstpipeline.c: (gst_pipeline_provide_clock_func), (gst_pipeline_use_clock), (gst_pipeline_auto_clock): * gst/gstpipeline.h: * gst/indexers/gstfileindex.c: (gst_file_index_load), (gst_file_index_commit): * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init): * testsuite/pad/link.c: (gst_test_src_init), (gst_test_filter_init), (gst_test_sink_init): * testsuite/states/locked.c: (main): renamed GST_FLAGS macros to GST_OBJECT_FLAGS moved bitshift from macro to enum definition 2005-10-12 14:12:37 +0000 Wim Taymans gst/: Some more debugging info. Original commit message from CVS: * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer): * gst/elements/gstfilesink.c: (gst_file_sink_event), (gst_file_sink_render): Some more debugging info. 2005-10-12 12:58:55 +0000 Wim Taymans Some doc updates. Original commit message from CVS: * docs/design/part-states.txt: * tools/gst-launch.c: (main): Some doc updates. Revert non-intentional change. 2005-10-12 12:18:48 +0000 Wim Taymans Use GstClockTime in _get_state() instead of GTimeVal. Original commit message from CVS: * check/gst/gstbin.c: (GST_START_TEST): * check/gst/gstelement.c: (GST_START_TEST): * check/gst/gstevent.c: (GST_START_TEST), (test_event): * check/gst/gstghostpad.c: (GST_START_TEST): * check/gst/gstpipeline.c: (GST_START_TEST): * check/pipelines/simple_launch_lines.c: (run_pipeline): * check/states/sinks.c: (GST_START_TEST): * gst/elements/gsttypefindelement.c: (stop_typefinding): * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_get_state_func), (gst_bin_recalc_state), (gst_bin_change_state_func), (bin_bus_handler): * gst/gstelement.c: (gst_element_get_state_func), (gst_element_get_state), (gst_element_abort_state), (gst_element_commit_state), (gst_element_set_state), (gst_element_change_state), (gst_element_change_state_func): * gst/gstelement.h: * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek), (gst_pipeline_provide_clock_func): * gst/gstutils.c: (gst_element_link_pads_filtered): * tools/gst-launch.c: (main): * tools/gst-typefind.c: (main): Use GstClockTime in _get_state() instead of GTimeVal. Remove old code in gstutils.c 2005-10-12 11:49:35 +0000 Andy Wingo gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if there is no task. Shouldn't affect any code, as nothing i... Original commit message from CVS: 2005-10-12 Andy Wingo * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if there is no task. Shouldn't affect any code, as nothing in our plugins checks this return value. (gst_pad_stop_task): Also take the stream lock if the pad has no task. Docs updated. 2005-10-12 10:05:36 +0000 Wim Taymans gst/gstpad.c: Cleanup activation code. Reset old state if activation failed. Original commit message from CVS: * gst/gstpad.c: (pre_activate), (post_activate), (gst_pad_activate_pull), (gst_pad_activate_push): Cleanup activation code. Reset old state if activation failed. 2005-10-12 09:02:42 +0000 Wim Taymans gst/base/gstbasesink.c: No need to prerol after receiving EOS. Original commit message from CVS: * gst/base/gstbasesink.c: (gst_base_sink_handle_object), (gst_base_sink_change_state): No need to prerol after receiving EOS. * gst/elements/gstfakesink.c: (gst_fake_sink_event): * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler): * gst/elements/gstidentity.c: (gst_identity_event): Print events more verbosely. 2005-10-12 08:38:06 +0000 Wim Taymans check/: Moved sinks2 testcode in sinks check. Original commit message from CVS: * check/Makefile.am: * check/states/sinks.c: (GST_START_TEST), (gst_object_suite): * check/states/sinks2.c: Moved sinks2 testcode in sinks check. * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state), (gst_bin_change_state_func), (bin_bus_handler): Fix potential race condition when _get_state() iterated over an ASYNC element right before it posted a state completion. * gst/gstclock.h: Do proper cast here. * gst/gstevent.c: (gst_event_new_newsegment), (gst_event_parse_newsegment): A playback rate of 0.0 is not allowed. 2005-10-12 02:26:44 +0000 Thomas Vander Stichele * autogen.sh: autoconf for freebsd Original commit message from CVS: autoconf for freebsd 2005-10-12 02:25:18 +0000 Thomas Vander Stichele * autogen.sh: autoconf for freebsd Original commit message from CVS: autoconf for freebsd 2005-10-12 02:23:29 +0000 Thomas Vander Stichele * autogen.sh: autoconf for freebsd Original commit message from CVS: autoconf for freebsd 2005-10-12 02:19:38 +0000 Thomas Vander Stichele * autogen.sh: autoconf for freebsd Original commit message from CVS: autoconf for freebsd 2005-10-12 02:16:26 +0000 Thomas Vander Stichele * autogen.sh: autoconf for freebsd Original commit message from CVS: autoconf for freebsd 2005-10-11 18:03:13 +0000 Thomas Vander Stichele win32/: Visual Studio 6 project files, and a new common directory. Original commit message from CVS: 2005-10-11 Thomas Vander Stichele * win32/common/config.h: * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir), (_trewinddir), (_ttelldir), (_tseekdir): * win32/common/dirent.h: * win32/common/gtchar.h: * win32/common/libgstbase.def: * win32/common/libgstreamer.def: * win32/vs6/grammar.dsp: * win32/vs6/gst_inspect.dsp: * win32/vs6/gst_launch.dsp: * win32/vs6/gstreamer.dsw: * win32/vs6/libgstbase.dsp: * win32/vs6/libgstelements.dsp: * win32/vs6/libgstreamer.dsp: Visual Studio 6 project files, and a new common directory. Phear. 2005-10-11 17:33:25 +0000 Wim Taymans * gst/base/gstbasesink.h: * libs/gst/base/gstbasesink.h: forgot this one Original commit message from CVS: forgot this one 2005-10-11 17:32:00 +0000 Wim Taymans gst/base/gstbasesink.*: Correctly parse newsegment info. Original commit message from CVS: * gst/base/gstbasesink.c: (gst_base_sink_handle_object), (gst_base_sink_do_sync), (gst_base_sink_query), (gst_base_sink_change_state): * gst/base/gstbasesink.h: Correctly parse newsegment info. 2005-10-11 16:54:41 +0000 Thomas Vander Stichele gst/gst.c: split plugin paths correctly Original commit message from CVS: 2005-10-11 Thomas Vander Stichele * gst/gst.c: (init_post): split plugin paths correctly 2005-10-11 16:28:49 +0000 Wim Taymans Added extra flag to newsegment for future API freeze. Original commit message from CVS: * check/gst/gstevent.c: (GST_START_TEST): * gst/base/gstbasesink.c: (gst_base_sink_handle_object), (gst_base_sink_change_state): * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment): * gst/base/gstbasetransform.c: (gst_base_transform_event): * gst/elements/gstfilesink.c: (gst_file_sink_event): * gst/gstevent.c: (gst_event_new_newsegment), (gst_event_parse_newsegment): * gst/gstevent.h: Added extra flag to newsegment for future API freeze. Updated check and base elements. 2005-10-11 16:25:35 +0000 Julien Moutte gst/base/gstcollectpads.*: Handle EOS correctly. Original commit message from CVS: 2005-10-11 Julien MOUTTE * gst/base/gstcollectpads.c: (gst_collectpads_init), (gst_collectpads_add_pad), (gst_collectpads_pop), (gst_collectpads_event), (gst_collectpads_chain): * gst/base/gstcollectpads.h: Handle EOS correctly. 2005-10-11 16:21:05 +0000 Thomas Vander Stichele * ChangeLog: * tools/gst-launch.c: more str null protection Original commit message from CVS: more str null protection 2005-10-11 16:05:16 +0000 Thomas Vander Stichele gst/gst-i18n-lib.h: check for ENABLE_NLS, not GETTEXT_PACKAGE Original commit message from CVS: * gst/gst-i18n-lib.h: check for ENABLE_NLS, not GETTEXT_PACKAGE * gst/gstregistry.c: (gst_registry_add_plugin), (gst_registry_scan_path_level), (_gst_registry_remove_cache_plugins): protect possibly NULL strings * gst/parse/types.h: config.h already included before * tools/gst-inspect.c: (main): sys/wait.h also doesn�t exist on mingw, so change the ifdef check check for ENABLE_NLS, not GETTEXT_PACKAGE * tools/gst-launch.c: (main): check for ENABLE_NLS, not GETTEXT_PACKAGE This commit brought to you from msys/mingw 2005-10-11 15:26:58 +0000 Thomas Vander Stichele configure.ac: if we don't have glib, fail before testing 2.8 Original commit message from CVS: * configure.ac: if we don't have glib, fail before testing 2.8 * gst/base/gstbasetransform.c: (gst_base_transform_change_state): fix a leak, should fix plugins-base testsuite 2005-10-11 15:23:10 +0000 Andy Wingo gst/gstpad.c (pre_activate): Renamed from pre_activate_switch, take the mode we're going to as an arg. Go head and se... Original commit message from CVS: 2005-10-11 Andy Wingo * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch, take the mode we're going to as an arg. Go head and set the mode and flushing flags now, so that if the activate function starts a thread all the flags will be in the right state. (post_activate): Renamed also. Just handle making sure streaming finishes for the deactivation case, and setting the deactivated mode. (gst_pad_set_active): Complain loudly if deactivation fails. (gst_pad_activate_pull): Adapt to pre/post_activate changes. (gst_pad_activate_push): Adapt to pre/post_activate changes, remove the terrible hack. 2005-10-11 15:05:55 +0000 Wim Taymans gst/gstbin.*: Prepare to make current EOS message queue more generic. Original commit message from CVS: * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func), (is_eos), (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state), (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler): * gst/gstbin.h: Prepare to make current EOS message queue more generic. Fix some typos. * gst/gstevent.c: (gst_event_new_newsegment), (gst_event_parse_newsegment): * gst/gstevent.h: Rename base to stream_time. * gst/gstmessage.h: Fix typo in docs. 2005-10-11 12:58:44 +0000 Wim Taymans gst/gstbin.*: Work on proper clock selection. Original commit message from CVS: * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func), (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state), (gst_bin_change_state_func), (bin_bus_handler): * gst/gstbin.h: Work on proper clock selection. 2005-10-11 12:42:23 +0000 Edward Hervey libs/gst/controller/gstcontroller.*: Added GList* version of _remove_properties() in order to be able to wrap it in b... Original commit message from CVS: * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): * libs/gst/controller/gstcontroller.h: Added GList* version of _remove_properties() in order to be able to wrap it in bindings. 2005-10-11 11:08:52 +0000 Wim Taymans docs/design/part-states.txt: Some more docs. Original commit message from CVS: * docs/design/part-states.txt: Some more docs. * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state), (gst_bin_change_state_func), (bin_bus_handler): Doc updates. Don't distribute the same clock over and over again. * gst/gstclock.c: * gst/gstclock.h: Doc updates. * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark), (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event), (gst_pad_send_event): * gst/gstpad.h: Make probe emission threadsafe again. Register quarks and move _get_name() from utils. Doc updates. * gst/gstpipeline.c: (gst_pipeline_class_init), (gst_pipeline_change_state), (gst_pipeline_provide_clock_func): Only redistribute the clock of it changed. * gst/gstsystemclock.h: Doc updates. * gst/gstutils.c: * gst/gstutils.h: Moved the _flow_get_name() to GstPad. 2005-10-11 09:14:59 +0000 Thomas Vander Stichele * common: * gst/gstbuffer.c: if we log our init, should also log finalize Original commit message from CVS: if we log our init, should also log finalize 2005-10-10 23:55:39 +0000 Thomas Vander Stichele * ChangeLog: * check/gst-libs/gdp.c: * check/gst/gstcaps.c: * common: * libs/gst/dataprotocol/dataprotocol.c: * tests/check/gst/gstcaps.c: * tests/check/libs/gdp.c: fix more valgrind warnings before turning up the heat Original commit message from CVS: fix more valgrind warnings before turning up the heat 2005-10-10 23:11:33 +0000 Thomas Vander Stichele * gst/parse/grammar.y: don't declare on the proper define Original commit message from CVS: don't declare on the proper define 2005-10-10 22:59:22 +0000 Thomas Vander Stichele * gst/parse/grammar.y: unmangle the nesting a little Original commit message from CVS: unmangle the nesting a little 2005-10-10 22:49:42 +0000 Thomas Vander Stichele gst/parse/grammar.y: some cleanup before the hacking Original commit message from CVS: * gst/parse/grammar.y: some cleanup before the hacking 2005-10-10 18:16:37 +0000 Thomas Vander Stichele gst/base/gstbasesrc.c: use conversions Original commit message from CVS: * gst/base/gstbasesrc.c: (gst_base_src_query): use conversions * gst/gstutils.c: (gst_guint64_to_gdouble), (gst_gdouble_to_guint64), (gst_util_uint64_scale): * gst/gstutils.h: externalize, basesrc uses it obviously the implementation needs testing 2005-10-10 17:05:04 +0000 Thomas Vander Stichele * gst/gstutils.c: another cast bites the dust Original commit message from CVS: another cast bites the dust 2005-10-10 16:45:45 +0000 Thomas Vander Stichele * gst/gstutils.c: another cast bites the dust Original commit message from CVS: another cast bites the dust 2005-10-10 16:43:32 +0000 Wim Taymans tests/sched/: Original commit message from CVS: * tests/sched/Makefile.am: * tests/sched/sort.c: (make_pipeline1), (make_pipeline2), (make_pipeline3), (make_pipeline4), (print_elem), (main): 2005-10-10 16:38:59 +0000 Thomas Vander Stichele gst/gstutils.c: apparently converting from guint64 to double is not implemented on MSVC Original commit message from CVS: * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale): apparently converting from guint64 to double is not implemented on MSVC 2005-10-10 16:38:26 +0000 Wim Taymans check/: Check fixes, use API as stated in design docs, remove hacks. Original commit message from CVS: * check/Makefile.am: * check/generic/states.c: (GST_START_TEST): * check/gst/gstbin.c: (GST_START_TEST): * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite): * check/states/sinks.c: (GST_START_TEST): * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite), (main): Check fixes, use API as stated in design docs, remove hacks. * gst/base/gstbasesink.c: (gst_base_sink_handle_object), (gst_base_sink_change_state): Catch stopping our task while we're shutting down. * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_get_state_func), (gst_bin_recalc_state), (gst_bin_change_state_func), (bin_bus_handler): * gst/gstbin.h: * gst/gstelement.c: (gst_element_init), (gst_element_get_state_func), (gst_element_abort_state), (gst_element_commit_state), (gst_element_lost_state), (gst_element_set_state), (gst_element_change_state), (gst_element_change_state_func): * gst/gstelement.h: New state change algorithm (see #318116) * gst/gstpipeline.c: (gst_pipeline_class_init), (gst_pipeline_init), (gst_pipeline_set_property), (gst_pipeline_get_property), (do_pipeline_seek), (gst_pipeline_change_state), (gst_pipeline_provide_clock_func): * gst/gstpipeline.h: Remove crude state change hacks. * gst/gstutils.h: Remove crude hacks. * tools/gst-launch.c: (main): Fixes for state change. Needs some more work to fully use the new stuff. 2005-10-10 16:20:41 +0000 Andy Wingo tests/Makefile.am (noinst_PROGRAMS): No more init.c. Original commit message from CVS: 2005-10-10 Andy Wingo * tests/Makefile.am (noinst_PROGRAMS): No more init.c. 2005-10-10 16:04:28 +0000 Andy Wingo gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires this flag, but it's not even in GLib 2.6. Odd. Hack ar... Original commit message from CVS: 2005-10-10 Andy Wingo * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires this flag, but it's not even in GLib 2.6. Odd. Hack around the issue. 2005-10-10 15:58:32 +0000 Tim-Philipp Müller gst/gstiterator.c: Fix my previous commit: GTypes passed to gst_iterator_new() can be fundamental types. Original commit message from CVS: * gst/gstiterator.c: (gst_iterator_new): Fix my previous commit: GTypes passed to gst_iterator_new() can be fundamental types. 2005-10-10 15:55:37 +0000 Wim Taymans gst/gstelement.c: Use src/sink pads lists for the respective iterators instead of filtering. Original commit message from CVS: * gst/gstelement.c: (gst_element_iterate_pad_list), (gst_element_iterate_pads), (gst_element_iterate_src_pads), (gst_element_iterate_sink_pads): Use src/sink pads lists for the respective iterators instead of filtering. 2005-10-10 15:53:59 +0000 Ronald Merged in popt removal + GOption addition patch from Ronald, bug #169772. Original commit message from CVS: 2005-10-10 Andy Wingo Merged in popt removal + GOption addition patch from Ronald, bug #169772. * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move GstElement macros around, remove popt-related symbols, add goption stuff. * configure.ac: Remove popt checks, require GLib 2.6 for GOption. * docs/gst/Makefile.am: * docs/libs/Makefile.am: No POPT_CFLAGS. * examples/manual/Makefile.am: * docs/manual/basics-init.xml: Doc updates with an example. * gst/gst.c: (gst_init_get_option_group), (gst_init_check), (gst_init), (parse_one_option), (parse_goption_arg): * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a bit of hand merging and debugging to get the GOption stuff working tho. * tests/Makefile.am: * tools/Makefile.am: * tools/gst-inspect.c: (main): * tools/gst-launch.c: (main): * tools/gst-run.c: (main): * tools/gst-xmlinspect.c: (main): Thanks Ronald! 2005-10-10 15:30:45 +0000 Tim-Philipp Müller gst/gstiterator.c: Add assertions to make sure passed GType is likely to really be a GType (as the compiler won't cat... Original commit message from CVS: * gst/gstiterator.c: (gst_iterator_new): Add assertions to make sure passed GType is likely to really be a GType (as the compiler won't catch it if the size and GType arguments get mixed up, see #318447). 2005-10-10 15:27:12 +0000 Tim-Philipp Müller gst/gstbin.c: Pass GType and size arguments to gst_iterator_new() in the right order (maybe we should make _new() tak... Original commit message from CVS: Reviewed by: Tim-Philipp Müller * gst/gstbin.c: (gst_bin_iterate_sorted): Pass GType and size arguments to gst_iterator_new() in the right order (maybe we should make _new() take the GType as first argument just like _new_list()?) (#318447). 2005-10-10 15:17:35 +0000 Wim Taymans gst/gstelement.c: And free the GStaticRecMutex too Original commit message from CVS: * gst/gstelement.c: (gst_element_finalize): And free the GStaticRecMutex too 2005-10-10 14:33:38 +0000 Thomas Vander Stichele * win32/GStreamer.vcproj: * win32/vs7/GStreamer.vcproj: don't echo path Original commit message from CVS: don't echo path 2005-10-10 14:33:13 +0000 Andy Wingo gst/gstelement.c (gst_element_init, gst_element_finalize): Allocate and free the mutex properly. Original commit message from CVS: 2005-10-10 Andy Wingo * gst/gstelement.c (gst_element_init, gst_element_finalize): Allocate and free the mutex properly. * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL): New macros. (GstElement): The state_lock is now recursive. Rebuild your plugins, suckers. Old macros adapted. 2005-10-10 14:23:57 +0000 Andy Wingo * ChangeLog: changelog Original commit message from CVS: changelog 2005-10-10 14:23:26 +0000 Andy Wingo docs/gst/gstreamer-sections.txt: Doc updates. Original commit message from CVS: 2005-10-10 Andy Wingo * docs/gst/gstreamer-sections.txt: Doc updates. * gst/gstutils.h: * gst/gstutils.c (g_static_rec_cond_timed_wait) (g_static_rec_cond_wait): Ported from state changes patch, while we wait on bug #317802 to be solved in a well-distributed GLib. 2005-10-10 14:15:15 +0000 Thomas Vander Stichele * win32/MANIFEST: * win32/libgstbase.def: * win32/libgstbase.vcproj: * win32/link_oldruntime.c: * win32/vs7/libgstbase.def: * win32/vs7/libgstbase.vcproj: * win32/vs7/link_oldruntime.c: add more win32 build files Original commit message from CVS: add more win32 build files 2005-10-10 14:03:25 +0000 Andy Wingo gst/gstelement.c (gst_element_change_state_func): Renamed from gst_element_change_state, variable name changes. Original commit message from CVS: 2005-10-10 Andy Wingo * gst/gstelement.c (gst_element_change_state_func): Renamed from gst_element_change_state, variable name changes. (gst_element_change_state): Split out of gst_element_set_state in preparation for the state change merge. Doesn't pay attention to the 'transition' argument. (gst_element_set_state): Updates, hopefully purely cosmetic. (gst_element_sync_state_with_parent): MT-safety. Ported from the state change patch. (gst_element_get_state_func): Renamed from get_state, cosmetic changes. 2005-10-10 13:52:18 +0000 Sebastien Moutte updates for the win32 build (patch from Sebastien Moutte) Original commit message from CVS: * gst/elements/gstelements.c: * win32/GStreamer.vcproj: * win32/config.h: * win32/dirent.c: (_tseekdir): * win32/gst-inspect.vcproj: * win32/gst-launch.vcproj: * win32/gstconfig.h: * win32/gstelements.vcproj: * win32/gstenumtypes.c: (gst_object_flags_get_type): * win32/gstreamer.def: * win32/msvc71.sln: updates for the win32 build (patch from Sebastien Moutte) 2005-10-10 11:52:58 +0000 Andy Wingo gst/gstbin.c (gst_bin_get_state_func): Renamed from gst_bin_get_state, cleaned up (but no logic changes). Original commit message from CVS: 2005-10-10 Andy Wingo * gst/gstbin.c (gst_bin_get_state_func): Renamed from gst_bin_get_state, cleaned up (but no logic changes). (bin_element_is_sink): Comment updates. (sink_iterator_filter): Remove needless cast. (gst_bin_iterate_sinks): Doc update. (gst_bin_change_state_func): Renamed from gst_bin_change_state, cleaned up (but no logic changes). 2005-10-10 11:04:55 +0000 Andy Wingo check/states/sinks.c (test_src_sink): Cleanups from the state change patch. Original commit message from CVS: 2005-10-10 Andy Wingo * check/states/sinks.c (test_src_sink): Cleanups from the state change patch. (test_livesrc_sink): Sync on the state. 2005-10-10 10:59:33 +0000 Andy Wingo check/pipelines/simple_launch_lines.c (run_pipeline): Merge from the state change patch. Original commit message from CVS: 2005-10-10 Andy Wingo * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from the state change patch. 2005-10-10 10:57:40 +0000 Andy Wingo check/gst/gstghostpad.c (test_ghost_pads): Merge from the state change patch. Original commit message from CVS: 2005-10-10 Andy Wingo * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state change patch. 2005-10-10 10:50:12 +0000 Andy Wingo check/gst/gstbin.c: Merge in some style fixes and additional checks from Wim's state change patch. Original commit message from CVS: 2005-10-10 Andy Wingo * check/gst/gstbin.c: Merge in some style fixes and additional checks from Wim's state change patch. 2005-10-10 10:43:15 +0000 Tim-Philipp Müller gst/base/gsttypefindhelper.c: Check whether we have the requested data already in our list of cached buffers before p... Original commit message from CVS: * gst/base/gsttypefindhelper.c: (helper_find_peek), (gst_type_find_helper): Check whether we have the requested data already in our list of cached buffers before pulling a new buffer; also make the buffer list a GSList. Speeds up typefinding by ca. 5-10% altogether. 2005-10-10 09:48:21 +0000 Thomas Vander Stichele gst/: doc updates Original commit message from CVS: * gst/gstcaps.c: * gst/gstevent.c: doc updates * gst/gstvalue.c: (gst_value_deserialize_int_helper): don't use long long, it's not portable. Replacing with gint64 seems to work; let's hope no skeletons fall out of the closet. 2005-10-10 08:51:59 +0000 Andy Wingo autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay Original commit message from CVS: 2005-10-10 Andy Wingo * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay 2005-10-09 20:49:46 +0000 Stefan Kost more docs, fix compilation Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstevent.c: * gst/gstevent.h: * gst/gstinfo.c: * gst/gstinfo.h: * gst/gstmessage.c: (gst_message_parse_state_changed): * gst/gstpad.c: * gst/gstpad.h: more docs, fix compilation 2005-10-09 20:19:48 +0000 Philippe Kalaf gst/gstmessage.c: Fixed a few forgotten variables on previous commit Original commit message from CVS: 2005-10-09 Philippe Khalaf * gst/gstmessage.c: Fixed a few forgotten variables on previous commit 2005-10-09 17:59:08 +0000 Tim-Philipp Müller gst/base/gsttypefindhelper.c: Fix evil typefind crasher: getrange() might return a short buffer at the end of a file,... Original commit message from CVS: * gst/base/gsttypefindhelper.c: (helper_find_peek): Fix evil typefind crasher: getrange() might return a short buffer at the end of a file, but gst_type_find_peek() must either return the full data as requested or NULL, but never a short buffer. 2005-10-09 17:53:33 +0000 Thomas Vander Stichele gst/gstmessage.*: don't use new, it's a C++ keyword Original commit message from CVS: * gst/gstmessage.c: (gst_message_new_state_changed), (gst_message_parse_state_changed): * gst/gstmessage.h: don't use new, it's a C++ keyword 2005-10-09 17:22:33 +0000 Thomas Vander Stichele * docs/gst/gstreamer-sections.txt: once is enough Original commit message from CVS: once is enough 2005-10-08 18:21:20 +0000 Wim Taymans gst/: Small docs and debug updates. Original commit message from CVS: * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query): * gst/gstelement.c: (gst_element_post_message): * gst/gstpipeline.c: (gst_pipeline_change_state): Small docs and debug updates. 2005-10-08 18:07:20 +0000 Stefan Kost more docs Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstelementfactory.c: * gst/gstevent.c: * gst/gsttaglist.c: more docs 2005-10-08 18:01:04 +0000 Wim Taymans gst/gstbin.c: Fix typos, add comments. Original commit message from CVS: * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler): Fix typos, add comments. Clear EOS list when going to PAUSED from any direction and do it in a threadsafe way. Get base time in a threadsafe way too. Fix confusing debug in the change_state function. Various other mall cleanups. * gst/gstelement.c: (gst_element_post_message): Fix very verbose bus posting code. * gst/gstpipeline.c: (gst_pipeline_class_init), (gst_pipeline_set_property), (gst_pipeline_get_property), (gst_pipeline_change_state): Small ARG_ -> PROP_ cleanup 2005-10-08 17:30:29 +0000 Wim Taymans gst/gstbin.c: Do a less CPU demanding EOS check because we can. Original commit message from CVS: * gst/gstbin.c: (is_eos), (bin_bus_handler): Do a less CPU demanding EOS check because we can. 2005-10-08 17:17:25 +0000 Wim Taymans libs/gst/dataprotocol/: It's about time we bump the version number. Original commit message from CVS: * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_header_from_buffer), (gst_dp_packet_from_caps), (gst_dp_packet_from_event): * libs/gst/dataprotocol/dataprotocol.h: * libs/gst/dataprotocol/dp-private.h: It's about time we bump the version number. Since event types don't fit in the guint8 anymore describing the payload type, make payload type 16 bits wide. 2005-10-08 16:49:15 +0000 Wim Taymans docs/design/: Many doc updates. Original commit message from CVS: * docs/design/part-TODO.txt: * docs/design/part-clocks.txt: * docs/design/part-events.txt: * docs/design/part-gstbin.txt: * docs/design/part-gstelement.txt: * docs/design/part-gstpipeline.txt: * docs/design/part-live-source.txt: * docs/design/part-messages.txt: * docs/design/part-overview.txt: * docs/design/part-states.txt: Many doc updates. 2005-10-08 16:13:50 +0000 Wim Taymans gst/gstevent.*: Fix event quark registration. Original commit message from CVS: * gst/gstevent.c: * gst/gstevent.h: Fix event quark registration. Add some space between events so we can insert them in the right groups. 2005-10-08 14:57:09 +0000 Wim Taymans gst/base/gstbasesink.c: Better log message. Original commit message from CVS: * gst/base/gstbasesink.c: (gst_base_sink_handle_object), (gst_base_sink_handle_buffer): Better log message. * gst/gstbus.h: * gst/gstelement.h: More docs. * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init), (gst_queue_set_property), (gst_queue_get_property): * gst/gstqueue.h: Remove old unused properties. 2005-10-08 14:48:17 +0000 Stefan Kost lots of new docs and doc fixes Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstmessage.c: * gst/gstmessage.h: * gst/gstminiobject.c: * gst/gstminiobject.h: * gst/gstobject.h: * gst/gstpad.h: * gst/gstutils.h: lots of new docs and doc fixes 2005-10-08 14:41:56 +0000 Thomas Vander Stichele * gst/gstregistry.c: fix a leak I introduced Original commit message from CVS: fix a leak I introduced 2005-10-08 13:57:17 +0000 Thomas Vander Stichele gst/: Only ever load one plugin for a given plugin basename. Original commit message from CVS: * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file): * gst/gstplugin.h: * gst/gstregistry.c: (gst_registry_lookup_locked), (gst_registry_scan_path_level): * gst/gstregistryxml.c: (load_plugin): Only ever load one plugin for a given plugin basename. This ensures correct overriding of GST_PLUGIN_PATH over GST_PLUGIN_SYSTEM_PATH and of home dir plugins over system installed plugins. 2005-10-08 13:39:02 +0000 Wim Taymans gst/base/gstbasesink.c: Prepare for doing QOS. Original commit message from CVS: * gst/base/gstbasesink.c: (gst_base_sink_handle_object), (gst_base_sink_do_sync), (gst_base_sink_handle_buffer): Prepare for doing QOS. 2005-10-08 13:10:34 +0000 Wim Taymans check/: Allow new clock message too. Original commit message from CVS: * check/gst/gstbin.c: (GST_START_TEST): * check/pipelines/cleanup.c: (GST_START_TEST): * check/pipelines/simple_launch_lines.c: (GST_START_TEST): Allow new clock message too. 2005-10-08 12:56:37 +0000 Wim Taymans gst/gstmessage.*: Also carry the clock in question. Original commit message from CVS: * gst/gstmessage.c: (gst_message_new_error), (gst_message_new_warning), (gst_message_new_tag), (gst_message_new_state_changed), (gst_message_new_clock_provide), (gst_message_new_clock_lost), (gst_message_new_new_clock), (gst_message_new_segment_start), (gst_message_new_segment_done), (gst_message_parse_state_changed), (gst_message_parse_clock_provide), (gst_message_parse_clock_lost), (gst_message_parse_new_clock): * gst/gstmessage.h: Also carry the clock in question. 2005-10-08 12:36:36 +0000 Wim Taymans gst/gstmessage.*: Clean up. Original commit message from CVS: * gst/gstmessage.c: (gst_message_new_custom), (gst_message_new_eos), (gst_message_new_error), (gst_message_new_warning), (gst_message_new_tag), (gst_message_new_state_changed), (gst_message_new_clock_provide), (gst_message_new_new_clock), (gst_message_new_segment_start), (gst_message_new_segment_done), (gst_message_parse_state_changed), (gst_message_parse_clock_provide), (gst_message_parse_new_clock): * gst/gstmessage.h: Clean up. Added clock related messages. * gst/gstpipeline.c: (gst_pipeline_change_state): Post message when the clock changed. * tools/gst-launch.c: (event_loop): Print new clock. 2005-10-08 11:16:03 +0000 Tim-Philipp Müller tools/gst-inspect.c: Can't pass NULL strings to g_print() on windows. Original commit message from CVS: * tools/gst-inspect.c: (print_element_properties_info): Can't pass NULL strings to g_print() on windows. 2005-10-08 11:12:26 +0000 Thomas Vander Stichele docs/: add a chapter on running GStreamer. Original commit message from CVS: * docs/Makefile.am: * docs/gst/Makefile.am: * docs/gst/gstreamer-docs.sgml: * docs/gst/running.xml: * docs/version.entities.in: add a chapter on running GStreamer. document GST_DEBUG and GST_PLUGIN* env vars 2005-10-08 11:10:17 +0000 Thomas Vander Stichele Makefile.am: remove include dir Original commit message from CVS: * Makefile.am: remove include dir * configure.ac: remove PLUGINS_BUILDDIR stuff * gst/gst.c: (init_post): reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH * idiottest.mak: remove, it was condescending and not needed 2005-10-08 09:58:30 +0000 Wim Taymans gst/base/gstbasesink.*: Repost EOS message while going to PLAYING if still EOS. Original commit message from CVS: * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object), (gst_base_sink_event), (gst_base_sink_wait), (gst_base_sink_handle_event), (gst_base_sink_change_state): * gst/base/gstbasesink.h: Repost EOS message while going to PLAYING if still EOS. Make sure that when receiving a FLUSH_START we don't attempt to sync on the clock anymore. 2005-10-08 09:38:19 +0000 Wim Taymans tools/gst-launch.c: Better message printout. Original commit message from CVS: * tools/gst-launch.c: (event_loop): Better message printout. 2005-10-08 09:24:25 +0000 Wim Taymans gst/: Make ChildProxy threadsafe and fix mem leaks. Original commit message from CVS: * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index), (gst_bin_child_proxy_get_children_count): * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name), (gst_child_proxy_lookup), (gst_child_proxy_get_property), (gst_child_proxy_get_valist), (gst_child_proxy_set_property), (gst_child_proxy_set_valist): * gst/parse/grammar.y: Make ChildProxy threadsafe and fix mem leaks. 2005-10-08 09:09:55 +0000 Thomas Vander Stichele gst/gst.c: debug the GST_PLUGIN_ env vars Original commit message from CVS: * gst/gst.c: (init_post): debug the GST_PLUGIN_ env vars 2005-10-08 08:58:45 +0000 Wim Taymans Added extra field to STATE_CHANGE message with the pending state, which will be different from the new state soon. Original commit message from CVS: * check/gst/gstbin.c: (GST_START_TEST): * check/gst/gstmessage.c: (GST_START_TEST): * check/gst/gstpipeline.c: (GST_START_TEST), (message_received): * gst/gstelement.c: (gst_element_commit_state), (gst_element_lost_state): * gst/gstmessage.c: (gst_message_new_state_changed), (gst_message_parse_state_changed): * gst/gstmessage.h: * tools/gst-launch.c: (event_loop): Added extra field to STATE_CHANGE message with the pending state, which will be different from the new state soon. 2005-10-08 08:00:37 +0000 Wim Taymans gst/: Small cleanups and doc updates. Original commit message from CVS: * gst/gstbus.c: (gst_bus_pop): * gst/gstclock.c: * gst/gstsystemclock.c: (gst_system_clock_async_thread): Small cleanups and doc updates. 2005-10-08 06:49:09 +0000 Thomas Vander Stichele gst/: log distributing clocks and base time Original commit message from CVS: * gst/gst.c: (init_pre): * gst/gstbin.c: (gst_bin_add_func): log distributing clocks and base time * gst/gstregistry.c: (gst_registry_add_plugin), (gst_registry_scan_path_level), (gst_registry_scan_path): clean up the debugging output a little * gst/gstutils.c: (gst_element_state_get_name): warn about a memleak (I've actually seen this be used, though it was probably a bug) 2005-10-08 06:42:30 +0000 Thomas Vander Stichele * docs/gst/gstreamer-sections.txt: add two new functions Original commit message from CVS: add two new functions 2005-10-07 18:17:23 +0000 Wim Taymans gst/base/gstbasesrc.*: Make the newsegment event customizable by subclasses. Original commit message from CVS: * gst/base/gstbasesrc.c: (gst_base_src_class_init), (gst_base_src_init), (gst_base_src_default_newsegment), (gst_base_src_newsegment), (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start): * gst/base/gstbasesrc.h: Make the newsegment event customizable by subclasses. 2005-10-07 18:02:14 +0000 Wim Taymans gst/gstevent.*: New event for future idea. Original commit message from CVS: * gst/gstevent.c: (gst_event_new_buffersize), (gst_event_parse_buffersize): * gst/gstevent.h: New event for future idea. 2005-10-07 16:28:56 +0000 Andy Wingo gst/gstelement.c (gst_element_post_message): Doc update. Original commit message from CVS: 2005-10-07 Andy Wingo * gst/gstelement.c (gst_element_post_message): Doc update. 2005-10-07 16:13:51 +0000 Andy Wingo docs/gst/gstreamer-sections.txt: Update. Original commit message from CVS: 2005-10-07 Andy Wingo * docs/gst/gstreamer-sections.txt: Update. * gst/gstmessage.c (gst_message_new_application): Made into a function like honest API calls. (gst_message_new_element): New message type. * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type. 2005-10-07 15:25:49 +0000 Thomas Vander Stichele * gst/elements/gstelements.c: * plugins/elements/gstelements.c: fdsrc does not build currently on win32 due to socketpair Original commit message from CVS: fdsrc does not build currently on win32 due to socketpair 2005-10-07 15:22:38 +0000 Andy Wingo check/elements/fakesrc.c (test_no_preroll): New check, checks that setting a live fakesrc to PAUSED returns NO_PREROL... Original commit message from CVS: 2005-10-07 Andy Wingo * check/elements/fakesrc.c (test_no_preroll): New check, checks that setting a live fakesrc to PAUSED returns NO_PREROLL both times. * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a NO_PREROLL from gst_element_change_state to fall through. 2005-10-07 15:13:25 +0000 Thomas Vander Stichele * tools/gst-launch.c: don't use if not declared Original commit message from CVS: don't use if not declared 2005-10-07 12:52:15 +0000 Wim Taymans gst/gstghostpad.c: Activating a ghostpad with no internal pad in push mode is ok. Original commit message from CVS: * gst/gstghostpad.c: (gst_ghost_pad_get_internal), (gst_ghost_pad_do_activate_push): Activating a ghostpad with no internal pad in push mode is ok. 2005-10-07 12:45:49 +0000 Thomas Vander Stichele gst/gstobject.h: there's no point in wrapping FLAG_SET/_UNSET in STMT macros. Original commit message from CVS: * gst/gstobject.h: there's no point in wrapping FLAG_SET/_UNSET in STMT macros. Fixes compilation on Windows. 2005-10-07 10:32:24 +0000 Michael Smith * ChangeLog: * common: * tools/gst-inspect.c: Print out feature and plugin count at the end when printing out all features. Original commit message from CVS: Print out feature and plugin count at the end when printing out all features. Also add a changelog entry which I'd written but not committed? 2005-10-07 00:14:45 +0000 Johan Dahlin Add a GType to GstIterator, update callsites and tests. Original commit message from CVS: * check/gst/gstiterator.c: (GST_START_TEST): * gst/gstbin.c: (gst_bin_iterate_elements), (gst_bin_iterate_recurse), (gst_bin_iterate_sorted): * gst/gstelement.c: (gst_element_iterate_pads): * gst/gstformat.c: (gst_format_iterate_definitions): * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new), (gst_iterator_new_list), (gst_iterator_filter): * gst/gstiterator.h: * gst/gstquery.c: (gst_query_type_iterate_definitions): Add a GType to GstIterator, update callsites and tests. 2005-10-06 21:09:11 +0000 Thomas Vander Stichele * docs/faq/gst-uninstalled: doh. use correct variable Original commit message from CVS: doh. use correct variable 2005-10-06 17:00:50 +0000 Christian Schaller * gstreamer.spec.in: version gstreamer-tools package Original commit message from CVS: version gstreamer-tools package 2005-10-06 14:20:15 +0000 Thomas Vander Stichele * gst/gstevent.c: initialize quarks Original commit message from CVS: initialize quarks 2005-10-06 14:01:44 +0000 Thomas Vander Stichele gst/gstpad.c: give events a chance to be handled by event probes when the pad is not linked Original commit message from CVS: * gst/gstpad.c: (gst_pad_event_default_dispatch): give events a chance to be handled by event probes when the pad is not linked 2005-10-06 13:55:43 +0000 Thomas Vander Stichele gst/gstevent.*: add string representations for event types Original commit message from CVS: * gst/gstevent.c: (gst_event_type_get_name), (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new): * gst/gstevent.h: add string representations for event types 2005-10-06 13:42:56 +0000 Thomas Vander Stichele * gst/gstevent.h: whitespace fixes Original commit message from CVS: whitespace fixes 2005-10-06 13:24:28 +0000 Wim Taymans gst/elements/gstfilesink.c: Don't use NULL pointers. Original commit message from CVS: * gst/elements/gstfilesink.c: (gst_file_sink_close_file): Don't use NULL pointers. 2005-10-06 09:49:42 +0000 Thomas Vander Stichele gst/: widen the debug category in output to fit the biggest one we have add a bus category and use it play with the c... Original commit message from CVS: * gst/gst_private.h: * gst/gstbus.c: * gst/gstelement.c: * gst/gstinfo.c: * gst/gstpluginfeature.c: widen the debug category in output to fit the biggest one we have add a bus category and use it play with the colors fix up some categories 2005-10-06 07:42:41 +0000 Thomas Vander Stichele * docs/gst/gstreamer-sections.txt: first stab at reorganizing docs for pad Original commit message from CVS: first stab at reorganizing docs for pad 2005-10-06 07:13:01 +0000 Thomas Vander Stichele gst/gstghostpad.c: add push activation of sink ghost pads. Original commit message from CVS: 2005-10-06 Thomas Vander Stichele * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push): add push activation of sink ghost pads. Andye, please verify 2005-10-05 22:35:14 +0000 Thomas Vander Stichele * gst/gstelement.c: * gst/gstelement.h: * gst/gstpad.c: doc updates Original commit message from CVS: doc updates 2005-10-05 21:34:42 +0000 Thomas Vander Stichele gst/gstutils.c: fix a bug in the case where neither element has a pad Original commit message from CVS: * gst/gstutils.c: (gst_element_link_pads): fix a bug in the case where neither element has a pad * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite): add a test for that case 2005-10-05 17:01:44 +0000 Thomas Vander Stichele * check/gst/gstpad.c: * tests/check/gst/gstpad.c: unref our test buffers Original commit message from CVS: unref our test buffers 2005-10-05 16:16:58 +0000 Thomas Vander Stichele gst/gstpad.c: emit have-data before checking for peers. This allows for probe handlers to connect elements. This he... Original commit message from CVS: * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event): emit have-data before checking for peers. This allows for probe handlers to connect elements. This helps autopluggers. * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler), (gst_pad_suite): add six checks, linked/unlinked with no/true/false probe 2005-10-05 11:50:49 +0000 Thomas Vander Stichele * gst/gstobject.c: indent ifdefs Original commit message from CVS: indent ifdefs 2005-10-04 18:46:09 +0000 Wim Taymans gst/elements/: Protect last_message with lock. Original commit message from CVS: * gst/elements/gstfakesink.c: (gst_fake_sink_get_property), (gst_fake_sink_event), (gst_fake_sink_preroll), (gst_fake_sink_render), (gst_fake_sink_change_state): * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler), (gst_fake_src_get_property), (gst_fake_src_create), (gst_fake_src_stop): * gst/elements/gstidentity.c: (gst_identity_stop): Protect last_message with lock. 2005-10-04 15:04:50 +0000 Edward Hervey gst/gstformat.h: Added precision in the comments for GST_FORMAT_DEFAULT Original commit message from CVS: * gst/gstformat.h: Added precision in the comments for GST_FORMAT_DEFAULT 2005-10-04 13:19:47 +0000 Thomas Vander Stichele * docs/faq/gst-uninstalled: update uninstalled script Original commit message from CVS: update uninstalled script 2005-10-04 12:02:34 +0000 Christian Schaller * gstreamer.spec.in: remove some files that are no longer there from spec file Original commit message from CVS: remove some files that are no longer there from spec file 2005-10-04 11:51:37 +0000 Tim-Philipp Müller tools/gst-launch.c: Don't try to run erroneous pipelines. Original commit message from CVS: * tools/gst-launch.c: (main): Don't try to run erroneous pipelines. 2005-10-04 11:10:04 +0000 Michael Smith gst/gsterror.c: Add another error string used in a few existing plugins. Original commit message from CVS: * gst/gsterror.c: (_gst_stream_errors_init): Add another error string used in a few existing plugins. * gst/gstplugin.c: * gst/gstpluginfeature.c: (gst_plugin_feature_load): * tools/gst-inspect.c: (print_element_info): When a feature disappears from a plugin (and the feature exists in the cached registry file), things went horribly wrong. This isn't a complete fix, we should actually be removing the 'missing' features from the features list when we load the actual plugin. That's not yet implemented. 2005-10-04 11:09:41 +0000 Julien Moutte gst/gstbus.c: We don't need this header. Original commit message from CVS: 2005-10-04 Julien MOUTTE * gst/gstbus.c: We don't need this header. 2005-10-03 17:57:32 +0000 Thomas Vander Stichele * ChangeLog: * configure.ac: back to head Original commit message from CVS: back to head === release 0.9.3 === 2005-10-03 17:47:21 +0000 Thomas Vander Stichele * ChangeLog: * NEWS: * README: * configure.ac: * po/af.po: * po/az.po: * po/ca.po: * po/cs.po: * po/de.po: * po/en_GB.po: * po/fr.po: * po/it.po: * po/nb.po: * po/nl.po: * po/ru.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: release time Original commit message from CVS: release time 2005-10-02 23:24:25 +0000 Andy Wingo gst/gstpad.c (gst_pad_activate_push): There is a race condition whereby calling a pad's activatepush() function can s... Original commit message from CVS: 2005-10-03 Andy Wingo * gst/gstpad.c (gst_pad_activate_push): There is a race condition whereby calling a pad's activatepush() function can start a thread that starts to push or pull before the pad gets the FLUSHING flag unset. Hack around it by holding the stream lock until the flag is set. Need to replace this with a proper solution. Together with the ghost pad fixes, this fixes mp3 playing/tagreading. 2005-10-02 23:21:04 +0000 Andy Wingo * ChangeLog: changelog Original commit message from CVS: changelog 2005-10-02 23:20:26 +0000 Andy Wingo docs/design/part-gstghostpad.txt: Add a note about activation of proxy pads outside of ghost pads. Original commit message from CVS: 2005-10-03 Andy Wingo * docs/design/part-gstghostpad.txt: Add a note about activation of proxy pads outside of ghost pads. * gst/gstghostpad.c: Implement the ghost pad activation design. 2005-10-02 18:57:07 +0000 Andy Wingo gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int. Original commit message from CVS: 2005-10-02 Andy Wingo * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int. It is volatile, after all. * docs/design/part-gstghostpad.txt: Flesh out activation with ghost pads. * gst/base/gstbasesrc.c (gst_base_src_init): Use GST_DEBUG_FUNCPTR. 2005-10-02 18:30:27 +0000 Tim-Philipp Müller configure.ac: Fix (unused) AM_CONDITIONAL tests. Original commit message from CVS: * configure.ac: Fix (unused) AM_CONDITIONAL tests. 2005-10-01 17:11:07 +0000 Tim-Philipp Müller gst/gstutils.c: Add assertion that makes sure src_val is >=0, just like gst_query_new_convert() has. (#315895) Original commit message from CVS: Reviewed by: Tim-Philipp Müller * gst/gstutils.c: (gst_pad_query_convert): Add assertion that makes sure src_val is >=0, just like gst_query_new_convert() has. (#315895) 2005-09-30 15:43:03 +0000 Edward Hervey gst/elements/gsttee.c: Let's not iterate pads we're not interested in, it avoids getting sky-high refcounts on sinkpad. Original commit message from CVS: * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer): Let's not iterate pads we're not interested in, it avoids getting sky-high refcounts on sinkpad. 2005-09-30 08:29:02 +0000 Wim Taymans gst/gstelement.c: Small tweak, element in ASYNC remains ASYNC. Original commit message from CVS: * gst/gstelement.c: (gst_element_set_state), (gst_element_change_state): Small tweak, element in ASYNC remains ASYNC. 2005-09-30 08:00:12 +0000 Wim Taymans gst/base/gstbasesink.c: Only error is an error. Original commit message from CVS: * gst/base/gstbasesink.c: (gst_base_sink_change_state): Only error is an error. * gst/gstbin.c: (gst_bin_change_state): Better debugging. * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain): Also call pad_block in pad alloc. * gst/gstutils.c: (gst_flow_get_name): Better debugging. 2005-09-29 20:26:12 +0000 Tim-Philipp Müller gst/base/gstbasesrc.c: Fix documentation typos. Add some more debug info. Original commit message from CVS: * gst/base/gstbasesrc.c: (gst_base_src_class_init), (gst_base_src_get_range): Fix documentation typos. Add some more debug info. 2005-09-29 20:16:42 +0000 Thomas Vander Stichele * check/gst/gstpipeline.c: * tests/check/gst/gstpipeline.c: disable refcount checks until we track the dangling ref Original commit message from CVS: disable refcount checks until we track the dangling ref 2005-09-29 19:45:27 +0000 David Schleef gst/gstplugin.c: Make some error messages more end-user friendly. Original commit message from CVS: * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages more end-user friendly. * tools/gst-inspect.c: (main): Check if command-line argument is a file and attempt to load that file as a plugin. 2005-09-29 18:37:48 +0000 Thomas Vander Stichele check/: fix tests for the new warning Original commit message from CVS: * check/gst/gstbin.c: * check/states/sinks.c: fix tests for the new warning * check/gst/gstpipeline.c: add a test for pipeline and bus interaction * gst/gstelement.c: elements should be NULL if they get disposed; add a warning if not 2005-09-29 18:35:38 +0000 Thomas Vander Stichele gst/gstobject.c: for 2.6 refcounting, make debug log more correct by printing the actual refcounts at the time of swa... Original commit message from CVS: * gst/gstobject.c: for 2.6 refcounting, make debug log more correct by printing the actual refcounts at the time of swap (Wim) 2005-09-29 18:25:50 +0000 Thomas Vander Stichele * common: * gst/gstbin.c: * gst/gstbus.c: * gst/gstmessage.c: use message type names Original commit message from CVS: use message type names 2005-09-29 16:06:18 +0000 Andy Wingo * ChangeLog: changelog Original commit message from CVS: changelog 2005-09-29 16:04:31 +0000 Andy Wingo gst/gstbus.c (gst_bus_remove_signal_watch): New function, removes signal watches previously added via gst_bus_add_sig... Original commit message from CVS: 2005-09-29 Andy Wingo * gst/gstbus.c (gst_bus_remove_signal_watch): New function, removes signal watches previously added via gst_bus_add_signal_watch. (gst_bus_add_signal_watch): Don't return the source id, just store it on the bus if there wasn't an id already. * gst/gstbus.h (GstBus): Add a couple new fields. API changes for add_signal_watch and remove_signal_watch. 2005-09-29 15:39:22 +0000 Edward Hervey libs/gst/controller/gstcontroller.c: Better if we actually iterate the list :) Original commit message from CVS: * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): Better if we actually iterate the list :) 2005-09-29 13:07:37 +0000 Wim Taymans check/gst/gstbin.c: Change for new bus API. Original commit message from CVS: * check/gst/gstbin.c: (GST_START_TEST): Change for new bus API. * check/gst/gstbus.c: (message_func_eos), (message_func_app), (send_messages), (GST_START_TEST), (gstbus_suite): Change for new bus signal API. * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending), (gst_bus_source_prepare), (gst_bus_source_check), (gst_bus_create_watch), (gst_bus_add_watch_full), (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func), (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch): * gst/gstbus.h: Remove support for multiple GSources operating on different message types as it is too complex and unneeded when using signals. Added support for receiving signals from the bus. 2005-09-29 12:37:38 +0000 Thomas Vander Stichele rename filter-caps to caps property Original commit message from CVS: * docs/libs/tmpl/gstdataprotocol.sgml: * docs/manual/advanced-dataaccess.xml: * gst/elements/gstcapsfilter.c: * gst/gstutils.c: rename filter-caps to caps property 2005-09-29 12:05:51 +0000 Tim-Philipp Müller gst/gstvalue.c: More robust fraction string parsing. Original commit message from CVS: * gst/gstvalue.c: (gst_value_deserialize_fraction): More robust fraction string parsing. * docs/pwg/appendix-porting.xml: Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps() 2005-09-29 10:56:57 +0000 Tim-Philipp Müller gst/gstcaps.c: Thou shalt not free a structure and then continue using it in the next loop iteration. Original commit message from CVS: * gst/gstcaps.c: (gst_caps_do_simplify): Thou shalt not free a structure and then continue using it in the next loop iteration. * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify), (gst_caps_suite): Add test case for caps simplification. 2005-09-29 09:44:35 +0000 Thomas Vander Stichele * docs/gst/gstreamer-sections.txt: remove two removed functions Original commit message from CVS: remove two removed functions 2005-09-29 09:42:15 +0000 Wim Taymans check/gst/gstbin.c: Oops. Original commit message from CVS: * check/gst/gstbin.c: (GST_START_TEST): Oops. 2005-09-29 09:39:36 +0000 Wim Taymans check/gst/gstbin.c: Add bus to bin. Original commit message from CVS: * check/gst/gstbin.c: (GST_START_TEST): Add bus to bin. * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (add_to_queue), (clear_queue), (reset_degree), (update_degree), (find_element), (gst_bin_sort_iterator_next), (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free), (gst_bin_iterate_sorted), (gst_bin_element_set_state), (gst_bin_change_state), (gst_bin_dispose): A bin does not have a bus, it gets the bus from the parent. * gst/gstelement.c: (gst_element_requires_clock), (gst_element_provides_clock), (gst_element_is_indexable), (gst_element_is_locked_state), (gst_element_change_state), (gst_element_set_bus_func): Small cleanups. * gst/gstpipeline.c: (gst_pipeline_class_init), (gst_pipeline_init), (gst_pipeline_provide_clock_func): The pipeline provides a bus. 2005-09-29 02:32:37 +0000 Johan Dahlin gst/gstmessage.c (gst_message_parse_state_changed): Use gst_structure_get_enum instead of gst_structure_get_int Original commit message from CVS: * gst/gstmessage.c (gst_message_parse_state_changed): Use gst_structure_get_enum instead of gst_structure_get_int * gst/gststructure.c (gst_structure_get_enum): Impl. * gst/gststructure.h (gst_structure_get_enum): Add * docs/gst/gstreamer-sections.txt: Ditto 2005-09-29 01:57:00 +0000 Johan Dahlin gst/gstmessage.c (gst_message_new_state_changed): Use Original commit message from CVS: * gst/gstmessage.c (gst_message_new_state_changed): Use GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings which does introspection. Reviewed by Christian Schaller 2005-09-28 18:14:13 +0000 Stefan Kost * ChangeLog: fixed umlauts in ChangeLog again Original commit message from CVS: fixed umlauts in ChangeLog again 2005-09-28 17:30:13 +0000 Stefan Kost gst/gstinfo.c: don't do dummy g_strdup()s Original commit message from CVS: * gst/gstinfo.c: (gst_debug_log_default): don't do dummy g_strdup()s * libs/gst/controller/gstcontroller.c: (on_object_controlled_property_changed), (gst_controlled_property_new), (gst_controller_new_valist), (gst_controller_new_list), (gst_controller_remove_properties_valist), (gst_controller_set), (gst_controller_get), (gst_controller_sync_values), (gst_controller_get_value_array), (_gst_controller_class_init), (gst_controller_get_type): * libs/gst/controller/gstcontroller.h: * libs/gst/controller/gstinterpolation.c: (gst_controlled_property_find_timed_value_node): convert // to /**/ comments 2005-09-28 16:43:20 +0000 Wim Taymans gst/gstbus.*: Added async-message and sync-message signals to the bus. Original commit message from CVS: * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init), (gst_bus_post), (poll_func), (gst_bus_async_signal_func), (gst_bus_sync_signal_handler): * gst/gstbus.h: Added async-message and sync-message signals to the bus. Added helper BusFunc to emit signals for all posted messages. * gst/gstmessage.c: (gst_message_type_get_name), (gst_message_type_to_quark), (gst_message_get_type): * gst/gstmessage.h: Register quarks for message names. 2005-09-28 16:39:29 +0000 Stefan Kost added another constructor for language bindings Original commit message from CVS: * docs/libs/gstreamer-libs-sections.txt: * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist), (gst_controller_new_list): * libs/gst/controller/gstcontroller.h: added another constructor for language bindings 2005-09-28 15:45:21 +0000 Thomas Vander Stichele check/gst/gstpipeline.c: add another check Original commit message from CVS: * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite): add another check * gst/gstbus.c: add some doc * gst/gstinfo.c: (_gst_debug_init): slightly more readable color for refcount debugging 2005-09-28 13:41:27 +0000 Wim Taymans gst/gstbin.c: Small doc fixes. get_clock -> provide_clock. Original commit message from CVS: * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func), (add_to_queue), (clear_queue), (reset_degree), (update_degree), (find_element), (gst_bin_sort_iterator_next), (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free), (gst_bin_iterate_sorted), (gst_bin_element_set_state), (gst_bin_change_state), (gst_bin_dispose): Small doc fixes. get_clock -> provide_clock. * gst/gstelement.c: (gst_element_class_init), (gst_element_provides_clock), (gst_element_provide_clock), (gst_element_get_clock), (gst_element_commit_state), (gst_element_lost_state): * gst/gstelement.h: Make get/set_clock() symetric. Add provide_clock vmethod since that is actually what this function does. * gst/gstpipeline.c: (gst_pipeline_class_init), (gst_pipeline_change_state), (gst_pipeline_provide_clock_func), (gst_pipeline_get_clock): get_clock -> provide_clock. 2005-09-28 13:05:12 +0000 Andy Wingo gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in lieu of real docs... Original commit message from CVS: 2005-09-28 Andy Wingo * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in lieu of real docs... * gst/elements/gstfdsrc.c: Cleaned up a bit. 2005-09-28 12:52:51 +0000 Tim-Philipp Müller gst/elements/: Make element details static. Original commit message from CVS: * gst/elements/gstcapsfilter.c: * gst/elements/gstfakesink.c: * gst/elements/gstfakesrc.c: * gst/elements/gstfdsink.c: * gst/elements/gstfdsrc.c: * gst/elements/gstfilesink.c: * gst/elements/gstfilesrc.c: * gst/elements/gstidentity.c: * gst/elements/gsttee.c: * gst/elements/gsttypefindelement.c: Make element details static. 2005-09-28 11:03:58 +0000 Wim Taymans gst/gstbin.c: Some documentation updates. Original commit message from CVS: * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree), (update_outdegree), (find_element), (gst_bin_sort_iterator_next), (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free), (gst_bin_iterate_sorted), (gst_bin_element_set_state), (gst_bin_change_state), (gst_bin_dispose): Some documentation updates. Clean up dispose handlers. * gst/gstobject.c: (gst_object_ref), (gst_object_unref): * gst/gstpad.c: (gst_pad_dispose): Clean up dispose handler. * gst/gstpipeline.c: (gst_pipeline_change_state): Removed spurious UNLOCK. 2005-09-27 20:40:35 +0000 Stefan Kost added two new functions to the docs documents all undocumented GstXXXFlags completed some incomplete docs Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/base/gstbasesrc.h: * gst/gstelement.h: * gst/gstevent.h: * gst/gstobject.h: * gst/gstpad.h: * gst/gstpipeline.c: * gst/gstpipeline.h: * gst/gstutils.h: * gst/gstxml.h: added two new functions to the docs documents all undocumented GstXXXFlags completed some incomplete docs 2005-09-27 18:33:48 +0000 Thomas Vander Stichele gst/: remove now useless and leaky resurrection code in dispose Original commit message from CVS: * gst/gstbin.c: (gst_bin_dispose): * gst/gstelement.c: (gst_element_dispose): remove now useless and leaky resurrection code in dispose * gst/base/gstbasesrc.c: (gst_base_src_init): * gst/gstelementfactory.c: (gst_element_factory_create): * gst/gstobject.c: (gst_object_set_parent): add some debugging 2005-09-27 17:00:13 +0000 Wim Taymans docs/design/part-TODO.txt: Update TODO. Original commit message from CVS: * docs/design/part-TODO.txt: Update TODO. * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree), (update_outdegree), (find_element), (gst_bin_sort_iterator_next), (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free), (gst_bin_iterate_sorted), (gst_bin_element_set_state), (gst_bin_change_state): * gst/gstelement.h: Remove element variable, we keep element info in the iterator now. 2005-09-27 16:30:26 +0000 Andy Wingo libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return values. Original commit message from CVS: 2005-09-27 Andy Wingo * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return values. 2005-09-27 16:16:39 +0000 Wim Taymans check/gst/gstbin.c: Enable check that works now. Original commit message from CVS: * check/gst/gstbin.c: (GST_START_TEST): Enable check that works now. * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree), (update_outdegree), (find_element), (gst_bin_sort_iterator_next), (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free), (gst_bin_iterate_sorted), (gst_bin_element_set_state), (gst_bin_change_state): * gst/gstbin.h: Redid the state change algorithm using a topological sort algo. Handles all cases correctly. Exposed iterator for state change order. * gst/gstelement.h: Temp storage for state changes. Need to get rid of this soon. 2005-09-27 15:37:40 +0000 Wim Taymans gst/: Leak fixes, the fold functions need to unref the passed object and _get_parent_*() returns ref to parent. Original commit message from CVS: * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push): * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps), (link_fold_func), (gst_pad_proxy_setcaps): Leak fixes, the fold functions need to unref the passed object and _get_parent_*() returns ref to parent. 2005-09-27 13:25:18 +0000 Tim-Philipp Müller check/gst/gstbuffer.c: Plug leak in test case and fix 'make check-valgrind' Original commit message from CVS: * check/gst/gstbuffer.c: (test_make_writable): Plug leak in test case and fix 'make check-valgrind' 2005-09-27 13:07:14 +0000 Tim-Philipp Müller gst/gstbuffer.c: Set READONLY flag on subbuffers, so that gst_buffer_make_writable() works correctly in all circumsta... Original commit message from CVS: * gst/gstbuffer.c: (gst_subbuffer_init): Set READONLY flag on subbuffers, so that gst_buffer_make_writable() works correctly in all circumstances (we could have just copied the parent buffer's readonly flag, but conceptually it seems cleaner to mark all subbuffers as read-only). (based on patch by Alessandro Decina, #314710). * check/gst/gstbuffer.c: (create_read_only_buffer), (test_make_writable), (test_subbuffer_make_writable), (gst_test_suite): Add some tests for gst_buffer_make_writable(). 2005-09-27 09:57:20 +0000 Wim Taymans gst/gstbin.c: use gst_object_has_ancestor(). Original commit message from CVS: * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state): use gst_object_has_ancestor(). * gst/gstobject.c: (gst_object_has_ancestor): * gst/gstobject.h: gst_object_has_ancestor() copied from gstbin.c as it is a usefull function. * tests/instantiate/create.c: (create_all_elements): * tests/lat.c: (handoff_src), (handoff_sink): * tests/sched/runxml.c: (main): * tests/seeking/seeking1.c: (main): * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func), (main): Fix compilation of some tests. 2005-09-27 09:29:04 +0000 Tim-Philipp Müller gst/gsterror.h: Remove comment. GST_TYPE_G_ERROR is here to stay, Original commit message from CVS: * gst/gsterror.h: Remove comment. GST_TYPE_G_ERROR is here to stay, G_TYPE_ERROR has been WONTFIX'ed by the GLib folks (#316961, #300610). 2005-09-26 18:22:07 +0000 Wim Taymans check/gst/gstbin.c: Added check that shows error in state change order. Original commit message from CVS: * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite): Added check that shows error in state change order. 2005-09-26 17:46:27 +0000 Wim Taymans gst/gstbin.c: Make state change function use 3 queues again, we were adding elements in the wrong order. Original commit message from CVS: * gst/gstbin.c: (gst_bin_change_state): Make state change function use 3 queues again, we were adding elements in the wrong order. * gst/gstghostpad.c: (gst_ghost_pad_do_unlink): Some debug info, * gst/gstpad.c: (gst_pad_dispose): Added some debug info first. 2005-09-26 17:40:39 +0000 Tim-Philipp Müller docs/design/: Replace all _pull_region() with _pull_range() Original commit message from CVS: * docs/design/draft-push-pull.txt: * docs/design/part-events.txt: * docs/design/part-overview.txt: * docs/design/part-scheduling.txt: Replace all _pull_region() with _pull_range() 2005-09-26 16:19:27 +0000 Andy Wingo * gst/gstvalue.c: try the fourth Original commit message from CVS: try the fourth 2005-09-26 16:12:07 +0000 Andy Wingo * gst/gstvalue.c: foo Original commit message from CVS: foo 2005-09-26 16:07:54 +0000 Andy Wingo gst/gstvalue.c (_gst_value_initialize): Better fakeout. Original commit message from CVS: 2005-09-26 Andy Wingo * gst/gstvalue.c (_gst_value_initialize): Better fakeout. 2005-09-26 15:49:23 +0000 Andy Wingo check/gst-libs/controller.c: Update for controller api change. Original commit message from CVS: 2005-09-26 Andy Wingo * check/gst-libs/controller.c: Update for controller api change. 2005-09-26 15:43:30 +0000 Andy Wingo Remove memchunk benchmark stuff, this is taken over by GLib bug 118439. Original commit message from CVS: 2005-09-26 Andy Wingo * configure.ac: * tests/Makefile.am: * tests/memchunk: Remove memchunk benchmark stuff, this is taken over by GLib bug 118439. * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait routines to a function. * docs/libs/gstreamer-libs-sections.txt: I am a good person today. * libs/gst/controller/gsthelper.c: * libs/gst/controller/gstcontroller.h (gst_controller_sync_values) (gst_object_sync_values): Renamed from sink_values. Ugh. * libs/gst/controller/gsthelper.c: Update for __gst_controller_key. * libs/gst/controller/gstcontroller.c (__gst_controller_key): Renamed from controller_key, as it is exported. * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler. 2005-09-26 15:03:43 +0000 Thomas Vander Stichele * ChangeLog: * gst/Makefile.am: * gst/gst.h: * gst/gstpad.h: * gst/gstpadtemplate.h: * gst/gstquery.c: * gst/gstquery.h: * gst/gstqueryutils.c: * gst/gstqueryutils.h: remove queryutils headers after moving the two used functions to gstquery. also fixes build problem for gstsiddec Original commit message from CVS: remove queryutils headers after moving the two used functions to gstquery. also fixes build problem for gstsiddec 2005-09-26 13:40:21 +0000 Michael Smith * ChangeLog: * tools/gst-launch.1.in: Correct syntax for debug option in gst-launch manpage Original commit message from CVS: Correct syntax for debug option in gst-launch manpage 2005-09-26 11:21:42 +0000 Wim Taymans gst/base/gstbasesrc.c: Some more debugging info. Original commit message from CVS: * gst/base/gstbasesrc.c: (gst_base_src_get_range), (gst_base_src_is_seekable), (gst_base_src_change_state): Some more debugging info. 2005-09-25 18:34:49 +0000 Stefan Kost added more docs Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/base/gstbasetransform.h: * gst/gstindex.h: added more docs 2005-09-25 12:11:39 +0000 Stefan Kost inlined the last two docs files removed the tmpl directory from cvs (no more conflicts here!) Original commit message from CVS: * docs/gst/.cvsignore: * docs/gst/tmpl/.cvsignore: * docs/gst/tmpl/gstpipeline.sgml: * docs/gst/tmpl/gstplugin.sgml: * gst/gstpipeline.c: * gst/gstplugin.c: * gst/gstplugin.h: inlined the last two docs files removed the tmpl directory from cvs (no more conflicts here!) 2005-09-25 11:19:22 +0000 Stefan Kost inlined two more docs factored gstpadtemplate out of gstpad Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * docs/gst/tmpl/.cvsignore: * docs/gst/tmpl/gstpad.sgml: * docs/gst/tmpl/gstpadtemplate.sgml: * gst/Makefile.am: * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose), (gst_pad_finalize), (gst_pad_set_pad_template): * gst/gstpad.h: * gst/gstpadtemplate.c: (gst_pad_template_get_type), (gst_pad_template_class_init), (gst_pad_template_init), (gst_pad_template_dispose), (name_is_valid), (gst_static_pad_template_get), (gst_pad_template_new), (gst_static_pad_template_get_caps), (gst_pad_template_get_caps), (gst_pad_template_pad_created): * gst/gstpadtemplate.h: inlined two more docs factored gstpadtemplate out of gstpad 2005-09-24 14:35:07 +0000 Tim-Philipp Müller check/gst/gstbin.c: Fix test case: we can't rely on a fixed state change order when going from READY => PAUSED becaus... Original commit message from CVS: * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink), (test_children_state_change_order_semi_sink): Fix test case: we can't rely on a fixed state change order when going from READY => PAUSED because the sink might commit its new state first when the first buffer created by the source reaches the sink before the source has finished its change state. (Test case still fails at times, see #316856, comment 5 onwards) 2005-09-24 14:14:03 +0000 Wim Taymans Various documentation updates. Original commit message from CVS: * docs/design/part-events.txt: * docs/design/part-gstbus.txt: * docs/design/part-gstpipeline.txt: * docs/design/part-messages.txt: * docs/design/part-overview.txt: * docs/design/part-segments.txt: * gst/gstbin.c: * gst/gstbuffer.c: * gst/gstclock.c: * gst/gstelement.c: * gst/gstevent.c: * gst/gstfilter.c: * gst/gstiterator.c: Various documentation updates. 2005-09-24 11:41:01 +0000 Thomas Vander Stichele gst/gstclock.h: Well, that's embarassing. Luckily we weren't using Original commit message from CVS: * gst/gstclock.h: Well, that's embarassing. Luckily we weren't using GST_CLOCK_DIFF anywhere. 2005-09-23 18:08:59 +0000 Thomas Vander Stichele common/gtk-doc.mak: don't fail on building XML, FC4 slave shows a bunch of doc missing bits that I don't get Original commit message from CVS: * common/gtk-doc.mak: don't fail on building XML, FC4 slave shows a bunch of doc missing bits that I don't get * gst/gstpad.c: * gst/gstpipeline.c: * gst/gststructure.c: some doc updates 2005-09-23 18:02:18 +0000 Tim-Philipp Müller Add blurb about how the bus goes into flushing mode and drops all messages when its bin goes from READY into NULL state. Original commit message from CVS: * docs/design/part-gstbin.txt: * docs/design/part-gstbus.txt: * gst/gstbus.c: Add blurb about how the bus goes into flushing mode and drops all messages when its bin goes from READY into NULL state. 2005-09-23 17:46:06 +0000 Thomas Vander Stichele add a method to get a GstClockTime out of a structure Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gststructure.c: (gst_structure_get_clock_time): * gst/gststructure.h: add a method to get a GstClockTime out of a structure 2005-09-23 17:17:42 +0000 Tim-Philipp Müller check/gst/gstbin.c: Added test to check state change order in bins (can still be made to fail here under heavy disk l... Original commit message from CVS: * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink), (test_children_state_change_order_semi_sink), (gst_bin_suite): Added test to check state change order in bins (can still be made to fail here under heavy disk load; bails out with 'Push on pad fakesink:sink0, but it was not activated in push mode'). * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state): Fix state change order when there is only a semi sink (#316856) * gst/gstbus.c: (gst_bus_class_init): Use _class_peek_parent(), not _class_ref(); fix docs to say 'default main context' instead of 'mainloop' where that is what's meant. * gst/gstelement.c: (gst_element_commit_state), (gst_element_set_state): Fix typos in debug messages 2005-09-23 16:35:43 +0000 Thomas Vander Stichele * common: * docs/gst/gstreamer-sections.txt: * docs/libs/gstreamer-libs-sections.txt: * gst/gstclock.h: * gst/gstelement.h: * gst/gstinfo.h: * gst/gststructure.c: * gst/gststructure.h: * gst/gstvalue.c: fix docs Original commit message from CVS: fix docs 2005-09-23 15:48:14 +0000 Thomas Vander Stichele * gst/gstpluginfeature.c: don't break docs build Original commit message from CVS: don't break docs build 2005-09-23 15:36:28 +0000 Thomas Vander Stichele various doc updates Original commit message from CVS: * docs/README: * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain): * gst/gstpluginfeature.c: * gst/gstutils.c: various doc updates * gst/base/gstbasesink.c: (gst_base_sink_handle_object): change an assert into an error until it gets fixed properly 2005-09-23 14:31:21 +0000 Stefan Kost inlined 3 more biiiig doc files and added some missing docs on the fly Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * docs/gst/tmpl/.cvsignore: * docs/gst/tmpl/gstelement.sgml: * docs/gst/tmpl/gstinfo.sgml: * docs/gst/tmpl/gstobject.sgml: * gst/gstelement.c: * gst/gstelement.h: * gst/gstinfo.c: * gst/gstinfo.h: * gst/gstobject.c: (gst_object_class_init): * gst/gstobject.h: inlined 3 more biiiig doc files and added some missing docs on the fly 2005-09-23 11:41:30 +0000 Thomas Vander Stichele put back source in registry. add checks for find_plugin. Original commit message from CVS: * check/gst/.cvsignore: * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite): * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_save_plugin): put back source in registry. add checks for find_plugin. * testsuite/states/bin.c: (assert_state), (empty_bin), (test_adding_one_element), (main): * testsuite/states/locked.c: (main): some compile/run fixes 2005-09-22 20:02:11 +0000 Thomas Vander Stichele * ChangeLog: * check/gst/gstvalue.c: * tests/check/gst/gstvalue.c: fix leak in the test itself Original commit message from CVS: fix leak in the test itself 2005-09-22 18:07:22 +0000 Wim Taymans gst/base/gstbasesink.c: Prepare for more accurate position reporting and query handling. Original commit message from CVS: * gst/base/gstbasesink.c: (gst_base_sink_class_init), (gst_base_sink_send_event), (gst_base_sink_peer_query), (gst_base_sink_query): Prepare for more accurate position reporting and query handling. * gst/gstelement.c: (gst_element_send_event), (gst_element_set_state): Add some comment. 2005-09-22 17:40:42 +0000 Wim Taymans gst/gstquery.*: More documentation. Original commit message from CVS: * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment), (gst_query_parse_segment): * gst/gstquery.h: More documentation. Add segment query for future use. 2005-09-22 16:51:27 +0000 Wim Taymans gst/gstbin.c: Some more debug info. Original commit message from CVS: * gst/gstbin.c: (gst_bin_add_func): Some more debug info. * gst/gstelement.c: (gst_element_send_event): Simplify send_event * gst/gstelement.h: Don't know how flags got broken. * gst/gstquery.h: Added new query. 2005-09-22 15:38:12 +0000 Tim-Philipp Müller check/gst/gstvalue.c: Add simplistic test suite for GST_TYPE_DATE serialisation and deserialisation. Original commit message from CVS: * check/gst/gstvalue.c: (test_date), (gst_value_suite): Add simplistic test suite for GST_TYPE_DATE serialisation and deserialisation. 2005-09-22 15:08:02 +0000 Tim-Philipp Müller Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual bunch of utility functions along with a hack that che... Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gststructure.c: (gst_structure_set_valist), (gst_structure_get_date): * gst/gststructure.h: * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date), (gst_date_copy), (gst_value_compare_date), (gst_value_serialize_date), (gst_value_deserialize_date), (gst_value_transform_date_string), (gst_value_transform_string_date), (_gst_value_initialize): * gst/gstvalue.h: Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual bunch of utility functions along with a hack that checks that developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE is required. Part of the grand scheme in #170777. 2005-09-22 12:05:05 +0000 Andy Wingo gst/gstconfig.h.in: Psych out gtk-doc. Original commit message from CVS: 2005-09-22 Andy Wingo * gst/gstconfig.h.in: Psych out gtk-doc. * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8. * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests. * tools/gst-inspect.c (print_element_list): Plug some inconsequential leaks. * gst/gstregistry.c (gst_registry_get_default): Doc. * gst/gsttypefindfactory.c (gst_type_find_factory_call_function): * gst/gstelementfactory.c (gst_element_factory_create): * gst/gstindexfactory.c (gst_index_factory_create): Update for refcount changes. * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc. (gst_plugin_feature_load): Doc, don't eat refs. * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs. (gst_plugin_list_free): Doc. (gst_plugin_load_file): Doc updates. 2005-09-22 09:30:41 +0000 Andy Wingo gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get accessors returning refcounted objects, return a ref. Original commit message from CVS: 2005-09-22 Andy Wingo * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get accessors returning refcounted objects, return a ref. * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent accessor for caps. IDEMPOTENCE. Oh yes. 2005-09-21 21:39:06 +0000 Tim-Philipp Müller gst/gstinfo.c: Add mutex to serialise access to the hash table with the function pointer => function name string mapp... Original commit message from CVS: Reviewed by: Tim-Philipp Müller * gst/gstinfo.c: (_gst_debug_nameof_funcptr), (_gst_debug_register_funcptr): Add mutex to serialise access to the hash table with the function pointer => function name string mapping; make that hash table static scope (#316809). * gst/registries/.cvsignore: Remove left-over file. 2005-09-21 15:55:12 +0000 Tim-Philipp Müller docs/pwg/appendix-porting.xml: And something about newsegment events and caps-on-buffers to the porting guide (feel f... Original commit message from CVS: * docs/pwg/appendix-porting.xml: And something about newsegment events and caps-on-buffers to the porting guide (feel free to improve). 2005-09-21 13:24:33 +0000 Andy Wingo * ChangeLog: * check/gst/gstutils.c: * tests/check/gst/gstutils.c: Test that removing probes from within the probe functions works. Original commit message from CVS: (test_buffer_probe_once): Test that removing probes from within the probe functions works. 2005-09-21 13:11:22 +0000 Andy Wingo check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for data and event probes on the same pad. Original commit message from CVS: 2005-09-21 Andy Wingo * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for data and event probes on the same pad. 2005-09-21 12:21:10 +0000 Andy Wingo check/gst/gstutils.c: New file. Original commit message from CVS: 2005-09-21 Andy Wingo * check/gst/gstutils.c: New file. (test_buffer_probe_n_times): A simple buffer probe test. More to come, foolios. * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to have-data::buffer, not have-data. (gst_pad_add_event_probe): Likewise for have-data::event. (gst_pad_add_data_probe): More docs. The part about 'resolving the peer' isn't quite right yet though. (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) (gst_pad_remove_data_probe): Change to take the guint handler_id as their arg, not the function+data, which is more glib-like. * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to the signal emission to indicate if the data is a buffer or an event. (gst_pad_get_type): Initialize buffer and event quarks. (gst_pad_class_init): have-data is now a detailed signal, yes it is. 2005-09-21 11:52:04 +0000 Tim-Philipp Müller gst/: Don't put functional code in g_return_if_fail() or g_return_val_if_fail() statements, otherwise things will bre... Original commit message from CVS: * gst/base/gstbasetransform.c: (gst_base_transform_transform_size): * gst/gstutils.c: (gst_util_set_value_from_string), (gst_util_set_object_arg): Don't put functional code in g_return_if_fail() or g_return_val_if_fail() statements, otherwise things will break when G_DISABLE_CHECKS is defined during compilation. 2005-09-21 09:48:40 +0000 Stefan Kost inlied another one and added some obvious docs Original commit message from CVS: * docs/gst/tmpl/.cvsignore: * docs/gst/tmpl/gstvalue.sgml: * gst/gstvalue.c: * gst/gstvalue.h: inlied another one and added some obvious docs 2005-09-21 09:13:32 +0000 Wim Taymans gst/elements/gstfdsrc.*: Properly implement fdsrc. Removed signal and timeout, better implemented somewhere else. Original commit message from CVS: * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init), (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop), (gst_fdsrc_unlock), (gst_fdsrc_set_property), (gst_fdsrc_get_property), (gst_fdsrc_create): * gst/elements/gstfdsrc.h: Properly implement fdsrc. Removed signal and timeout, better implemented somewhere else. 2005-09-21 08:58:48 +0000 Stefan Kost inlined more docs Original commit message from CVS: * docs/gst/tmpl/.cvsignore: * docs/gst/tmpl/gstimplementsinterface.sgml: * gst/gstinterface.c: inlined more docs 2005-09-21 08:40:55 +0000 Stefan Kost docs/gst/: remove obsolete doc file Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * docs/gst/tmpl/.cvsignore: * docs/gst/tmpl/gstenumtypes.sgml: remove obsolete doc file 2005-09-21 07:37:02 +0000 David Schleef gst/gstelementfactory.c: Drink a little beer, fix a little leak. Original commit message from CVS: * gst/gstelementfactory.c: (gst_element_factory_make): Drink a little beer, fix a little leak. 2005-09-20 20:54:37 +0000 Stefan Kost * docs/gst/tmpl/gstelement.sgml: * docs/gst/tmpl/gstenumtypes.sgml: * docs/gst/tmpl/gstimplementsinterface.sgml: * docs/gst/tmpl/gstindex.sgml: * docs/gst/tmpl/gstindexfactory.sgml: * docs/gst/tmpl/gstinfo.sgml: * docs/gst/tmpl/gstobject.sgml: * docs/gst/tmpl/gstpad.sgml: * docs/gst/tmpl/gstpadtemplate.sgml: * docs/gst/tmpl/gstpipeline.sgml: * docs/gst/tmpl/gstplugin.sgml: * docs/gst/tmpl/gstpluginfeature.sgml: * docs/gst/tmpl/gsttypes.sgml: * docs/gst/tmpl/gstvalue.sgml: remove files Original commit message from CVS: remove files 2005-09-20 20:40:00 +0000 Stefan Kost more docs inlined, splitted gstindex.{c,h} Original commit message from CVS: * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * docs/gst/tmpl/.cvsignore: * gst/Makefile.am: * gst/gst.h: * gst/gstbin.c: * gst/gstelement.h: * gst/gstindex.c: (gst_index_class_init): * gst/gstindex.h: * gst/gstindexfactory.c: (gst_index_factory_get_type), (gst_index_factory_class_init), (gst_index_factory_init), (gst_index_factory_finalize), (gst_index_factory_new), (gst_index_factory_destroy), (gst_index_factory_find), (gst_index_factory_create), (gst_index_factory_make): * gst/gstindexfactory.h: * gst/gstpluginfeature.c: * gst/gstpluginfeature.h: * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist): more docs inlined, splitted gstindex.{c,h} 2005-09-20 20:19:52 +0000 Thomas Vander Stichele * ChangeLog: * libs/gst/controller/gstcontroller.c: fix a leak in controller Original commit message from CVS: fix a leak in controller 2005-09-20 19:16:43 +0000 Tim-Philipp Müller gst/elements/gstfilesink.c: Set sync to FALSE by default. Original commit message from CVS: * gst/elements/gstfilesink.c: (gst_file_sink_init): Set sync to FALSE by default. 2005-09-20 17:38:51 +0000 Wim Taymans gst/base/gstbasesink.c: Make sync property settable from subclass. Original commit message from CVS: * gst/base/gstbasesink.c: (gst_base_sink_class_init), (gst_base_sink_init): Make sync property settable from subclass. * gst/elements/gstfakesink.c: (gst_fake_sink_init), (gst_fake_sink_change_state): Set sync to FALSE by default. 2005-09-20 17:30:35 +0000 Wim Taymans The timeout handler should have lower priority than the source so we don't timeout before popping a message with 0 ti... Original commit message from CVS: * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll): * tools/gst-launch.c: (main): The timeout handler should have lower priority than the source so we don't timeout before popping a message with 0 timeout. Dump error messages after failed state change. 2005-09-20 17:21:13 +0000 Tim-Philipp Müller tools/gst-inspect.c: Fix two typos. Original commit message from CVS: * tools/gst-inspect.c: (print_element_properties_info): Fix two typos. 2005-09-20 15:45:42 +0000 Thomas Vander Stichele remove the sync property from fakesink. Original commit message from CVS: * check/gst/gstevent.c: * gst/elements/gstfakesink.c: * gst/elements/gstfakesink.h: remove the sync property from fakesink. has the side effect of setting sync TRUE for fakesink, which is a change. Anyone who knows how to fix this nicely in a GObject-y way, feel free. 2005-09-20 15:19:08 +0000 Stefan Kost docs/gst/gstreamer-docs.sgml: remove probe refsection Original commit message from CVS: * docs/gst/gstreamer-docs.sgml: remove probe refsection 2005-09-20 12:50:23 +0000 Stefan Kost check/Makefile.am: disable valgrinding the controller test again Original commit message from CVS: * check/Makefile.am: disable valgrinding the controller test again * docs/gst/gstreamer-sections.txt: update for api-changes 2005-09-20 12:05:47 +0000 Wim Taymans gst/base/gstbasesink.*: Added sync property to basesink to disable clock sync. Original commit message from CVS: * gst/base/gstbasesink.c: (gst_base_sink_class_init), (gst_base_sink_set_property), (gst_base_sink_get_property), (gst_base_sink_do_sync): * gst/base/gstbasesink.h: Added sync property to basesink to disable clock sync. 2005-09-20 11:09:50 +0000 Andy Wingo gst/gstelementfactory.c (gst_element_factory_create): Avoid eating the caller's refcount. Original commit message from CVS: 2005-09-20 Andy Wingo * gst/gstelementfactory.c (gst_element_factory_create): Avoid eating the caller's refcount. * gst/gstobject.h (GST_OBJECT_REFCOUNT) (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right refcount. * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8): * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability of GLib 2.8 public, so we can know which refcount to check in tests. * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define. (gst_object_init): Only set the gst refcount if we're going ahead with the refcount hack. 2005-09-20 10:41:03 +0000 Stefan Kost more leaks plumbed, added more debug-logging Original commit message from CVS: * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST): * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist): more leaks plumbed, added more debug-logging * gst/gstmacros.h: whitespace fix 2005-09-20 09:47:13 +0000 Thomas Vander Stichele * ChangeLog: * gst/gstmessage.c: remove include of removed header Original commit message from CVS: remove include of removed header 2005-09-20 09:28:56 +0000 Thomas Vander Stichele gst/gstclock.c: Commit from the Political Party For More Atomic CVS Commits, so that people don't waste too much of t... Original commit message from CVS: * gst/gstclock.c: (_gst_clock_id_free): Commit from the Political Party For More Atomic CVS Commits, so that people don't waste too much of their day fishing out obvious leaks out of massive commits. Oh, and fix a pretty damn obvious leak in the memchunk removal code. 2005-09-20 09:23:39 +0000 Stefan Kost check/: plug mem-leak, re-add to valgrindable tests Original commit message from CVS: * check/Makefile.am: * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST): plug mem-leak, re-add to valgrindable tests 2005-09-20 09:08:25 +0000 Thomas Vander Stichele * ChangeLog: * gst/gstplugin.h: unbreak the build for those who have chronic arthritis and typing "make check" is just too taxing on the hands Original commit message from CVS: unbreak the build for those who have chronic arthritis and typing "make check" is just too taxing on the hands 2005-09-20 08:25:32 +0000 Andy Wingo gst/gst.h: Re-add marshal to gst.h's include list -- if we really want it out, you should fix plugins at the same time. Original commit message from CVS: 2005-09-20 Andy Wingo * gst/gst.h: Re-add marshal to gst.h's include list -- if we really want it out, you should fix plugins at the same time. 2005-09-20 07:32:48 +0000 Stefan Kost added missing symbols to api docs disable ref-count hack if we have glib >= 2.8 Original commit message from CVS: * configure.ac: * docs/gst/gstreamer-sections.txt: * gst/gstobject.c: added missing symbols to api docs disable ref-count hack if we have glib >= 2.8 2005-09-20 06:28:33 +0000 David Schleef docs/gst/Makefile.am: Ignore a few more internal headers Original commit message from CVS: * docs/gst/Makefile.am: Ignore a few more internal headers * docs/gst/gstreamer-docs.sgml: Remove old sections * docs/gst/gstreamer-sections.txt: Remove old sections * docs/gst/tmpl/gstobject.sgml: update * docs/gst/tmpl/gstplugin.sgml: update * docs/gst/tmpl/gstpluginfeature.sgml: update * docs/random/ds/0.9-suggested-changes: update. * gst/Makefile.am: remove memchunk and trashstack, since they're not used. * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup * gst/gst.h: don't include some headers * gst/gstchildproxy.c: add gstmarshal.h * gst/gstclock.c: Don't use memchunks * gst/gstminiobject.c: Add some docs * gst/gstobject.c: remove DESTROYED flag, since it's redundant * gst/gstobject.h: same * gst/gstplugin.c: include gstmacros.h * gst/gstplugin.h: don't include gstmacros.h, since it's private * gst/gstquery.c: don't use memchunks * gst/gstregistry.c: rename gst_registry_deinit() * gst/gstregistry.h: same 2005-09-20 05:13:30 +0000 David Schleef docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits Original commit message from CVS: * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits * docs/libs/gstreamer-libs-sections.txt: * docs/libs/tmpl/gstgetbits.sgml: * docs/libs/tmpl/gstputbits.sgml: 2005-09-20 00:27:37 +0000 Jan Schmidt check/generic/states.c: Add a sleep to ensure elements have a chance to start their pad tasks before shutdown. Reduce... Original commit message from CVS: * check/generic/states.c: (GST_START_TEST), (states_suite): Add a sleep to ensure elements have a chance to start their pad tasks before shutdown. Reduces racy test results. * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create): Time out the select every now and then to check for shutdown. 2005-09-19 20:01:45 +0000 Tim-Philipp Müller win32/gstenumtypes.*: Update. Original commit message from CVS: * win32/gstenumtypes.c: * win32/gstenumtypes.h: Update. 2005-09-19 16:32:44 +0000 Wim Taymans gst/gstpipeline.c: Automatically PAUSE and RESUME a pipeline when a flushing seek is performed. Original commit message from CVS: * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event): Automatically PAUSE and RESUME a pipeline when a flushing seek is performed. Removed old files. 2005-09-19 16:28:58 +0000 Thomas Vander Stichele * gst/gstbus.c: whitespace fix Original commit message from CVS: whitespace fix 2005-09-19 15:12:25 +0000 Andy Wingo gst/gstregistry.h: Spacing fixen. Original commit message from CVS: 2005-09-19 Andy Wingo * gst/gstregistry.h: Spacing fixen. 2005-09-19 14:55:26 +0000 Wim Taymans gst/base/gstbasesrc.c: Handle state change failure more correctly. Original commit message from CVS: * gst/base/gstbasesrc.c: (gst_base_src_change_state): Handle state change failure more correctly. 2005-09-19 14:41:57 +0000 Thomas Vander Stichele check/: enable cleanup again after fixing the leak Original commit message from CVS: * check/Makefile.am: * check/pipelines/cleanup.c: (run_pipeline): * check/pipelines/simple_launch_lines.c: (run_pipeline), (GST_START_TEST): enable cleanup again after fixing the leak * docs/README: some more info on docs 2005-09-19 14:20:37 +0000 Thomas Vander Stichele * gst/gstplugin.c: don't complain about my ARM .so files. Another reason why it does make sense to have plugins follow a standard file ... Original commit message from CVS: don't complain about my ARM .so files. Another reason why it does make sense to have plugins follow a standard file name pattern like libgst(whatever).so 2005-09-19 14:09:54 +0000 Thomas Vander Stichele check/Makefile.am: re-enable tests now that leaks are plugged Original commit message from CVS: * check/Makefile.am: re-enable tests now that leaks are plugged * check/gst/gst.c: * check/gst/gstbin.c: * check/gst/gstpipeline.c: add some more tests while fixing leaks * common/check.mak: make sure binaries are uptodate when valgrinding/gdbing * gst/gst.c: * gst/gstelementfactory.c: remove a ref too many, and add a FIXME for when we get round to disposing of classes * gst/gstplugin.c: fix the refcounting when loading a plugin from a file and the code pretends that the pointer is the same even though of course it can change * gst/gstpluginfeature.c: unref plugins marked cached (a bit confusing as a name) as the docs state should be done various doc additions to explain refcounting * gst/gstregistry.c: * gst/gstregistryxml.c: debugging 2005-09-19 14:09:37 +0000 Christian Schaller * gstreamer.spec.in: update spec file Original commit message from CVS: update spec file 2005-09-19 11:18:03 +0000 Wim Taymans GstBusHandler -> GstBusFunc, return value has the same meaning as any other GSource (FALSE == remove source). Original commit message from CVS: * check/gst/gstbin.c: (pop_messages), (GST_START_TEST): * check/gst/gstbus.c: (message_func_eos), (message_func_app), (send_messages), (GST_START_TEST), (gstbus_suite): * check/gst/gstpipeline.c: (GST_START_TEST): * check/pipelines/cleanup.c: (run_pipeline): * check/pipelines/simple_launch_lines.c: (run_pipeline), (GST_START_TEST): * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare), (gst_bus_source_check), (gst_bus_source_dispatch), (gst_bus_create_watch), (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll): * gst/gstbus.h: * tools/gst-launch.c: (event_loop): * tools/gst-md5sum.c: (event_loop): GstBusHandler -> GstBusFunc, return value has the same meaning as any other GSource (FALSE == remove source). _add_watch() and _add_watch_full() now take a MessageType mask to only handle specific types of messages. _poll() returns the GstMessage instead of the message type to avoid race conditions. _have_pending() takes a MessageType mask now too. Added testsuite for multiple bus watches. Fix testsuites and applications for new bus API. 2005-09-18 22:15:23 +0000 Thomas Vander Stichele * ChangeLog: * check/Makefile.am: * tests/check/Makefile.am: mark a bunch of the tests as to fix until we fix them Original commit message from CVS: mark a bunch of the tests as to fix until we fix them 2005-09-18 21:40:58 +0000 Thomas Vander Stichele common/check.mak: use GST_PLUGIN settings for valgrind tests as well, so we're valgrinding the correct thing Original commit message from CVS: * common/check.mak: use GST_PLUGIN settings for valgrind tests as well, so we're valgrinding the correct thing * gst/gst.c: (init_post): plug another leak 2005-09-18 21:24:55 +0000 Thomas Vander Stichele * ChangeLog: * check/gst/gst.c: * gst/gst.c: * gst/gstelementfactory.c: * gst/gstindex.c: * gst/gstobject.c: * gst/gstplugin.c: * gst/gstpluginfeature.c: * gst/gstregistry.c: * gst/gstregistry.h: * gst/gstregistryxml.c: * tests/check/gst/gst.c: various cleanups and memleak plugging. make valgrind is happy now. Original commit message from CVS: various cleanups and memleak plugging. make valgrind is happy now. 2005-09-18 21:23:13 +0000 Thomas Vander Stichele * ChangeLog: * check/gst/.gitignore: * common: * tests/check/gst/.gitignore: add check-valgrind target Original commit message from CVS: add check-valgrind target 2005-09-18 09:15:10 +0000 Thomas Vander Stichele * gst/gstregistry.c: loading a plugin can return NULL Original commit message from CVS: loading a plugin can return NULL 2005-09-18 07:41:28 +0000 David Schleef tools/gst-inspect.c: Revert the GOption code. Original commit message from CVS: * tools/gst-inspect.c: Revert the GOption code. 2005-09-18 06:59:25 +0000 David Schleef check/Makefile.am: Fix environment variables. Original commit message from CVS: * check/Makefile.am: Fix environment variables. * check/gst/gstplugin.c: Fix for API changes. * tools/gst-inspect.c: Fix for API changes. * tools/gst-xmlinspect.c: Fix for API changes. * gst/gstelementfactory.c: * gst/gstplugin.c: * gst/gstplugin.h: * gst/gstpluginfeature.c: * gst/gstpluginfeature.h: * gst/gstregistry.c: * gst/gstregistry.h: * gst/gstregistryxml.c: * gst/gsttypefind.c: * gst/gsttypefindfactory.c: * gst/indexers/gstfileindex.c: * gst/indexers/gstmemindex.c: * gst/schedulers/Makefile.am: Change registry to keep track of both plugins and features, removing the feature tracking from plugins themselves. 2005-09-17 18:14:40 +0000 Thomas Vander Stichele * check/Makefile.am: * tests/check/Makefile.am: add valgrind target; disable gstplugin until it passes Original commit message from CVS: add valgrind target; disable gstplugin until it passes 2005-09-17 18:11:27 +0000 Thomas Vander Stichele * Makefile.am: * check/Makefile.am: * common: * tests/check/Makefile.am: add valgrind target; disable gstplugin until it passes Original commit message from CVS: add valgrind target; disable gstplugin until it passes 2005-09-16 11:24:10 +0000 Thomas Vander Stichele * gst/gstplugin.h: add mising include Original commit message from CVS: add mising include 2005-09-16 08:17:49 +0000 Thomas Vander Stichele * check/Makefile.am: * tests/check/Makefile.am: set the right var Original commit message from CVS: set the right var 2005-09-16 08:14:54 +0000 Thomas Vander Stichele * ChangeLog: * check/Makefile.am: * tests/check/Makefile.am: * tools/gst-register.1.in: remove gst-register Original commit message from CVS: remove gst-register 2005-09-16 04:54:24 +0000 David Schleef Getting tired of debugging. Disabled all the unreffing of plugins and features, which fixes the segfaults, but of co... Original commit message from CVS: * check/gst/gstplugin.c: * gst/gstelementfactory.c: * gst/gstplugin.c: * gst/gstpluginfeature.c: * gst/gstregistry.c: Getting tired of debugging. Disabled all the unreffing of plugins and features, which fixes the segfaults, but of course leaks like crazy. At least playbin works. 2005-09-16 03:46:14 +0000 David Schleef check/gst/gstplugin.c: More testing Original commit message from CVS: * check/gst/gstplugin.c: (register_check_elements), (GST_START_TEST), (peek), (suggest), (gst_plugin_suite): More testing * gst/elements/gsttypefindelement.c: Fix refcounting. * gst/gsttypefind.c: * gst/gsttypefindfactory.c: * gst/gsttypefindfactory.h: 2005-09-16 00:37:51 +0000 Thomas Vander Stichele * check/gst/gstplugin.c: * tests/check/gst/gstplugin.c: unverbosify Original commit message from CVS: unverbosify 2005-09-16 00:08:15 +0000 Thomas Vander Stichele * gst/base/gstbasesrc.h: * libs/gst/base/gstbasesrc.h: some whitespace to trigger a build Original commit message from CVS: some whitespace to trigger a build 2005-09-16 00:02:27 +0000 David Schleef gst/gstindex.c: get refcounting correct. Original commit message from CVS: * gst/gstindex.c: get refcounting correct. * gst/gstregistry.c: Handle the case where a feature/plugin is not found. 2005-09-15 23:51:24 +0000 David Schleef check/: Add test Original commit message from CVS: * check/Makefile.am: * check/gst/gstplugin.c: Add test * gst/gstplugin.c: Fix problems noticed by testsuite * gst/gstplugin.h: * gst/gstregistry.c: * gst/gstregistry.h: 2005-09-15 20:56:30 +0000 David Schleef gst/gstplugin.c: Implement semi-decent recounting and locking in plugins and plugin features. Original commit message from CVS: * gst/gstplugin.c: Implement semi-decent recounting and locking in plugins and plugin features. * gst/gstplugin.h: * gst/gstpluginfeature.c: * gst/gstpluginfeature.h: * gst/gstregistry.c: 2005-09-15 14:21:08 +0000 Michael Smith * ChangeLog: * common: * gst/gstregistry.c: Implement missing function. This is enough to get the basics of typefinding working - oggdemux succeeds now. decodebi... Original commit message from CVS: Implement missing function. This is enough to get the basics of typefinding working - oggdemux succeeds now. decodebin is still broken. 2005-09-15 05:58:37 +0000 David Schleef configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug #316076) Original commit message from CVS: * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug #316076) * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs * gst/check/Makefile.am: * libs/gst/controller/Makefile.am: * libs/gst/dataprotocol/Makefile.am: 2005-09-15 05:48:30 +0000 David Schleef configure.ac: Remove getbits library. Nothing uses it, and it should be in something like liboil if someone did want... Original commit message from CVS: * configure.ac: Remove getbits library. Nothing uses it, and it should be in something like liboil if someone did want to use it. * libs/gst/Makefile.am: * libs/gst/getbits/Makefile.am: * libs/gst/getbits/gbtest.c: * libs/gst/getbits/getbits.c: * libs/gst/getbits/getbits.h: * libs/gst/getbits/gstgetbits_generic.c: * libs/gst/getbits/gstgetbits_i386.s: * libs/gst/getbits/gstgetbits_inl.h: 2005-09-15 05:42:13 +0000 David Schleef gst/Makefile.am: Dist glib-compat.h Original commit message from CVS: * gst/Makefile.am: Dist glib-compat.h 2005-09-15 03:20:49 +0000 David Schleef configure.ac: Remove gst/registries, since it's no longer used. Original commit message from CVS: * configure.ac: Remove gst/registries, since it's no longer used. * gst/registries/Makefile.am: * gst/registries/gstlibxmlregistry.c: * gst/registries/gstlibxmlregistry.h: * gst/registries/gstxmlregistry.c: * gst/registries/gstxmlregistry.h: * gst/registries/registrytest.c: 2005-09-15 01:38:33 +0000 David Schleef gst/: Convergence is near. Seriously. Original commit message from CVS: * gst/glib-compat.h: * gst/gstregistryxml.c: Convergence is near. Seriously. 2005-09-15 01:34:52 +0000 David Schleef gst/glib-compat.*: Attempt #4 to appease the buildbots. Original commit message from CVS: * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat): * gst/glib-compat.h: Attempt #4 to appease the buildbots. 2005-09-15 01:26:42 +0000 David Schleef gst/glib-compat.c: Attempt #3. Original commit message from CVS: * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat): Attempt #3. 2005-09-15 01:20:22 +0000 David Schleef gst/glib-compat.c: Attempt #2. Original commit message from CVS: * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat): Attempt #2. 2005-09-15 01:14:17 +0000 David Schleef gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain the new functions. Original commit message from CVS: * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain the new functions. 2005-09-15 01:10:52 +0000 David Schleef gst/glib-compat.*: Add some functions that are in newer versions of glib than we care to require. Original commit message from CVS: * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat): * gst/glib-compat.h: Add some functions that are in newer versions of glib than we care to require. * gst/gstregistryxml.c: Use them. 2005-09-15 00:48:45 +0000 David Schleef po/POTFILES.in: remove gst-register.c Original commit message from CVS: * po/POTFILES.in: remove gst-register.c 2005-09-15 00:42:03 +0000 David Schleef docs/gst/: Documentation updates for registry changes. Original commit message from CVS: * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * docs/gst/gstreamer.types: * docs/gst/tmpl/gstelement.sgml: * docs/gst/tmpl/gstplugin.sgml: * docs/gst/tmpl/gstpluginfeature.sgml: Documentation updates for registry changes. 2005-09-15 00:35:11 +0000 David Schleef gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib, because we don't require glib-2.8. Original commit message from CVS: * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib, because we don't require glib-2.8. 2005-09-15 00:20:14 +0000 David Schleef gst/gstregistryxml.c: Added. Essentially moved out of the registries directory. Original commit message from CVS: * gst/gstregistryxml.c: Added. Essentially moved out of the registries directory. 2005-09-15 00:13:26 +0000 David Schleef remove Original commit message from CVS: * check/Makefile.am: * check/generic/states.c: * gst/Makefile.am: * gst/gst.c: * gst/gst.h: * gst/gst_private.h: * gst/gstelementfactory.c: * gst/gstindex.c: * gst/gstinfo.c: * gst/gstplugin.c: * gst/gstplugin.h: * gst/gstpluginfeature.c: * gst/gstpluginfeature.h: * gst/gstregistry.c: * gst/gstregistry.h: * gst/gstregistrypool.c: remove * gst/gstregistrypool.h: remove * gst/gsttypefind.c: * gst/gsttypefindfactory.c: * gst/gsturi.c: * tools/Makefile.am: * tools/gst-compprep.c: * tools/gst-inspect.c: * tools/gst-register.c: remove * tools/gst-xmlinspect.c: Registry rewrite. Changes registry from being a file created by a tool into a simple cache file created automatically by libgstreamer. Removed gst-register (because it's no longer needed). Remove registry pools, because we only have one registry implementation (XML). Fix up other subsystems as necessary. 2005-09-14 22:05:54 +0000 Thomas Vander Stichele * common: * docs/gst/tmpl/gstelement.sgml: * docs/gst/tmpl/gstenumtypes.sgml: * docs/gst/tmpl/gstimplementsinterface.sgml: * docs/gst/tmpl/gstindex.sgml: * docs/gst/tmpl/gstindexfactory.sgml: * docs/gst/tmpl/gstinfo.sgml: * docs/gst/tmpl/gstobject.sgml: * docs/gst/tmpl/gstpad.sgml: * docs/gst/tmpl/gstpadtemplate.sgml: * docs/gst/tmpl/gstpipeline.sgml: * docs/gst/tmpl/gstplugin.sgml: * docs/gst/tmpl/gstpluginfeature.sgml: * docs/gst/tmpl/gsttypes.sgml: * docs/gst/tmpl/gstvalue.sgml: * docs/libs/tmpl/gstdataprotocol.sgml: * docs/libs/tmpl/gstgetbits.sgml: whoops, wrong commit Original commit message from CVS: whoops, wrong commit 2005-09-14 22:01:45 +0000 Thomas Vander Stichele * common: * docs/README: * docs/gst/tmpl/gstelement.sgml: * docs/gst/tmpl/gstenumtypes.sgml: * docs/gst/tmpl/gstimplementsinterface.sgml: * docs/gst/tmpl/gstindex.sgml: * docs/gst/tmpl/gstindexfactory.sgml: * docs/gst/tmpl/gstinfo.sgml: * docs/gst/tmpl/gstobject.sgml: * docs/gst/tmpl/gstpad.sgml: * docs/gst/tmpl/gstpadtemplate.sgml: * docs/gst/tmpl/gstpipeline.sgml: * docs/gst/tmpl/gstplugin.sgml: * docs/gst/tmpl/gstpluginfeature.sgml: * docs/gst/tmpl/gsttypes.sgml: * docs/gst/tmpl/gstvalue.sgml: * docs/libs/tmpl/gstdataprotocol.sgml: * docs/libs/tmpl/gstgetbits.sgml: notes on documenting elements and plugins Original commit message from CVS: notes on documenting elements and plugins 2005-09-14 15:16:33 +0000 Michael Smith * common: * gst/Makefile.am: Rest of the fix for 316155: don't confuse MinGW when running glib-mkenums Original commit message from CVS: Rest of the fix for 316155: don't confuse MinGW when running glib-mkenums 2005-09-13 15:03:05 +0000 Steve Lhomme file gst-typefind.vcproj was initially added on branch BRANCH-GSTREAMER-0_8. Original commit message from CVS: file gst-typefind.vcproj was initially added on branch BRANCH-GSTREAMER-0_8. 2005-09-13 14:49:23 +0000 Michael Smith * ChangeLog: * gst/gstconfig.h.in: Don't use windows linking attributes in MinGW Original commit message from CVS: Don't use windows linking attributes in MinGW 2005-09-13 11:00:44 +0000 Thomas Vander Stichele gst/gstutils.c: Apparently people think it's better if this function doesn't try to set the state to whatever state w... Original commit message from CVS: * gst/gstutils.c: (set_state_async_thread_func), (gst_element_set_state_async): Apparently people think it's better if this function doesn't try to set the state to whatever state was asked for on the first call to this function for any object. Seriously. 2005-09-12 18:14:03 +0000 Thomas Vander Stichele add a gst_element_set_state_async method that sets the state and starts a thread to make sure the state change comple... Original commit message from CVS: * check/gst/gstpipeline.c: (GST_START_TEST): * docs/gst/gstreamer-sections.txt: * gst/gstutils.c: (set_state_async_thread_func), (gst_element_set_state_async): * gst/gstutils.h: add a gst_element_set_state_async method that sets the state and starts a thread to make sure the state change completes as best as it can 2005-09-12 17:01:18 +0000 Thomas Vander Stichele * ChangeLog: * check/gst/gstpipeline.c: * tests/check/gst/gstpipeline.c: codify design+behaviour in testsuite after discussion Original commit message from CVS: codify design+behaviour in testsuite after discussion 2005-09-12 16:10:18 +0000 Thomas Vander Stichele docs/: add a quote Original commit message from CVS: * docs/gst/tmpl/gstelement.sgml: * docs/manual/appendix-quotes.xml: add a quote * gst/gstelement.c: (gst_element_set_state): add some debug 2005-09-12 13:45:04 +0000 Jan Schmidt gst/: Remove the requirement for sub-classes to call the parent implementation of prepare_output_buffer with a wrappe... Original commit message from CVS: * gst/base/gstbasetransform.c: (gst_base_transform_class_init), (gst_base_transform_prepare_output_buf), (gst_base_transform_handle_buffer): * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip), (gst_capsfilter_prepare_buf): Remove the requirement for sub-classes to call the parent implementation of prepare_output_buffer with a wrapper function. * gst/gsttaglist.h: * gst/gsttagsetter.h: Fix #define wrapper 2005-09-11 19:22:23 +0000 Stefan Kost docs/gst/gstreamer-sections.txt: more doc cleanups Original commit message from CVS: * docs/gst/gstreamer-sections.txt: more doc cleanups 2005-09-11 13:07:25 +0000 Thomas Vander Stichele * ChangeLog: * docs/gst/gstreamer-sections.txt: * docs/gst/tmpl/gstelement.sgml: * docs/gst/tmpl/gstplugin.sgml: * gst/gstminiobject.c: * gst/gstvalue.h: doc build clean, hurray Original commit message from CVS: doc build clean, hurray 2005-09-11 12:57:36 +0000 Thomas Vander Stichele * ChangeLog: * docs/gst/gstreamer-sections.txt: * docs/gst/gstreamer.types: * docs/gst/tmpl/gstpad.sgml: * docs/gst/tmpl/gsttypes.sgml: * gst/base/gstadapter.h: * gst/base/gstbasesink.h: * gst/base/gstbasesrc.h: * gst/gstbin.h: * gst/gstbuffer.h: * gst/gstbus.h: * gst/gstcaps.h: * gst/gstclock.h: * gst/gstelement.h: * gst/gstevent.h: * gst/gstmessage.h: * gst/gstpad.h: * gst/gststructure.c: * gst/registries/gstlibxmlregistry.h: * libs/gst/base/gstadapter.h: * libs/gst/base/gstbasesink.h: * libs/gst/base/gstbasesrc.h: various doc fixes Original commit message from CVS: various doc fixes 2005-09-11 12:02:02 +0000 Thomas Vander Stichele * configure.ac: fix silly bug that caused build to fail when check is missing Original commit message from CVS: fix silly bug that caused build to fail when check is missing 2005-09-11 12:01:12 +0000 Thomas Vander Stichele docs/gst/: rearrange gstvalue section Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * docs/gst/tmpl/gstvalue.sgml: rearrange gstvalue section * gst/gstutils.c: (gst_element_state_get_name): NONE -> VOID * gst/gstvalue.c: (_gst_value_initialize): * gst/gstvalue.h: doc updates 2005-09-11 11:57:08 +0000 Thomas Vander Stichele * gst/base/gstbasesink.c: * libs/gst/base/gstbasesink.c: debug fixes Original commit message from CVS: debug fixes 2005-09-09 23:45:15 +0000 Jan Schmidt check/gst-libs/controller.c: Header include fix. Original commit message from CVS: * check/gst-libs/controller.c: Header include fix. * gst/base/gstbasetransform.c: (gst_base_transform_default_prepare_buf), (gst_base_transform_handle_buffer): * gst/base/gstbasetransform.h: Some more basetransform changes and fixes to enable sub-classes that modify buffer metadata only. * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init), (gst_capsfilter_init), (gst_capsfilter_transform_ip), (gst_capsfilter_prepare_buf): If the output pad has fixed allowed caps and input buffers don't have any, set the fixed caps on outgoing buffers. 2005-09-09 18:05:40 +0000 Thomas Vander Stichele * gst/base/gstbasesink.c: * libs/gst/base/gstbasesink.c: object debugging is good Original commit message from CVS: object debugging is good 2005-09-09 17:42:20 +0000 Jan Schmidt check/elements/identity.c: Make the error a little clearer when the test fails because identity made a copy of the bu... Original commit message from CVS: * check/elements/identity.c: (GST_START_TEST): Make the error a little clearer when the test fails because identity made a copy of the buffer. * docs/gst/gstreamer-sections.txt: New symbols in gstbasetransform.h * gst/base/gstbasetransform.c: (gst_base_transform_class_init), (gst_base_transform_init), (gst_base_transform_transform_size), (gst_base_transform_configure_caps), (gst_base_transform_setcaps), (gst_base_transform_default_prepare_buf), (gst_base_transform_get_unit_size), (gst_base_transform_buffer_alloc), (gst_base_transform_handle_buffer), (gst_base_transform_chain), (gst_base_transform_change_state), (gst_base_transform_set_passthrough), (gst_base_transform_set_in_place), (gst_base_transform_is_in_place): * gst/base/gstbasetransform.h: Change BaseTransform to separate in_place operate from same_caps output. in_place implies that the element can perform the transform on incoming buffers in-place, even if the caps on the output are different. Sub-class elements can now implement special buffer allocation methods for outgoing buffers if they wish to. Big documentation addition. * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip): * gst/elements/gstelements.c: Changes for basetransform modifications. * gst/elements/Makefile.am: * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create): Compile fix. Extra debug output. 2005-09-09 15:19:24 +0000 Steve Lhomme file gstcontrol.vcproj was initially added on branch BRANCH-GSTREAMER-0_8. Original commit message from CVS: file gstcontrol.vcproj was initially added on branch BRANCH-GSTREAMER-0_8. 2005-09-09 14:34:43 +0000 Thomas Vander Stichele check/gst/gstpad.c: add tests for valid pad naming Original commit message from CVS: * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid), (gst_pad_suite): add tests for valid pad naming * gst/check/gstcheck.c: (gst_check_log_message_func), (gst_check_log_critical_func): add ASSERT_WARNING remove printing of code, it is fragile when the code contains % and the line number is enough info * gst/check/gstcheck.h: * gst/gstpad.c: (gst_pad_template_new): fix memleaks 2005-09-09 13:28:06 +0000 Thomas Vander Stichele * ChangeLog: and the changelog Original commit message from CVS: and the changelog 2005-09-09 13:26:54 +0000 Thomas Vander Stichele configure.ac: say what CHECK flags we use Original commit message from CVS: * configure.ac: say what CHECK flags we use * docs/libs/gstreamer-libs.types: * libs/gst/controller/Makefile.am: * libs/gst/controller/gst-controller.c: * libs/gst/controller/gst-controller.h: * libs/gst/controller/gst-helper.c: * libs/gst/controller/gst-interpolation.c: * libs/gst/controller/gstcontroller.c: * libs/gst/controller/gsthelper.c: * libs/gst/controller/gstinterpolation.c: * tools/gst-inspect.c: (print_plugin_info): we don't use dashes in header names 2005-09-09 12:02:41 +0000 Thomas Vander Stichele check/: adding a test for pipelines and state changes Original commit message from CVS: * check/Makefile.am: * check/gst/.cvsignore: * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST), (gst_pipeline_suite), (main): adding a test for pipelines and state changes * gst/gstutils.c: (get_state_func): add some debugging * gstreamer.spec.in: fix up spec file 2005-09-08 17:23:57 +0000 Michael Smith * ChangeLog: * gst/elements/gstfilesrc.c: * gst/elements/gstfilesrc.h: * gst/gstevent.c: * plugins/elements/gstfilesrc.c: * plugins/elements/gstfilesrc.h: Various fixes for unseekable, unmmapable, and non-normal files, so that fallback to read() rather than mmap() works. Original commit message from CVS: Various fixes for unseekable, unmmapable, and non-normal files, so that fallback to read() rather than mmap() works. Allow newsegment events with start == end, so that cases where that's correct work (e.g. filesrc on a zero-size file). 2005-09-08 11:45:12 +0000 Michael Smith * docs/pwg/building-state.xml: Update the manual section on state changes for wingo's new API Original commit message from CVS: Update the manual section on state changes for wingo's new API 2005-09-07 15:22:29 +0000 Jan Schmidt gst/gstplugin.c: Call g_module_close when we don't load the module Original commit message from CVS: * gst/gstplugin.c: (gst_plugin_load_file): Call g_module_close when we don't load the module * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_property): Port leak fix from 0.8 2005-09-07 14:08:46 +0000 Stefan Kost * po/POTFILES.in: more rename fixing ... Original commit message from CVS: more rename fixing ... 2005-09-07 13:22:16 +0000 Stefan Kost renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter inlined docs for gsttrace, gsttrashstack Original commit message from CVS: * docs/gst/gstreamer-docs.sgml: * docs/gst/tmpl/.cvsignore: * docs/gst/tmpl/gsttrace.sgml: * docs/gst/tmpl/gsttrashstack.sgml: * gst/Makefile.am: * gst/gst.h: * gst/gstelement.h: * gst/gstevent.h: * gst/gstmessage.c: * gst/gstmessage.h: * gst/gsttag.c: * gst/gsttag.h: * gst/gsttaginterface.c: * gst/gsttaginterface.h: * gst/gsttaglist.c: * gst/gsttaglist.h: * gst/gsttagsetter.c: * gst/gsttagsetter.h: * gst/gsttrace.c: * gst/gsttrace.h: * gst/gsttrashstack.c: renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter inlined docs for gsttrace, gsttrashstack 2005-09-07 12:35:23 +0000 Stefan Kost gst/: splitted gsttypefind into gsttypefind, gsttypefindfactory Original commit message from CVS: * gst/Makefile.am: * gst/elements/gstbufferstore.h: * gst/elements/gsttypefindelement.c: * gst/elements/gsttypefindelement.h: * gst/gst.h: * gst/gsttypefind.c: * gst/gsttypefind.h: * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type), (gst_type_find_factory_class_init), (gst_type_find_factory_init), (gst_type_find_factory_dispose), (gst_type_find_factory_unload_thyself), (gst_type_find_load_plugin), (gst_type_find_factory_get_list), (gst_type_find_factory_get_caps), (gst_type_find_factory_get_extensions), (gst_type_find_factory_call_function): * gst/gsttypefindfactory.h: * gst/registries/gstlibxmlregistry.c: * gst/registries/gstxmlregistry.c: splitted gsttypefind into gsttypefind, gsttypefindfactory 2005-09-07 10:06:56 +0000 Andy Wingo gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race condition whereby the pad's task function is entered... Original commit message from CVS: 2005-09-07 Andy Wingo * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race condition whereby the pad's task function is entered before the pad_mode variable was set. 2005-09-06 22:57:05 +0000 Jan Schmidt gst/gstpad.c: Catch misbehaving pad_alloc functions that don't set up caps and do it for them. Original commit message from CVS: * gst/gstpad.c: (gst_pad_alloc_buffer): Catch misbehaving pad_alloc functions that don't set up caps and do it for them. 2005-09-06 22:03:01 +0000 Stefan Kost check/pipelines/simple_launch_lines.c: test for pipe!=NULL Original commit message from CVS: * check/pipelines/simple_launch_lines.c: (run_pipeline): test for pipe!=NULL * docs/gst/tmpl/.cvsignore: * docs/gst/tmpl/gstmemchunk.sgml: * docs/gst/tmpl/gstparse.sgml: * docs/gst/tmpl/gsttaglist.sgml: * docs/gst/tmpl/gsttagsetter.sgml: * docs/gst/tmpl/gsttypefind.sgml: * docs/gst/tmpl/gsttypefindfactory.sgml: * gst/gstmemchunk.c: * gst/gstparse.c: * gst/gsttag.c: * gst/gsttaginterface.c: * gst/gsttypefind.c: * gst/gsttypefind.h: inlined more docs 2005-09-06 18:18:48 +0000 Thomas Vander Stichele * check/gst/gstghostpad.c: * tests/check/gst/gstghostpad.c: add a check for a ghostpad that doesn't have a target being linked Original commit message from CVS: add a check for a ghostpad that doesn't have a target being linked 2005-09-06 14:11:21 +0000 Thomas Vander Stichele * configure.ac: back to head Original commit message from CVS: back to head === release 0.9.2 === 2005-09-06 14:02:17 +0000 Thomas Vander Stichele * ChangeLog: * NEWS: * README: * RELEASE: * configure.ac: releasing 0.9.2 Original commit message from CVS: releasing 0.9.2 2005-09-06 11:45:00 +0000 Thomas Vander Stichele * README: * common: update readme with explanation of modules Original commit message from CVS: update readme with explanation of modules 2005-09-06 09:52:23 +0000 Thomas Vander Stichele * ChangeLog: * common: * docs/random/ChangeLog-0.8: changelog split Original commit message from CVS: changelog split 2005-09-05 17:55:10 +0000 Thomas Vander Stichele * autogen.sh: * docs/gst/tmpl/gstplugin.sgml: maintenance updates Original commit message from CVS: maintenance updates 2005-09-05 17:53:24 +0000 Thomas Vander Stichele * docs/faq/gst-uninstalled: adding -bad Original commit message from CVS: adding -bad 2005-09-05 16:54:54 +0000 Andy Wingo gst/registries/gstxmlregistry.*: and update to newer API. Original commit message from CVS: * gst/registries/gstxmlregistry.h: * gst/registries/gstxmlregistry.c: and update to newer API. Incidentally they should be a bit faster now that they don't have to parse the caps. 2005-09-05 16:52:56 +0000 Andy Wingo gst/registries/gstxmlregistry.*: Um... resurrect... Original commit message from CVS: 2005-09-05 Andy Wingo * gst/registries/gstxmlregistry.h: * gst/registries/gstxmlregistry.c: Um... resurrect... 2005-09-05 16:36:47 +0000 Andy Wingo gst/registries/gstxmlregistry.*: Remove from CVS, they were replaced by the libxml registry a while back Original commit message from CVS: 2005-09-05 Andy Wingo * gst/registries/gstxmlregistry.h: * gst/registries/gstxmlregistry.c: Remove from CVS, they were replaced by the libxml registry a while back 2005-09-05 11:54:55 +0000 Thomas Vander Stichele * check/generic/.gitignore: * check/gst/.gitignore: * docs/README: * examples/pwg/.gitignore: * tests/check/generic/.gitignore: * tests/check/gst/.gitignore: * tests/old/examples/pwg/.gitignore: maintenance updates Original commit message from CVS: maintenance updates 2005-09-05 09:38:38 +0000 Christian Schaller * docs/gst/gstreamer-docs.sgml: Rever to 1.80 version of this file as GstUtils is not as dead as it seemed Original commit message from CVS: Rever to 1.80 version of this file as GstUtils is not as dead as it seemed 2005-09-05 09:23:44 +0000 Christian Schaller * common: * docs/gst/gstreamer-docs.sgml: remove GstUtils mention as it is now gone Original commit message from CVS: remove GstUtils mention as it is now gone 2005-09-04 11:01:44 +0000 Thomas Vander Stichele * common: * pkgconfig/gstreamer-check-uninstalled.pc.in: * pkgconfig/gstreamer-check.pc.in: * po/af.po: * po/az.po: * po/ca.po: * po/cs.po: * po/de.po: * po/en_GB.po: * po/fr.po: * po/it.po: * po/nb.po: * po/nl.po: * po/ru.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: need to add -lcheck to the pkgconfig file Original commit message from CVS: need to add -lcheck to the pkgconfig file 2005-09-03 17:36:20 +0000 Thomas Vander Stichele * gst/gstplugin.c: fix for a critical when a module returns NULL on opening Original commit message from CVS: fix for a critical when a module returns NULL on opening 2005-09-03 17:00:52 +0000 Thomas Vander Stichele * ChangeLog: * docs/gst/tmpl/gstplugin.sgml: * gst/elements/gstelements.c: * gst/gst.c: * gst/gstplugin.c: * gst/gstplugin.h: * gst/registries/gstlibxmlregistry.c: * gst/registries/gstxmlregistry.c: * plugins/elements/gstelements.c: * tools/gst-inspect.c: add a source plugin description field, to represent the source module this plugin is a part of. By default GST_PLUGI... Original commit message from CVS: add a source plugin description field, to represent the source module this plugin is a part of. By default GST_PLUGIN_DEFINE will set it to PACKAGE, which is automake's idea of the name of the source project. 2005-09-03 16:16:15 +0000 Thomas Vander Stichele * common: * docs/htmlinstall.mak: fix distcheck Original commit message from CVS: fix distcheck 2005-09-03 14:20:10 +0000 Thomas Vander Stichele * Makefile.am: * docs/htmlinstall.mak: enable docs build for distcheck Original commit message from CVS: enable docs build for distcheck 2005-09-03 13:54:26 +0000 Thomas Vander Stichele * docs/plugins/.gitignore: * docs/plugins/Makefile.am: * docs/plugins/gstdoc-mkdb: * docs/plugins/gstdoc-mktmpl: * docs/plugins/gstdoc-scanobj: * docs/plugins/gstreamer-plugins-docs.sgml: * docs/plugins/gstreamer-plugins-sections.txt: * docs/plugins/gstreamer-plugins.types.in: * docs/plugins/tmpl/ac3dec.sgml: * docs/plugins/tmpl/ac3parse.sgml: * docs/plugins/tmpl/audioscale.sgml: * docs/plugins/tmpl/cobin.sgml: * docs/plugins/tmpl/dvdsrc.sgml: * docs/plugins/tmpl/example.sgml: * docs/plugins/tmpl/gstaviencoder.sgml: * docs/plugins/tmpl/gstjpeg.sgml: * docs/plugins/tmpl/gstjpegdec.sgml: * docs/plugins/tmpl/gstjpegenc.sgml: * docs/plugins/tmpl/gstmpeg1encoder.sgml: * docs/plugins/tmpl/gstmpeg2enc.sgml: * docs/plugins/tmpl/gstmpeg2play.sgml: * docs/plugins/tmpl/gstmpeg_play.sgml: * docs/plugins/tmpl/gstmpegaudio.sgml: * docs/plugins/tmpl/gstmpg123.sgml: * docs/plugins/tmpl/gstparseau.sgml: * docs/plugins/tmpl/gstparseavi.sgml: * docs/plugins/tmpl/gstparsewav.sgml: * docs/plugins/tmpl/gstreamer-plugins-unused.sgml: * docs/plugins/tmpl/gstspectrum.sgml: * docs/plugins/tmpl/gstv4lsrc.sgml: * docs/plugins/tmpl/gstwincodec.sgml: * docs/plugins/tmpl/gstwindec.sgml: * docs/plugins/tmpl/gstwinenc.sgml: * docs/plugins/tmpl/gstxa.sgml: * docs/plugins/tmpl/gstxing.sgml: * docs/plugins/tmpl/median.sgml: * docs/plugins/tmpl/mp1videoparse.sgml: * docs/plugins/tmpl/mp2videoparse.sgml: * docs/plugins/tmpl/mp3parse.sgml: * docs/plugins/tmpl/mpeg1parse.sgml: * docs/plugins/tmpl/mpeg2parse.sgml: * docs/plugins/tmpl/mpeg2subt.sgml: * docs/plugins/tmpl/rtjpegdec.sgml: * docs/plugins/tmpl/rtjpegenc.sgml: * docs/plugins/tmpl/smooth.sgml: * docs/plugins/tmpl/smoothwave.sgml: * docs/plugins/tmpl/spindentity.sgml: * docs/plugins/tmpl/stereo.sgml: * docs/plugins/tmpl/synaesthesia.sgml: * docs/plugins/tmpl/system_encode.sgml: * docs/plugins/tmpl/vcdsrc.sgml: * docs/plugins/tmpl/videoscale.sgml: * docs/plugins/tmpl/videosink.sgml: * docs/plugins/tmpl/volume.sgml: * docs/plugins/tmpl/vorbisdec.sgml: * docs/plugins/tmpl/vorbisenc.sgml: * docs/plugins/tmpl/vumeter.sgml: remove old plugins docs Original commit message from CVS: remove old plugins docs 2005-09-03 13:49:49 +0000 Thomas Vander Stichele * ChangeLog: * Makefile.am: * autogen.sh: * common: * configure.ac: * docs/Makefile.am: * docs/faq/Makefile.am: * docs/gst/tmpl/gstelement.sgml: * docs/gst/tmpl/gsttypes.sgml: * docs/htmlinstall.mak: * docs/manual/Makefile.am: * docs/pwg/Makefile.am: * gstreamer.spec.in: * po/af.po: * po/az.po: * po/ca.po: * po/cs.po: * po/de.po: * po/en_GB.po: * po/fr.po: * po/it.po: * po/nb.po: * po/nl.po: * po/ru.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: clean up docs build a little; have docdir be an overridable install location; separate gtk-doc and docbook bits Original commit message from CVS: clean up docs build a little; have docdir be an overridable install location; separate gtk-doc and docbook bits 2005-09-02 23:36:24 +0000 Thomas Vander Stichele * gst/gsturi.h: whitespace cleanups Original commit message from CVS: whitespace cleanups 2005-09-02 23:17:26 +0000 Tim-Philipp Müller gst/base/gstbasesink.c: Add comment. Original commit message from CVS: * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc): Add comment. * gst/elements/gstfakesink.c: (gst_fake_sink_init), (gst_fake_sink_change_state): Make state change function thread-safe. * gst/gstpad.c: (gst_pad_alloc_buffer): Set offset on generic buffer allocated by fallback. 2005-09-02 23:03:36 +0000 Thomas Vander Stichele * gst/gsttrashstack.h: whitespace fixes Original commit message from CVS: whitespace fixes 2005-09-02 21:37:55 +0000 Stefan Kost run the wingo-magic script against the docs Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * docs/gst/tmpl/gstelement.sgml: * gst/gstpad.c: * libs/gst/controller/gst-controller.c: (gst_controlled_property_set_interpolation_mode), (gst_controlled_property_new), (gst_controller_find_controlled_property): run the wingo-magic script against the docs 2005-09-02 18:36:09 +0000 Stefan Kost * docs/gst/tmpl/gstqueue.sgml: removed file again Original commit message from CVS: removed file again 2005-09-02 17:23:06 +0000 Stefan Kost merged elementdetails docs into elementfactory docs inlined both Original commit message from CVS: * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * docs/gst/tmpl/.cvsignore: * docs/gst/tmpl/gstelementdetails.sgml: * docs/gst/tmpl/gstelementfactory.sgml: * gst/gst.c: * gst/gstbus.c: * gst/gstelementfactory.c: * gst/gstelementfactory.h: merged elementdetails docs into elementfactory docs inlined both 2005-09-02 16:44:57 +0000 Andy Wingo gst/gstelement.h: Add magical pixie dust to make glib-mkenums consider this enum an enum and not a flags. Original commit message from CVS: 2005-09-02 Andy Wingo * gst/gstelement.h: Add magical pixie dust to make glib-mkenums consider this enum an enum and not a flags. 2005-09-02 16:17:23 +0000 Stefan Kost more docs inlined Original commit message from CVS: * docs/gst/gstreamer-docs.sgml: * docs/gst/tmpl/.cvsignore: * docs/gst/tmpl/gstghostpad.sgml: * docs/gst/tmpl/gstiterator.sgml: * docs/gst/tmpl/gstmacros.sgml: * docs/gst/tmpl/gstrealpad.sgml: * docs/gst/tmpl/gstregistry.sgml: * docs/gst/tmpl/gstregistrypool.sgml: * docs/gst/tmpl/gststructure.sgml: * docs/gst/tmpl/gstsystemclock.sgml: * docs/gst/tmpl/gsttrace.sgml: * gst/gstghostpad.c: * gst/gstmacros.h: * gst/gstmemchunk.c: * gst/gstmemchunk.h: * gst/gstqueue.c: * gst/gstregistry.c: * gst/gstregistrypool.c: * gst/gststructure.c: * gst/gstsystemclock.c: more docs inlined 2005-09-02 15:42:00 +0000 Andy Wingo gst/gstelement.h (GstState): Renamed from GstElementState, changed to be a normal enum instead of flags. Original commit message from CVS: 2005-09-02 Andy Wingo * gst/gstelement.h (GstState): Renamed from GstElementState, changed to be a normal enum instead of flags. (GstStateChangeReturn): Renamed from GstElementStateReturn, names munged to be GST_STATE_CHANGE_*. (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to work with the new state representation. (GstStateChange): New enumeration of possible state transitions. Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR. (GstElementClass::change_state): Pass the GstStateChange along as an argument. Helps language bindings, so they don't have to use tricky lock-needing macros like GST_STATE_CHANGE (). * scripts/update-states (file): New script. Run it on a file to update it for state naming and API changes. Updates files in place. * All files updated for the new API. 2005-09-02 12:11:54 +0000 Thomas Vander Stichele * gstreamer.spec.in: clean up spec some more Original commit message from CVS: clean up spec some more 2005-09-02 12:08:45 +0000 Thomas Vander Stichele gst/: fix a bunch of unchecked return values Original commit message from CVS: * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush): * gst/gstutils.c: (gst_util_set_value_from_string), (gst_util_set_object_arg): fix a bunch of unchecked return values * tools/gst-complete.c: (main): * gstreamer.spec.in: clean up a little 2005-09-01 19:06:39 +0000 Stefan Kost * docs/gst/tmpl/.gitignore: * docs/gst/tmpl/gsttaglist.sgml: updated .cvsignore Original commit message from CVS: updated .cvsignore 2005-09-01 18:12:18 +0000 Wim Taymans gst/base/gstbasesink.*: Handle newsegments more correctly. Original commit message from CVS: * gst/base/gstbasesink.c: (gst_base_sink_handle_object), (gst_base_sink_event), (gst_base_sink_do_sync), (gst_base_sink_handle_event): * gst/base/gstbasesink.h: Handle newsegments more correctly. * gst/gstbus.c: Fix docs. * gst/gstevent.c: (gst_event_new_newsegment): A newsegment cannot have a start_time of -1 2005-09-01 16:53:14 +0000 Tim-Philipp Müller win32/gstenumtypes.*: Update Original commit message from CVS: * win32/gstenumtypes.c: * win32/gstenumtypes.h: Update 2005-08-31 21:01:35 +0000 Michael Smith * docs/pwg/building-boiler.xml: Remove extraneous 'co' from cvs command in PWG, as reported on irc. Original commit message from CVS: Remove extraneous 'co' from cvs command in PWG, as reported on irc. 2005-08-31 18:45:41 +0000 Stefan Kost libs/gst/controller/gst-controller.c: fixed boolean again Original commit message from CVS: * libs/gst/controller/gst-controller.c: (gst_controlled_property_set_interpolation_mode), (gst_controlled_property_new): fixed boolean again 2005-08-31 15:27:55 +0000 Thomas Vander Stichele docs/faq/gst-uninstalled: add -good Original commit message from CVS: * docs/faq/gst-uninstalled: add -good * gst/gstevent.c: * gst/gstevent.h: remove wrong docs * gst/gstutils.c: (gst_element_link_filtered): * gst/gstutils.h: add gst_element_link_filtered 2005-08-31 14:08:45 +0000 Stefan Kost inlined more docs, fixed double id-ref Original commit message from CVS: * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * docs/gst/tmpl/.cvsignore: * docs/gst/tmpl/gsterror.sgml: * docs/gst/tmpl/gstfilter.sgml: * docs/gst/tmpl/gsturihandler.sgml: * docs/gst/tmpl/gsturitype.sgml: * docs/gst/tmpl/gstutils.sgml: * docs/gst/tmpl/gstxml.sgml: * gst/gsterror.c: * gst/gsterror.h: * gst/gstfilter.c: * gst/gsturi.c: * gst/gsturitype.c: * gst/gstutils.c: * gst/gstxml.c: inlined more docs, fixed double id-ref 2005-08-31 13:53:39 +0000 Wim Taymans gst/base/gstbasetransform.c: Passthrough elements don't need the caps as they don't care. Original commit message from CVS: * gst/base/gstbasetransform.c: (gst_base_transform_setcaps), (gst_base_transform_handle_buffer): Passthrough elements don't need the caps as they don't care. 2005-08-31 13:50:40 +0000 Wim Taymans gst/base/gstbasetransform.c: Don't leak refcounts on buffers. Original commit message from CVS: * gst/base/gstbasetransform.c: (gst_base_transform_setcaps), (gst_base_transform_handle_buffer), (gst_base_transform_chain): Don't leak refcounts on buffers. 2005-08-31 13:41:19 +0000 Wim Taymans gst/base/gstbasetransform.*: Handle the case where we are not negotiated more gracefully. Original commit message from CVS: * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps), (gst_base_transform_setcaps), (gst_base_transform_handle_buffer), (gst_base_transform_chain), (gst_base_transform_change_state): * gst/base/gstbasetransform.h: Handle the case where we are not negotiated more gracefully. 2005-08-31 12:55:54 +0000 Tim-Philipp Müller gst/elements/gstfilesrc.c: Set READONLY flag on mmap'ed buffers, otherwise gst_buffer_make_writable() won't work prop... Original commit message from CVS: * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init), (gst_file_src_map_region): Set READONLY flag on mmap'ed buffers, otherwise gst_buffer_make_writable() won't work properly (#314708). 2005-08-31 10:07:24 +0000 Wim Taymans gst/base/gstbasetransform.c: passthrough elements can even do inplace on non writable buffers (as they don't touch th... Original commit message from CVS: * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer): passthrough elements can even do inplace on non writable buffers (as they don't touch them). 2005-08-31 10:00:08 +0000 Stefan Kost check/gst-libs/controller.c: more tests (hehe I have the most) Original commit message from CVS: * check/gst-libs/controller.c: (gst_test_mono_source_get_property), (gst_test_mono_source_set_property), (gst_test_mono_source_class_init), (GST_START_TEST), (gst_controller_suite): more tests (hehe I have the most) * gst/gstbus.c: describe popping messages whenusing mulltiple sources * libs/gst/controller/gst-controller.c: (gst_controlled_property_set_interpolation_mode), (gst_controlled_property_new): * libs/gst/controller/gst-controller.h: * libs/gst/controller/gst-interpolation.c: implement boolean properties 2005-08-31 08:57:14 +0000 Wim Taymans gst/gstminiobject.c: Cannot assert that the refcount has to be positive since a disposed object can be resurected. Original commit message from CVS: * gst/gstminiobject.c: (gst_mini_object_ref): Cannot assert that the refcount has to be positive since a disposed object can be resurected. 2005-08-31 08:38:39 +0000 Wim Taymans gst/gstpad.c: Revert change, need to first fix badly behaving apps. Original commit message from CVS: * gst/gstpad.c: (gst_pad_init): Revert change, need to first fix badly behaving apps. 2005-08-30 19:45:38 +0000 Wim Taymans check/elements/: Activate pads before using them. Original commit message from CVS: * check/elements/fakesrc.c: (setup_fakesrc): * check/elements/identity.c: (setup_identity): Activate pads before using them. 2005-08-30 19:29:59 +0000 Wim Taymans gst/base/gstadapter.c: Flushing out 0 bytes is ok for this function. Original commit message from CVS: * gst/base/gstadapter.c: (gst_adapter_flush): Flushing out 0 bytes is ok for this function. * gst/base/gstbasesink.c: (gst_base_sink_handle_object): no newsegment gives a warning and sets the start/stop to invalid. * gst/base/gstbasetransform.c: (gst_base_transform_change_state), (gst_base_transform_set_passthrough): Some debug info. * gst/gstminiobject.c: (gst_mini_object_ref): Check refcount here too. * gst/gstpad.c: (gst_pad_init): Pads are initially flushing and refusing data. * gst/gstutils.c: (gst_element_link_pads_filtered): When adding a capsfilter element make sure it has the same state as the parent bin. 2005-08-30 17:23:19 +0000 Stefan Kost more docs and two more inlined Original commit message from CVS: * docs/gst/tmpl/.cvsignore: * docs/gst/tmpl/gstformat.sgml: * docs/gst/tmpl/gstversion.sgml: * gst/gstbus.h: * gst/gstformat.c: * gst/gstformat.h: * gst/gstversion.h.in: more docs and two more inlined 2005-08-30 17:12:33 +0000 Wim Taymans gst/elements/gstfilesink.c: Don't sync to clock. Original commit message from CVS: * gst/elements/gstfilesink.c: (gst_file_sink_class_init): Don't sync to clock. 2005-08-30 08:17:48 +0000 Stefan Kost docs/gst/gstreamer-sections.txt: ultral33t func10ns deserve to appear in the docs actualy Original commit message from CVS: * docs/gst/gstreamer-sections.txt: ultral33t func10ns deserve to appear in the docs actualy * docs/gst/tmpl/.cvsignore: * docs/gst/tmpl/gstcompat.sgml: * docs/gst/tmpl/gstconfig.sgml: * gst/check/gstcheck.c: * gst/gstcompat.h: * gst/gstconfig.h.in: inlined more docs 2005-08-29 21:41:02 +0000 Stefan Kost inlined and extended docs Original commit message from CVS: * docs/gst/tmpl/.cvsignore: * docs/gst/tmpl/gstquery.sgml: * docs/gst/tmpl/gstutils.sgml: * gst/gstquery.c: * gst/gstquery.h: inlined and extended docs 2005-08-29 19:59:52 +0000 Stefan Kost check/gst-libs/controller.c: more tests Original commit message from CVS: * check/gst-libs/controller.c: (GST_START_TEST), (gst_controller_suite): more tests * docs/gst/tmpl/gstutils.sgml: * docs/libs/gstreamer-libs-sections.txt: * docs/libs/tmpl/gstdataprotocol.sgml: include path fixes * examples/controller/audio-example.c: (main): controller example works now * gst/gstclock.h: doc fixes * tools/gst-inspect.c: (print_element_properties_info): show param spec flags 2005-08-29 16:10:36 +0000 Andy Wingo gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n. Original commit message from CVS: 2005-08-29 Andy Wingo * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n. 2005-08-29 09:52:44 +0000 Michael Smith * docs/faq/cvs.xml: Minor updates to developer cvs instructions, to more closely match what the freedesktop people want. Also, test my cv... Original commit message from CVS: Minor updates to developer cvs instructions, to more closely match what the freedesktop people want. Also, test my cvs commit access... 2005-08-28 17:45:58 +0000 Andy Wingo gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init as having two arguments instead of just one. Allows su... Original commit message from CVS: 2005-08-28 Andy Wingo * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init as having two arguments instead of just one. Allows superclasses to access information on subclasses -- see the terrible for() loop in gtype.c:g_type_create_instance for the reason why. All callers changed. 2005-08-27 10:57:00 +0000 Stefan Kost docs/design/part-messages.txt: update info Original commit message from CVS: * docs/design/part-messages.txt: update info * docs/gst/tmpl/.cvsignore: * docs/gst/tmpl/gstcaps.sgml: * docs/gst/tmpl/gstclock.sgml: * gst/gstbus.c: * gst/gstcaps.c: * gst/gstcaps.h: * gst/gstclock.c: * gst/gstclock.h: * gst/gstmessage.c: added descriptions for bus and message inline caps and clock docs 2005-08-26 22:32:51 +0000 Stefan Kost gst/gstmessage.*: doc fixes Original commit message from CVS: * gst/gstmessage.c: * gst/gstmessage.h: doc fixes 2005-08-26 21:23:51 +0000 Stefan Kost gst/base/gstbasetransform.c: fix div-by-zero Original commit message from CVS: * gst/base/gstbasetransform.c: (gst_base_transform_transform_size): fix div-by-zero 2005-08-26 14:21:43 +0000 Andy Wingo check/pipelines/simple_launch_lines.c (run_pipeline): Check element_set_state's return val. Original commit message from CVS: 2005-08-26 Andy Wingo * check/pipelines/simple_launch_lines.c (run_pipeline): Check element_set_state's return val. (test_2_elements): Add test that's been disabled for months. * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and can-activate-pull properties. * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and can-activate-pull properties. Implement is_seekable so fakesrc can operate in pull mode. * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain properties. (gst_base_sink_activate, gst_base_sink_activate_pull) (gst_base_sink_activate_push): Make activation mode choosing work. Cleanups. (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode is right. Make pull mode work. Post an eos before pausing in pull mode. (gst_base_sink_change_state): Pay attention to the core's change_state() return val. * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop, has-getrange properties. Cleanups. * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop, has_getrange and replace with can_activate_pull and can_activate_push. * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add locking comments. Remove has_loop, has_chain and replace with can_activate_pull and can_activate_push. 2005-08-26 13:28:01 +0000 Jan Schmidt Add metadata reading example that loops over a list of filenames, dumping any tags found. Original commit message from CVS: * configure.ac: * examples/Makefile.am: * examples/metadata/Makefile.am: * examples/metadata/read-metadata.c: (message_loop), (have_pad_handler), (make_pipeline), (print_tag), (main): Add metadata reading example that loops over a list of filenames, dumping any tags found. * gst/gstbus.c: (gst_bus_dispose): * gst/gstelement.c: (gst_element_dispose): Release a few potentially-held references in dispose. 2005-08-26 13:21:47 +0000 Stefan Kost docs/gst/tmpl/gstminiobject.sgml: do *not* add tmpl/*.sgml files to CVS! Original commit message from CVS: * docs/gst/tmpl/gstminiobject.sgml: do *not* add tmpl/*.sgml files to CVS! 2005-08-26 13:17:54 +0000 Stefan Kost libs/gst/bytestream/: removing obsolete files Original commit message from CVS: * libs/gst/bytestream/.cvsignore: * libs/gst/bytestream/Makefile.am: * libs/gst/bytestream/adapter.c: * libs/gst/bytestream/adapter.h: * libs/gst/bytestream/bytestream.c: * libs/gst/bytestream/bytestream.h: * libs/gst/bytestream/filepad.c: * libs/gst/bytestream/filepad.h: removing obsolete files 2005-08-26 12:48:29 +0000 Stefan Kost docs/: disabed additional index entries again, as this makes docs-gen just slow and they aren't useful yet Original commit message from CVS: * docs/gst/gstreamer-docs.sgml: * docs/libs/gstreamer-libs-docs.sgml: disabed additional index entries again, as this makes docs-gen just slow and they aren't useful yet * docs/libs/gstreamer-libs-sections.txt: little -section.txt cleanup for libs 2005-08-26 11:56:11 +0000 Thomas Vander Stichele gst/base/: fix up some debugging Original commit message from CVS: * gst/base/gstbasesink.c: (gst_base_sink_handle_object): * gst/base/gstbasetransform.c: (gst_base_transform_transform_size), fix up some debugging (gst_base_transform_get_unit_size), (gst_base_transform_buffer_alloc), (gst_base_transform_event), (gst_base_transform_handle_buffer): * gst/base/gstbasetransform.h: handle and store timed NEWSEGMENT events so that subclasses that calculate time by counting samples have a segment_start time they need to add to their timestamps - see audioresample 2005-08-26 11:19:22 +0000 Thomas Vander Stichele * common: * gst/base/gstbasetransform.c: * gst/gstbuffer.h: * gst/gstpad.c: * libs/gst/base/gstbasetransform.c: whitespace, doc and debug fixing/additions Original commit message from CVS: whitespace, doc and debug fixing/additions 2005-08-25 23:17:18 +0000 Stefan Kost gst/gstbin.h: removed ';' from the end of macro defs Original commit message from CVS: * gst/gstbin.h: removed ';' from the end of macro defs * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * docs/gst/tmpl/.cvsignore: * gst/gstbus.h: * gst/gstelement.c: (gst_element_class_init), (gst_element_set_state), (activate_pads), (gst_element_save_thyself): * gst/gstevent.c: (gst_event_new_newsegment): * gst/gstevent.h: * gst/gstiterator.c: * gst/gstiterator.h: * gst/gstpad.c: * gst/gstprobe.h: * gst/gstutils.c: (gst_pad_query_convert): * gst/gstutils.h: fixed parameter name mismatches between source, header and docs added some more docs, resolved the last batch of unused elements in docs (now someone needs to doc them) 2005-08-25 20:52:07 +0000 Thomas Vander Stichele * ChangeLog: * gst/registries/gstlibxmlregistry.c: * gst/registries/gstxmlregistry.c: respect order of plugin dirs when loading pllugins and rebuilding registry Original commit message from CVS: respect order of plugin dirs when loading pllugins and rebuilding registry 2005-08-25 19:36:05 +0000 Wim Taymans gst/base/gstbasetransform.*: Cache caps unit_size. Original commit message from CVS: * gst/base/gstbasetransform.c: (gst_base_transform_init), (gst_base_transform_transform_size), (gst_base_transform_configure_caps), (gst_base_transform_get_unit_size), (gst_base_transform_buffer_alloc), (gst_base_transform_change_state): * gst/base/gstbasetransform.h: Cache caps unit_size. Make sure we cannot negotiate up and downstream at the same time. 2005-08-25 18:55:34 +0000 Thomas Vander Stichele * ChangeLog: * gst/gst.c: * gst/registries/gstlibxmlregistry.c: * gst/registries/gstxmlregistry.c: make registry respect order of GST_PLUGIN_PATH; make the installed location go last Original commit message from CVS: make registry respect order of GST_PLUGIN_PATH; make the installed location go last 2005-08-25 18:54:00 +0000 Thomas Vander Stichele * ChangeLog: * gst/base/gstbasetransform.h: * gst/gstpad.c: * libs/gst/base/gstbasetransform.h: add docs Original commit message from CVS: add docs 2005-08-25 16:27:44 +0000 Thomas Vander Stichele * gst/check/gstcheck.c: * gst/check/gstcheck.h: * libs/gst/check/gstcheck.c: * libs/gst/check/gstcheck.h: add a uint64 checking method Original commit message from CVS: add a uint64 checking method 2005-08-25 13:52:13 +0000 Wim Taymans gst/gstbin.c: Be a bit more conservative about the posted message. Original commit message from CVS: * gst/gstbin.c: (bin_bus_handler): Be a bit more conservative about the posted message. * gst/gstbus.c: (gst_bus_post): Some cleanups, warn wrong return values. 2005-08-25 10:51:14 +0000 Jan Schmidt Revert unpopular change for GST_MESSAGE_SRC to GObject. Original commit message from CVS: * check/gst/gstbin.c: (GST_START_TEST): * gst/gstbin.c: (bin_bus_handler): * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy), (gst_message_new), (gst_message_new_eos), (gst_message_new_error), (gst_message_new_warning), (gst_message_new_tag), (gst_message_new_state_changed), (gst_message_new_segment_start), (gst_message_new_segment_done), (gst_message_new_custom): * gst/gstmessage.h: * tools/gst-launch.c: (event_loop): * tools/gst-md5sum.c: (event_loop): Revert unpopular change for GST_MESSAGE_SRC to GObject. 2005-08-25 10:35:46 +0000 Thomas Vander Stichele * gst/gstbuffer.h: * gst/gstmessage.c: * gst/gstmessage.h: fix docs by fixing enum typedef Original commit message from CVS: fix docs by fixing enum typedef 2005-08-25 10:16:21 +0000 Thomas Vander Stichele * check/Makefile.am: * tests/check/Makefile.am: wim fixed the task, yay Original commit message from CVS: wim fixed the task, yay 2005-08-25 10:01:47 +0000 Wim Taymans check/generic/states.c: Cleanup can be done at the end. Original commit message from CVS: * check/generic/states.c: (GST_START_TEST): Cleanup can be done at the end. * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize), (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock), (gst_task_get_state), (gst_task_start), (gst_task_pause): Oh boy.. Thanks for finding this, Thomas. 2005-08-24 22:01:41 +0000 Stefan Kost * docs/gst/gstreamer.types: grmpf, another try to fix it Original commit message from CVS: grmpf, another try to fix it 2005-08-24 21:57:05 +0000 Stefan Kost * docs/gst/gstreamer.types: another fix Original commit message from CVS: another fix 2005-08-24 21:45:13 +0000 Stefan Kost docs/gst/gstreamer.types: added missing types Original commit message from CVS: * docs/gst/gstreamer.types: added missing types 2005-08-24 21:35:43 +0000 Stefan Kost added miissing classes and symbols (123 more to go) removed removed symbols from section file fixed many doc-comments Original commit message from CVS: * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * docs/gst/tmpl/.cvsignore: * gst/gstbin.c: * gst/gstiterator.c: * gst/gstutils.c: * gst/registries/gstxmlregistry.h: added miissing classes and symbols (123 more to go) removed removed symbols from section file fixed many doc-comments 2005-08-24 20:49:53 +0000 Wim Taymans check/generic/states.c: Make sure all tasks are stopped. Original commit message from CVS: * check/generic/states.c: (GST_START_TEST): Make sure all tasks are stopped. * check/gst/gstbin.c: (GST_START_TEST): Unref after usage for proper valgrinding. * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task): Really wait for the task to stop before destroying the mutex. * gst/gstqueue.c: (gst_queue_sink_activate_push), (gst_queue_src_activate_push): Small cleanups. Don't stop the task when we did not start it. * gst/gsttask.c: (gst_task_get_type), (gst_task_init), (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock), (gst_task_get_state), (gst_task_start), (gst_task_pause), (gst_task_join): * gst/gsttask.h: Protect the stream lock with the object lock. Disallow setting the stream lock when running. Add cleanup_all to wait for the threadpool to finish. Remove code to autoallocate a mutex if none was provided. Add _join() to wait for a task to stop. Protect the thread pool with a global lock. 2005-08-24 17:57:36 +0000 Wim Taymans gst/base/gstbasesink.*: Handle newsegment events correctly. Original commit message from CVS: * gst/base/gstbasesink.c: (gst_base_sink_handle_object), (gst_base_sink_get_times), (gst_base_sink_do_sync), (gst_base_sink_handle_buffer), (gst_base_sink_change_state): * gst/base/gstbasesink.h: Handle newsegment events correctly. Drop buffers out of the segment range. 2005-08-24 17:24:21 +0000 Thomas Vander Stichele * check/Makefile.am: * tests/check/Makefile.am: disable test while wim is fixing Original commit message from CVS: disable test while wim is fixing 2005-08-24 16:46:10 +0000 Thomas Vander Stichele * pkgconfig/gstreamer-uninstalled.pc.in: * pkgconfig/gstreamer.pc.in: add pluginsdir to pkgconfig files Original commit message from CVS: add pluginsdir to pkgconfig files 2005-08-24 16:41:45 +0000 Andy Wingo * ChangeLog: changelog Original commit message from CVS: changelog 2005-08-24 16:09:50 +0000 Thomas Vander Stichele check/: add a test that does a bunch of state changes on elements needs some fixing for valgrind Original commit message from CVS: * check/Makefile.am: * check/generic/states.c: (GST_START_TEST), (states_suite), (main): add a test that does a bunch of state changes on elements needs some fixing for valgrind * check/states/sinks.c: (gst_object_suite): whitespace * gst/gstcaps.h: add prototype for gst_caps_is_equal_fixed * gst/gstplugin.c: * gst/gstregistrypool.c: doc fixes 2005-08-24 15:49:03 +0000 Andy Wingo gst/gstquery.c (gst_query_new_convert): Spew if we try to convert a negative value. Doesn't make much sense. Mostly t... Original commit message from CVS: 2005-08-24 Andy Wingo * gst/gstquery.c (gst_query_new_convert): Spew if we try to convert a negative value. Doesn't make much sense. Mostly this is here to force callers to ensure -1 maps to -1. 2005-08-24 15:10:41 +0000 Jan Schmidt docs/pwg/advanced-types.xml: Well done to Michael for catching my deliberate introduction of this spelling mistake. Original commit message from CVS: * docs/pwg/advanced-types.xml: Well done to Michael for catching my deliberate introduction of this spelling mistake. * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler): * gst/gstelement.h: Add GST_ELEMENT_UNPARENTING to prevent races so that we can unlink pads before removing the element from the bin. 2005-08-24 13:49:21 +0000 Andy Wingo gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean the same thing as GST_DEBUG=*:4. Original commit message from CVS: 2005-08-24 Andy Wingo * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean the same thing as GST_DEBUG=*:4. (parse_debug_level, parse_debug_category): New helper parsers. 2005-08-24 13:33:21 +0000 Thomas Vander Stichele gst/base/gstbasetransform.c: use gboolean return values and pointers to size so we can use the full GST_BUFFER_SIZE r... Original commit message from CVS: * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps), (gst_base_transform_transform_size), (gst_base_transform_getcaps), (gst_base_transform_setcaps), (gst_base_transform_get_unit_size), (gst_base_transform_buffer_alloc), (gst_base_transform_handle_buffer): use gboolean return values and pointers to size so we can use the full GST_BUFFER_SIZE range (guint) for buffer sizes use GstPadDirection for transform_caps * gst/base/gstbasetransform.h: rename get_size to get_unit_size since that's what it is * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps): use GstPadDirection for transform_caps * gst/gstbuffer.c: (gst_buffer_new_and_alloc): * gst/gstutils.h: cleanup and debugging 2005-08-24 13:04:31 +0000 Stefan Kost Fixed long standing mem-leak Original commit message from CVS: * gst/gstelement.c: (gst_element_class_init), (gst_element_set_state), (activate_pads), (gst_element_save_thyself): * tools/gst-compprep.c: (main): * tools/gst-inspect.c: (print_element_properties_info): * tools/gst-xmlinspect.c: (print_element_properties): Fixed long standing mem-leak 2005-08-24 11:54:37 +0000 Jan Schmidt Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so that applications can sensibly post custom message... Original commit message from CVS: * check/gst/gstbin.c: (GST_START_TEST): * gst/gstbin.c: (bin_bus_handler): * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy), (gst_message_new), (gst_message_new_eos), (gst_message_new_error), (gst_message_new_warning), (gst_message_new_tag), (gst_message_new_state_changed), (gst_message_new_segment_start), (gst_message_new_segment_done), (gst_message_new_custom): * gst/gstmessage.h: * tools/gst-launch.c: (event_loop): * tools/gst-md5sum.c: (event_loop): Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so that applications can sensibly post custom messages with references to their own objects. 2005-08-24 11:44:24 +0000 Wim Taymans gst/base/gstbasetransform.*: Many fixes and new features added by Thomas. Can now also do transforms with variable si... Original commit message from CVS: * gst/base/gstbasetransform.c: (gst_base_transform_init), (gst_base_transform_transform_caps), (gst_base_transform_transform_size), (gst_base_transform_configure_caps), (gst_base_transform_setcaps), (gst_base_transform_get_size), (gst_base_transform_buffer_alloc), (gst_base_transform_handle_buffer): * gst/base/gstbasetransform.h: Many fixes and new features added by Thomas. Can now also do transforms with variable sizes and a custom fixate_caps function. 2005-08-24 11:36:49 +0000 Andy Wingo gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed already. Original commit message from CVS: 2005-08-24 Andy Wingo * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed already. 2005-08-24 11:22:32 +0000 Wim Taymans gst/gstbuffer.c: Some debugging. Original commit message from CVS: * gst/gstbuffer.c: (gst_buffer_new_and_alloc): Some debugging. * gst/gstclock.h: Cast to ClockTime before formatting to time. * gst/gstutils.h: Cleanups. 2005-08-23 21:32:31 +0000 Stefan Kost gracefully handle helper method calls to objects that are not beeing controlled, added test case for that Original commit message from CVS: * check/gst-libs/controller.c: (GST_START_TEST), (gst_controller_suite): * docs/gst/tmpl/gstcaps.sgml: * docs/gst/tmpl/gstghostpad.sgml: * docs/gst/tmpl/gstquery.sgml: * docs/gst/tmpl/gstutils.sgml: * libs/gst/controller/gst-helper.c: (gst_object_set_controller), (gst_object_sink_values), (gst_object_get_value_arrays), (gst_object_get_value_array): gracefully handle helper method calls to objects that are not beeing controlled, added test case for that 2005-08-23 18:17:01 +0000 Wim Taymans gst/gstevent.*: Some more debugging output and doc cleanups. Original commit message from CVS: * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom), (gst_event_new_newsegment), (gst_event_parse_newsegment), (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos), (gst_event_parse_qos), (gst_event_new_seek), (gst_event_parse_seek): * gst/gstevent.h: Some more debugging output and doc cleanups. * gst/gstqueue.c: (gst_queue_handle_sink_event): Fix possible deadlock. 2005-08-23 14:25:55 +0000 Stefan Kost added about 100 symbols from gstreamer-unused.txt to the right sections fixed more broken comments added GstBus to docs Original commit message from CVS: * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * docs/gst/gstreamer.types: * docs/gst/tmpl/.cvsignore: * gst/gstbin.h: * gst/gstbus.c: * gst/gstelement.c: * gst/gstevent.h: added about 100 symbols from gstreamer-unused.txt to the right sections fixed more broken comments added GstBus to docs 2005-08-23 11:53:58 +0000 Stefan Kost inlined more doc comments, added missing comments and fixed comments fixed typos Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * docs/gst/tmpl/.cvsignore: * docs/gst/tmpl/gstbin.sgml: * docs/gst/tmpl/gstbuffer.sgml: * gst/base/gstbasesrc.c: * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init): * gst/gstbuffer.c: * gst/gstbuffer.h: * tools/gst-launch.1.in: inlined more doc comments, added missing comments and fixed comments fixed typos 2005-08-23 11:38:28 +0000 Thomas Vander Stichele gst/gstbuffer.c: some debugging Original commit message from CVS: * gst/gstbuffer.c: (gst_buffer_new_and_alloc): some debugging * gst/gstcaps.h: whitespace fixes * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer): more debugging * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean): * gst/gststructure.h: add a fixate function for booleans; add a FIXME that these func names should probably be gst_structure_fixate_* 2005-08-22 21:03:33 +0000 Stefan Kost ported gstchildproxy over from 0.8 ported gst-inspect fixes and enhancements over from 0.8 Original commit message from CVS: * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * gst/Makefile.am: * gst/gstbin.c: (gst_bin_get_type), (gst_bin_child_proxy_get_child_by_index), (gst_bin_child_proxy_get_children_count), (gst_bin_child_proxy_init): * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name), (gst_child_proxy_get_child_by_index), (gst_child_proxy_get_children_count), (gst_child_proxy_lookup), (gst_child_proxy_get_property), (gst_child_proxy_get_valist), (gst_child_proxy_get), (gst_child_proxy_set_property), (gst_child_proxy_set_valist), (gst_child_proxy_set), (gst_child_proxy_child_added), (gst_child_proxy_child_removed), (gst_child_proxy_base_init), (gst_child_proxy_get_type): * gst/gstchildproxy.h: * gst/parse/grammar.y: * tools/gst-inspect.c: (print_interfaces), (print_element_properties_info), (print_element_info): ported gstchildproxy over from 0.8 ported gst-inspect fixes and enhancements over from 0.8 2005-08-22 19:48:46 +0000 Wim Taymans gst/base/gstbasetransform.c: Also call the transform function if we have ANY caps. Original commit message from CVS: * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps), (gst_base_transform_handle_buffer): Also call the transform function if we have ANY caps. * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time): Fix debug info. 2005-08-22 19:22:34 +0000 Jan Schmidt gst/base/gstbasesrc.c: (gst_base_src_event_handler) Original commit message from CVS: * gst/base/gstbasesrc.c: (gst_base_src_event_handler) Don't pretend to handle seek events if the source is not seekable 2005-08-22 18:48:48 +0000 Jan Schmidt gst/base/gstbasesink.c: Remove extra parameter to debug output Original commit message from CVS: * gst/base/gstbasesink.c: (gst_base_sink_handle_object): Remove extra parameter to debug output * gst/base/gstbasesrc.c: (gst_base_src_send_discont), (gst_base_src_do_seek), (gst_base_src_activate_push): Fix seek event handling. * gst/gstpipeline.c: (gst_pipeline_change_state): * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_src_activate_push): Don't start the src pad task on FLUSH_STOP if the pad isn't linked. Debug changes. 2005-08-22 15:12:56 +0000 Andy Wingo gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto macro, implements an interface and gstimplementsinterface... Original commit message from CVS: 2005-08-22 Andy Wingo * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto macro, implements an interface and gstimplementsinterface for a new type. 2005-08-22 15:08:44 +0000 Wim Taymans check/gst/gstcaps.c: Added check for gst_static_caps_get() refcounting. Original commit message from CVS: * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite): Added check for gst_static_caps_get() refcounting. 2005-08-22 14:35:42 +0000 Wim Taymans gst/gstcaps.c: Make _static_caps_get() refcounting sane. Original commit message from CVS: * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string): Make _static_caps_get() refcounting sane. * gst/gstelement.c: (gst_element_set_state): Add g_return_val_if_fail() to protect against segfaults. 2005-08-22 10:37:02 +0000 Stefan Kost inlined remaining docs, added missing doc comments Original commit message from CVS: * docs/gst/tmpl/gstevent.sgml: * gst/gstevent.c: * gst/gstevent.h: inlined remaining docs, added missing doc comments 2005-08-22 09:25:51 +0000 Thomas Vander Stichele check/gst/gstbin.c: since we don't know when preroll is done, use refcount range check for the sink Original commit message from CVS: * check/gst/gstbin.c: (GST_START_TEST): since we don't know when preroll is done, use refcount range check for the sink * gst/check/gstcheck.h: add macro for checking refcount range 2005-08-21 16:53:08 +0000 Thomas Vander Stichele * check/gst/gstbin.c: * tests/check/gst/gstbin.c: figure this out for HT machines Original commit message from CVS: figure this out for HT machines 2005-08-21 15:21:49 +0000 Thomas Vander Stichele * check/gst/gstbin.c: * tests/check/gst/gstbin.c: some funky HT/multicpu vs single difference Original commit message from CVS: some funky HT/multicpu vs single difference 2005-08-21 15:01:18 +0000 Thomas Vander Stichele check/Makefile.am: clean up environment for when registry gets built versus when actual tests are run; valgrind seems... Original commit message from CVS: * check/Makefile.am: clean up environment for when registry gets built versus when actual tests are run; valgrind seems to not report leaks if GST_PLUGIN_PATH is set to some specific values * check/gst/gstbin.c: (GST_START_TEST): add more refcounting checks; maybe this exposes a preroll lock bug ? * common/check.mak: * gst/base/gstbasesink.c: (gst_base_sink_handle_object): * gst/check/gstcheck.h: * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state), (gst_bin_change_state): * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain): add/fix debugging/whitespace 2005-08-21 11:40:44 +0000 Jan Schmidt check/gst/gstevent.c: Er, don't call gst_bin_watch_for_state_change you idiot. Original commit message from CVS: * check/gst/gstevent.c: (event_probe), (test_event), (GST_START_TEST): Er, don't call gst_bin_watch_for_state_change you idiot. 2005-08-21 11:15:57 +0000 Thomas Vander Stichele * check/Makefile.am: * common: * tests/check/Makefile.am: run valgrind with proper env Original commit message from CVS: run valgrind with proper env 2005-08-21 10:54:47 +0000 Jan Schmidt check/Makefile.am: Use CHECK_CFLAGS and CHECK_LIBS Original commit message from CVS: * check/Makefile.am: Use CHECK_CFLAGS and CHECK_LIBS * check/gst/gstevent.c: (event_probe), (test_event), (GST_START_TEST): Don't leak events. * gst/base/gstbasesrc.c: (gst_base_src_send_discont), (gst_base_src_start), (gst_base_src_stop), (gst_base_src_activate_push), (gst_base_src_activate_pull), (gst_base_src_change_state): Sprinkle gst_base_src_stop liberally around error paths to fix problems reusing a source after failed state changes. * gst/base/gsttypefindhelper.c: (helper_find_peek), (helper_find_suggest), (gst_type_find_helper): Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL * gst/gstevent.h: * docs/gst/tmpl/gstevent.sgml: Migrate part of the docs from the SGML file. Wait for ensonic to tell me how I did it wrong ;) * tools/gst-typefind.c: (main): Extra robustness to state changes between files. 2005-08-21 10:39:39 +0000 Thomas Vander Stichele check/Makefile.am: don't valgrind the controller test - it's leaking - Stefan, HELP Original commit message from CVS: * check/Makefile.am: don't valgrind the controller test - it's leaking - Stefan, HELP * gst/check/gstcheck.c: (gst_check_message_error), (gst_check_chain_func), (gst_check_setup_element), (gst_check_teardown_element), (gst_check_setup_src_pad), (gst_check_teardown_src_pad), (gst_check_setup_sink_pad), (gst_check_teardown_sink_pad): * gst/check/gstcheck.h: add a bunch of methods to set up elements, and src and sink pads * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc): * check/elements/identity.c: (setup_identity), (cleanup_identity), (GST_START_TEST): use them * gst/gstmessage.c: * gst/gsttag.h: whitespace/doc fixes 2005-08-20 20:30:36 +0000 Thomas Vander Stichele * ChangeLog: * gst/gstelement.h: make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should be handled by the application and not always pri... Original commit message from CVS: make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should be handled by the application and not always printed as well 2005-08-20 20:15:53 +0000 Thomas Vander Stichele check/Makefile.am: set GST_TOOLS_DIR Original commit message from CVS: * check/Makefile.am: set GST_TOOLS_DIR * gst/check/gstcheck.c: (gst_check_message_error): * gst/check/gstcheck.h: add a fail_unless_equals_int add fail_unless for error messages 2005-08-20 14:00:11 +0000 Thomas Vander Stichele * ChangeLog: * check/Makefile.am: * check/gst.supp: * common: * tests/check/Makefile.am: * tests/check/gst.supp: factor out the common stuff Original commit message from CVS: factor out the common stuff 2005-08-20 13:17:42 +0000 Thomas Vander Stichele * gst/Makefile.am: work on builds without check Original commit message from CVS: work on builds without check 2005-08-20 12:47:08 +0000 Thomas Vander Stichele * check/Makefile.am: * tests/check/Makefile.am: renamed test Original commit message from CVS: renamed test 2005-08-20 12:43:18 +0000 Thomas Vander Stichele * check/Makefile.am: * check/gst/gstevent.c: * tests/check/Makefile.am: * tests/check/gst/gstevent.c: put some make-up on the gstevent test Original commit message from CVS: put some make-up on the gstevent test 2005-08-20 12:39:05 +0000 Thomas Vander Stichele * ChangeLog: * check/Makefile.am: * check/gst/gstiterator.c: * check/gst/gstsystemclock.c: * check/gst/gsttag.c: * gst/gstclock.c: * gst/gstiterator.c: * tests/check/Makefile.am: * tests/check/gst/gstiterator.c: * tests/check/gst/gstsystemclock.c: * tests/check/gst/gsttag.c: valgrind more tests Original commit message from CVS: valgrind more tests 2005-08-20 12:14:28 +0000 Thomas Vander Stichele * ChangeLog: * check/Makefile.am: * check/elements/.gitignore: * check/elements/fakesrc.c: * check/elements/identity.c: * check/gst-libs/controller.c: * check/gst-libs/gdp.c: * check/gst/gst.c: * check/gst/gstbin.c: * check/gst/gstbuffer.c: * check/gst/gstbus.c: * check/gst/gstcaps.c: * check/gst/gstelement.c: * check/gst/gstghostpad.c: * check/gst/gstiterator.c: * check/gst/gstmessage.c: * check/gst/gstminiobject.c: * check/gst/gstobject.c: * check/gst/gstpad.c: * check/gst/gststructure.c: * check/gst/gstsystemclock.c: * check/gst/gsttag.c: * check/gst/gstvalue.c: * check/pipelines/cleanup.c: * check/pipelines/simple_launch_lines.c: * check/states/sinks.c: * configure.ac: * docs/gst/gstreamer-sections.txt: * docs/gst/tmpl/gstpad.sgml: * gst/Makefile.am: * gst/check/Makefile.am: * gst/check/gstcheck.c: * gst/check/gstcheck.h: * gst/gstminiobject.c: * libs/gst/check/Makefile.am: * libs/gst/check/gstcheck.c: * libs/gst/check/gstcheck.h: * pkgconfig/Makefile.am: * pkgconfig/gstreamer-check-uninstalled.pc.in: * pkgconfig/gstreamer-check.pc.in: * tests/check/Makefile.am: * tests/check/elements/.gitignore: * tests/check/elements/fakesrc.c: * tests/check/elements/identity.c: * tests/check/generic/sinks.c: * tests/check/gst/gst.c: * tests/check/gst/gstbin.c: * tests/check/gst/gstbuffer.c: * tests/check/gst/gstbus.c: * tests/check/gst/gstcaps.c: * tests/check/gst/gstelement.c: * tests/check/gst/gstghostpad.c: * tests/check/gst/gstiterator.c: * tests/check/gst/gstmessage.c: * tests/check/gst/gstminiobject.c: * tests/check/gst/gstobject.c: * tests/check/gst/gstpad.c: * tests/check/gst/gststructure.c: * tests/check/gst/gstsystemclock.c: * tests/check/gst/gsttag.c: * tests/check/gst/gstvalue.c: * tests/check/libs/controller.c: * tests/check/libs/gdp.c: * tests/check/pipelines/cleanup.c: * tests/check/pipelines/simple-launch-lines.c: move check stuff to its own library to be used by other modules Original commit message from CVS: move check stuff to its own library to be used by other modules 2005-08-19 09:58:42 +0000 Stefan Kost eliminate another tmpl file, fix spelling in the long-description Original commit message from CVS: * docs/gst/tmpl/gst.sgml: * gst/gst.c: eliminate another tmpl file, fix spelling in the long-description 2005-08-18 16:42:49 +0000 Jan Schmidt check/gst/gstevents.c: Should fix build on 64-bit arch's Original commit message from CVS: * check/gst/gstevents.c: (GST_START_TEST), (event_probe), (test_event), (timediff), (gstevents_suite): Should fix build on 64-bit arch's 2005-08-18 16:20:24 +0000 Andy Wingo Make sure that when a pipeline goes to PLAYING, that data has actually hit the sink. Original commit message from CVS: 2005-08-18 Andy Wingo Make sure that when a pipeline goes to PLAYING, that data has actually hit the sink. * check/states/sinks.c (test_sink): A sink that doesn't get any data shouldn't return SUCCESS for going to either PLAYING or PAUSED. Test also the return values on the way back down. * gst/gstelement.c (gst_element_set_state): When changing the state of an element currently changing state asynchronously, go to lost-state after commiting the pending state. Makes future calls to get_state continue to return ASYNC. * gst/base/gstbasesink.c (gst_base_sink_change_state): Return ASYNC when going to PLAYING if we still don't have preroll, as can happen with live sources. 2005-08-18 16:15:28 +0000 Jan Schmidt docs/pwg/advanced-types.xml: Hack long paragraph into 2 chunks as a workaround for buggy jadetex version in sid and b... Original commit message from CVS: * docs/pwg/advanced-types.xml: Hack long paragraph into 2 chunks as a workaround for buggy jadetex version in sid and breezy that loops infinitely and eats all RAM. 2005-08-18 16:00:34 +0000 Jan Schmidt check/gst/gstevents.c: Provide more error margin in clock measurements to allow for g_get_current_time inaccuracies. Original commit message from CVS: * check/gst/gstevents.c: (GST_START_TEST), (event_probe), (test_event), (timediff), (gstevents_suite): Provide more error margin in clock measurements to allow for g_get_current_time inaccuracies. 2005-08-18 15:47:16 +0000 Jan Schmidt check/gst/gstevents.c: Fix error message output so I might be able to tell why the test works here but fails on the b... Original commit message from CVS: * check/gst/gstevents.c: (GST_START_TEST), (event_probe), (test_event), (timediff), (gstevents_suite): Fix error message output so I might be able to tell why the test works here but fails on the build farm. 2005-08-18 15:31:28 +0000 Jan Schmidt check/: I wrote a test! Original commit message from CVS: * check/Makefile.am: * check/gst/gstevents.c: (GST_START_TEST), (event_probe), (test_event), (timediff), (gstevents_suite), (main): I wrote a test! * docs/design/part-seeking.txt: Spelling correction * docs/gst/tmpl/gstevent.sgml: Docs updates. * gst/base/gstbasesink.c: (gst_base_sink_handle_object): Treat a buffer-without-newsegment the same as a receiving a newsegment not in time format, and disable syncing to the clock with a warning. * gst/gstbus.c: (gst_bus_set_sync_handler): Assert if anyone tries to replace the existing sync_handler for bus, as only the owner should be setting it. * gst/gstevent.h: Have a fixed set of custom event enums with events identified by their structure name (as in 0.8), rather than a free-for-all allowing collisions between enum values from different plugins. * gst/gstpad.c: (gst_pad_class_init): Docs change. * gst/gstqueue.c: (gst_queue_handle_sink_event): Handle out-of-band downstream events from the sending thread. 2005-08-17 16:57:01 +0000 Andy Wingo gst/gstpipeline.c (gst_pipeline_change_state): Interpret play-timeout==0 to mean no timeout at all. In that case, don... Original commit message from CVS: 2005-08-17 Andy Wingo * gst/gstpipeline.c (gst_pipeline_change_state): Interpret play-timeout==0 to mean no timeout at all. In that case, don't bother with a get_state or a warning, just return directly, even if it's ASYNC. 2005-08-17 16:33:27 +0000 Andy Wingo gst/base/gstbasetransform.c: Debug changes. Original commit message from CVS: 2005-08-17 Andy Wingo * gst/base/gstbasetransform.c: Debug changes. * gst/gstutils.h: * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to ensure bins post state change messages. A bit of a hack but I can't think of a way to avoid it. * check/gst/gstbin.c (test_watch_for_state_change): Added test. 2005-08-16 17:23:55 +0000 Andy Wingo gst/base/gstadapter.*: New function, like peek() but you own the data. Not terribly efficient atm. Original commit message from CVS: 2005-08-16 Andy Wingo * gst/base/gstadapter.h: * gst/base/gstadapter.c (gst_adapter_take): New function, like peek() but you own the data. Not terribly efficient atm. 2005-08-16 16:29:04 +0000 Ronald S. Bultje gst/gstutils.*: Add two utility functions for tag handling. Original commit message from CVS: * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref), (gst_element_found_tags): * gst/gstutils.h: Add two utility functions for tag handling. 2005-08-16 12:15:46 +0000 Ronald S. Bultje docs/manual/: Fix docs to use _bin_add() before _link(), which fixes the examples with recent core versions (reported... Original commit message from CVS: * docs/manual/advanced-dataaccess.xml: * docs/manual/basics-helloworld.xml: Fix docs to use _bin_add() before _link(), which fixes the examples with recent core versions (reported by Madhan Raj M , #313199). 2005-08-16 09:42:50 +0000 Wim Taymans check/gst/gstvalue.c: Added subtract checks. Original commit message from CVS: * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite): Added subtract checks. * docs/design/part-events.txt: Some more docs about newsegment * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler): Fix FIXME * gst/gstcaps.c: (gst_caps_to_string): Add comments, cleanups. * gst/gstelement.c: (gst_element_save_thyself): cleanups * gst/gstvalue.c: (gst_value_collect_int_range), (gst_string_unwrap), (gst_value_union_int_int_range), (gst_value_union_int_range_int_range), (gst_value_intersect_int_int_range), (gst_value_intersect_int_range_int_range), (gst_value_intersect_double_double_range), (gst_value_intersect_double_range_double_range), (gst_value_intersect_list), (gst_value_subtract_int_int_range), (gst_value_subtract_int_range_int), (gst_value_subtract_double_range_double), (gst_value_subtract_double_range_double_range), (gst_value_subtract_from_list), (gst_value_subtract_list), (gst_value_can_compare), (gst_value_compare_fraction): Cleanups, add comments, remove unneeded asserts. 2005-08-15 18:15:38 +0000 Thomas Vander Stichele * ChangeLog: * gst/gstbus.c: * tools/gst-launch.c: don't convert NULL structures to strings Original commit message from CVS: don't convert NULL structures to strings 2005-08-15 16:57:34 +0000 Stefan Kost docs/gst/gstreamer-sections.txt: made some defines private Original commit message from CVS: * docs/gst/gstreamer-sections.txt: made some defines private * docs/gst/tmpl/gstconfig.sgml: * docs/gst/tmpl/gstqueue.sgml: * docs/gst/tmpl/gsttaglist.sgml: * docs/gst/tmpl/gsttypes.sgml: * docs/gst/tmpl/gstutils.sgml: * docs/pwg/appendix-porting.xml: * gst/base/gstbasesink.h: * gst/base/gstbasesrc.c: * gst/base/gstbasesrc.h: * gst/elements/gstfakesink.c: (gst_fake_sink_class_init): * gst/elements/gstfakesrc.c: (gst_fake_src_class_init): * gst/gstelement.c: (gst_element_class_init): * gst/gstpad.c: (gst_pad_class_init): * gst/gstqueue.c: (gst_queue_class_init): * gst/gstxml.c: (gst_xml_class_init): documented all undocumented signal inline * libs/gst/controller/gst-controller.h: added padding 2005-08-15 09:56:19 +0000 Ronald S. Bultje docs/pwg/appendix-porting.xml: Document _set_link_function -> _set_setcaps_function. Original commit message from CVS: * docs/pwg/appendix-porting.xml: Document _set_link_function -> _set_setcaps_function. 2005-08-14 22:29:07 +0000 Thomas Vander Stichele check/Makefile.am: add a .check target for running the check Original commit message from CVS: * check/Makefile.am: add a .check target for running the check * check/gst-libs/controller.c: (GST_START_TEST): cosmetic fixups * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite): complete checks for gstbuffer; would be nice if I could get the gcov stuff to work so I can see if I actually completed gstbuffer.c * check/gstcheck.h: add ASSERT_BUFFER_REFCOUNT 2005-08-13 11:45:50 +0000 Thomas Vander Stichele * win32/MANIFEST: remove spider from dist Original commit message from CVS: remove spider from dist 2005-08-13 11:43:13 +0000 Thomas Vander Stichele * win32/gstspider.vcproj: removed from HEAD Original commit message from CVS: removed from HEAD 2005-08-13 10:33:22 +0000 Tim-Philipp Müller Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't spew out a warning if a tag that is already registered is re-r... Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register): * gst/gsttag.h: Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't spew out a warning if a tag that is already registered is re-registered, unless it is re-registered with a different type (#308438). 2005-08-12 14:30:31 +0000 Tim-Philipp Müller docs/pwg/: Add some paragraphs about state changes in 0.9 to the PWG and the porting guide, in particular about the n... Original commit message from CVS: * docs/pwg/appendix-porting.xml: * docs/pwg/building-state.xml: Add some paragraphs about state changes in 0.9 to the PWG and the porting guide, in particular about the new meaning of GST_STATE_PAUSED and how to write state change functions with concurrent access by multiple threads in mind. 2005-08-11 17:39:48 +0000 Stefan Kost * ChangeLog: * docs/gst/gstreamer-docs.sgml: * docs/libs/gstreamer-libs-docs.sgml: * libs/gst/controller/gst-controller.c: * libs/gst/controller/gst-helper.c: * libs/gst/controller/gstcontroller.c: * libs/gst/controller/gsthelper.c: added deprecation and since indexes added since tags Original commit message from CVS: added deprecation and since indexes added since tags 2005-08-11 14:24:58 +0000 Wim Taymans gst/gstghostpad.c: Actually implement (re)setting the target on a ghostpad as described in the docs. Original commit message from CVS: * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_set_target), (gst_proxy_pad_get_target), (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal), (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target), (gst_ghost_pad_set_target): Actually implement (re)setting the target on a ghostpad as described in the docs. 2005-08-10 21:19:01 +0000 Tim-Philipp Müller gst/gst.c: Check whether GST_DEBUG_NO_COLOR environment variable is set and disable coloured debug output if that is ... Original commit message from CVS: * gst/gst.c: (gst_init_check_with_popt_table), (init_pre): Check whether GST_DEBUG_NO_COLOR environment variable is set and disable coloured debug output if that is the case. 2005-08-10 15:08:03 +0000 Tim-Philipp Müller gst/base/gsttypefindhelper.c: The memory returned by gst_type_find_peek() needs to stay valid until the end of a type... Original commit message from CVS: * gst/base/gsttypefindhelper.c: (helper_find_peek), (gst_type_find_helper): The memory returned by gst_type_find_peek() needs to stay valid until the end of a typefind function, and typefind functions may keep results from different offsets around, so we can't just unref the buffer from the previous _peek(), but have to save all buffers returned by _peek() until typefinding is done and only free them then. 2005-08-09 16:25:45 +0000 Tim-Philipp Müller New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64(). Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstutils.h: New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64(). 2005-08-08 16:01:12 +0000 Christian Schaller * gstreamer.spec.in: fix up spec for latest CVS changes Original commit message from CVS: fix up spec for latest CVS changes 2005-08-08 15:08:14 +0000 Ronald S. Bultje gst/base/gstbasetransform.c: Fix a pretty good memleak. Original commit message from CVS: * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc): Fix a pretty good memleak. 2005-08-08 13:55:37 +0000 Tim-Philipp Müller gst/gstiterator.h: Fix wrong include and 'make distcheck'. Original commit message from CVS: * gst/gstiterator.h: Fix wrong include and 'make distcheck'. 2005-08-08 13:38:34 +0000 Ronald S. Bultje gst/gstbin.c: Use gst_element_post_message() instead. Original commit message from CVS: * gst/gstbin.c: (bin_bus_handler): Use gst_element_post_message() instead. 2005-08-08 13:31:09 +0000 Tim-Philipp Müller gst/: Add padding to our base elements' class and instance structs and to GstIterator (you will need to rebuild all p... Original commit message from CVS: * gst/base/gstadapter.h: * gst/base/gstbasesink.h: * gst/base/gstbasesrc.h: * gst/base/gstbasetransform.h: * gst/base/gstcollectpads.h: * gst/base/gstpushsrc.h: * gst/gstiterator.h: Add padding to our base elements' class and instance structs and to GstIterator (you will need to rebuild all plugins and apps!) 2005-08-08 13:17:07 +0000 Ronald S. Bultje gst/gstbin.c: Make default message forwarding from child->bus to bin->bus threadsafe and make it not emit warnings if... Original commit message from CVS: * gst/gstbin.c: (bin_bus_handler): Make default message forwarding from child->bus to bin->bus threadsafe and make it not emit warnings if the parent has no bus. 2005-08-08 12:14:20 +0000 Ronald S. Bultje gst/gstelement.c: On paused->ready, set pad->caps to NULL, as is the documented behaviour in this state change. Fixes... Original commit message from CVS: * gst/gstelement.c: (activate_pads): On paused->ready, set pad->caps to NULL, as is the documented behaviour in this state change. Fixes playback of series of media files when visualization is enabled in Totem. 2005-08-07 13:37:08 +0000 Ronald S. Bultje gst/elements/gstcapsfilter.c: Allow NULL as filter-caps (which means "any"). Original commit message from CVS: * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property): Allow NULL as filter-caps (which means "any"). 2005-08-05 17:28:30 +0000 Stefan Kost * ChangeLog: * common: * docs/libs/gstreamer-libs-sections.txt: * libs/gst/controller/gst-controller.c: * libs/gst/controller/gst-controller.h: * libs/gst/controller/gst-helper.c: * libs/gst/controller/gstcontroller.c: * libs/gst/controller/gstcontroller.h: * libs/gst/controller/gsthelper.c: adding more entries to the docs and fix small doc-bugs Original commit message from CVS: adding more entries to the docs and fix small doc-bugs 2005-08-05 13:42:10 +0000 Stefan Kost * check/gst-libs/.gitignore: * docs/gst/gstreamer-sections.txt: * docs/gst/tmpl/.gitignore: * docs/gst/tmpl/gstfakesink.sgml: * docs/gst/tmpl/gstfakesrc.sgml: * docs/gst/tmpl/gstfilesink.sgml: * docs/gst/tmpl/gstfilesrc.sgml: * gst/elements/gstfakesink.c: * gst/elements/gstfakesrc.c: * gst/elements/gstfilesink.c: * gst/elements/gstfilesrc.c: * plugins/elements/gstfakesink.c: * plugins/elements/gstfakesrc.c: * plugins/elements/gstfilesink.c: * plugins/elements/gstfilesrc.c: * tests/check/libs/.gitignore: migrated some more docs to be inlined in the sources Original commit message from CVS: migrated some more docs to be inlined in the sources 2005-08-05 12:59:46 +0000 Stefan Kost * ChangeLog: * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * docs/gst/gstreamer.types: * docs/gst/tmpl/gstbasesink.sgml: * docs/gst/tmpl/gstbasesrc.sgml: * docs/gst/tmpl/gstbasetransform.sgml: * docs/gst/tmpl/gstfakesrc.sgml: * gst/base/gstcollectpads.c: * gst/base/gstcollectpads.h: * libs/gst/base/gstcollectpads.c: * libs/gst/base/gstcollectpads.h: * libs/gst/controller/gst-controller.c: * libs/gst/controller/gst-controller.h: * libs/gst/controller/gst-helper.c: * libs/gst/controller/gst-interpolation.c: * libs/gst/controller/gstcontroller.c: * libs/gst/controller/gstcontroller.h: * libs/gst/controller/gsthelper.c: * libs/gst/controller/gstinterpolation.c: * libs/gst/controller/lib.c: * po/af.po: * po/az.po: * po/ca.po: * po/cs.po: * po/de.po: * po/en_GB.po: * po/fr.po: * po/it.po: * po/nb.po: * po/nl.po: * po/ru.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: added long/short desc for controller docs added collectpads base class docs added correct includes to base-class docs Original commit message from CVS: added long/short desc for controller docs added collectpads base class docs added correct includes to base-class docs 2005-08-05 10:02:44 +0000 Stefan Kost * ChangeLog: * check/gst-libs/controller.c: * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * docs/gst/gstreamer.types: * docs/gst/tmpl/gst.sgml: * docs/gst/tmpl/gstbasesink.sgml: * docs/gst/tmpl/gstbasesrc.sgml: * docs/gst/tmpl/gstbasetransform.sgml: * docs/gst/tmpl/gstbin.sgml: * docs/gst/tmpl/gstbuffer.sgml: * docs/gst/tmpl/gstcaps.sgml: * docs/gst/tmpl/gstclock.sgml: * docs/gst/tmpl/gstcompat.sgml: * docs/gst/tmpl/gstconfig.sgml: * docs/gst/tmpl/gstelement.sgml: * docs/gst/tmpl/gstelementdetails.sgml: * docs/gst/tmpl/gstelementfactory.sgml: * docs/gst/tmpl/gstenumtypes.sgml: * docs/gst/tmpl/gsterror.sgml: * docs/gst/tmpl/gstevent.sgml: * docs/gst/tmpl/gstfakesink.sgml: * docs/gst/tmpl/gstfakesrc.sgml: * docs/gst/tmpl/gstfilesink.sgml: * docs/gst/tmpl/gstfilesrc.sgml: * docs/gst/tmpl/gstfilter.sgml: * docs/gst/tmpl/gstformat.sgml: * docs/gst/tmpl/gstghostpad.sgml: * docs/gst/tmpl/gstimplementsinterface.sgml: * docs/gst/tmpl/gstindex.sgml: * docs/gst/tmpl/gstindexfactory.sgml: * docs/gst/tmpl/gstinfo.sgml: * docs/gst/tmpl/gstiterator.sgml: * docs/gst/tmpl/gstmacros.sgml: * docs/gst/tmpl/gstmemchunk.sgml: * docs/gst/tmpl/gstminiobject.sgml: * docs/gst/tmpl/gstobject.sgml: * docs/gst/tmpl/gstpad.sgml: * docs/gst/tmpl/gstpadtemplate.sgml: * docs/gst/tmpl/gstparse.sgml: * docs/gst/tmpl/gstpipeline.sgml: * docs/gst/tmpl/gstplugin.sgml: * docs/gst/tmpl/gstpluginfeature.sgml: * docs/gst/tmpl/gstquery.sgml: * docs/gst/tmpl/gstqueue.sgml: * docs/gst/tmpl/gstregistry.sgml: * docs/gst/tmpl/gstregistrypool.sgml: * docs/gst/tmpl/gststructure.sgml: * docs/gst/tmpl/gstsystemclock.sgml: * docs/gst/tmpl/gsttaglist.sgml: * docs/gst/tmpl/gsttagsetter.sgml: * docs/gst/tmpl/gsttrace.sgml: * docs/gst/tmpl/gsttrashstack.sgml: * docs/gst/tmpl/gsttypefind.sgml: * docs/gst/tmpl/gsttypefindfactory.sgml: * docs/gst/tmpl/gsttypes.sgml: * docs/gst/tmpl/gsturihandler.sgml: * docs/gst/tmpl/gsturitype.sgml: * docs/gst/tmpl/gstutils.sgml: * docs/gst/tmpl/gstvalue.sgml: * docs/gst/tmpl/gstversion.sgml: * docs/gst/tmpl/gstxml.sgml: * docs/libs/gstreamer-libs-docs.sgml: * docs/libs/gstreamer-libs-sections.txt: * docs/libs/tmpl/gstdataprotocol.sgml: * docs/libs/tmpl/gstgetbits.sgml: * gst/base/gstadapter.c: * libs/gst/base/gstadapter.c: * libs/gst/controller/gst-controller.c: * libs/gst/controller/gst-controller.h: * libs/gst/controller/gst-helper.c: * libs/gst/controller/gstcontroller.c: * libs/gst/controller/gstcontroller.h: * libs/gst/controller/gsthelper.c: * tests/check/libs/controller.c: more tests (and fixes) for the controller more docs for the controller integrated companies docs for the adapter Original commit message from CVS: more tests (and fixes) for the controller more docs for the controller integrated companies docs for the adapter 2005-08-05 06:57:27 +0000 Thomas Vander Stichele * check/gst-libs/controller.c: * tests/check/libs/controller.c: cosmetic fixes Original commit message from CVS: cosmetic fixes 2005-08-05 06:55:03 +0000 Thomas Vander Stichele * ChangeLog: * check/elements/gstfakesrc.c: * docs/gst/tmpl/gst.sgml: * docs/gst/tmpl/gstbasesink.sgml: * docs/gst/tmpl/gstbasesrc.sgml: * docs/gst/tmpl/gstbasetransform.sgml: * docs/gst/tmpl/gstbin.sgml: * docs/gst/tmpl/gstbuffer.sgml: * docs/gst/tmpl/gstcaps.sgml: * docs/gst/tmpl/gstclock.sgml: * docs/gst/tmpl/gstcompat.sgml: * docs/gst/tmpl/gstconfig.sgml: * docs/gst/tmpl/gstelement.sgml: * docs/gst/tmpl/gstelementdetails.sgml: * docs/gst/tmpl/gstelementfactory.sgml: * docs/gst/tmpl/gstenumtypes.sgml: * docs/gst/tmpl/gsterror.sgml: * docs/gst/tmpl/gstevent.sgml: * docs/gst/tmpl/gstfakesink.sgml: * docs/gst/tmpl/gstfakesrc.sgml: * docs/gst/tmpl/gstfilesink.sgml: * docs/gst/tmpl/gstfilesrc.sgml: * docs/gst/tmpl/gstfilter.sgml: * docs/gst/tmpl/gstformat.sgml: * docs/gst/tmpl/gstghostpad.sgml: * docs/gst/tmpl/gstimplementsinterface.sgml: * docs/gst/tmpl/gstindex.sgml: * docs/gst/tmpl/gstindexfactory.sgml: * docs/gst/tmpl/gstinfo.sgml: * docs/gst/tmpl/gstiterator.sgml: * docs/gst/tmpl/gstmacros.sgml: * docs/gst/tmpl/gstmemchunk.sgml: * docs/gst/tmpl/gstminiobject.sgml: * docs/gst/tmpl/gstobject.sgml: * docs/gst/tmpl/gstpad.sgml: * docs/gst/tmpl/gstpadtemplate.sgml: * docs/gst/tmpl/gstparse.sgml: * docs/gst/tmpl/gstpipeline.sgml: * docs/gst/tmpl/gstplugin.sgml: * docs/gst/tmpl/gstpluginfeature.sgml: * docs/gst/tmpl/gstquery.sgml: * docs/gst/tmpl/gstqueue.sgml: * docs/gst/tmpl/gstregistry.sgml: * docs/gst/tmpl/gstregistrypool.sgml: * docs/gst/tmpl/gststructure.sgml: * docs/gst/tmpl/gstsystemclock.sgml: * docs/gst/tmpl/gsttaglist.sgml: * docs/gst/tmpl/gsttagsetter.sgml: * docs/gst/tmpl/gsttrace.sgml: * docs/gst/tmpl/gsttrashstack.sgml: * docs/gst/tmpl/gsttypefind.sgml: * docs/gst/tmpl/gsttypefindfactory.sgml: * docs/gst/tmpl/gsttypes.sgml: * docs/gst/tmpl/gsturihandler.sgml: * docs/gst/tmpl/gsturitype.sgml: * docs/gst/tmpl/gstutils.sgml: * docs/gst/tmpl/gstvalue.sgml: * docs/gst/tmpl/gstversion.sgml: * docs/gst/tmpl/gstxml.sgml: * docs/libs/tmpl/gstdataprotocol.sgml: * docs/libs/tmpl/gstgetbits.sgml: * tests/check/elements/gstfakesrc.c: add sizetype tests for fakesrc Original commit message from CVS: add sizetype tests for fakesrc 2005-08-04 19:40:43 +0000 Andy Wingo gst/elements/gstcapsfilter.c: Reimplement using basetransform, fixes buffer_alloc proxying among other things. Original commit message from CVS: 2005-08-04 Andy Wingo * gst/elements/gstcapsfilter.c: Reimplement using basetransform, fixes buffer_alloc proxying among other things. * gst/base/gstbasetransform.c: * gst/base/gstbasetransform.h: Revert patch to gstbasetransform from 7-28 removing delay_configure. * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size): * gst/base/gstbasetransform.c (gst_base_transform_get_size): Semantics changed, should return not the size of the output buffer but the byte size of a buffer with a given caps. * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better debug object. (gst_base_transform_configure_caps): Don't set out_size here: (in, out) are not the pad caps until setcaps finishes. (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the not-in-place case as well. Deal with changing from in-place to not-in-place within calling pad_alloc_buffer. Still a bit concerned about the overhead here... 2005-08-04 11:56:57 +0000 Edward Hervey gst/base/gstadapter.h: Added gst_adapter_get_type() to the header Original commit message from CVS: * gst/base/gstadapter.h: Added gst_adapter_get_type() to the header 2005-08-03 16:10:06 +0000 Stefan Kost * check/Makefile.am: * tests/check/Makefile.am: fixed distcheck breakage Original commit message from CVS: fixed distcheck breakage 2005-08-03 15:59:11 +0000 Stefan Kost * ChangeLog: * check/Makefile.am: * check/gst-libs/controller.c: * gst/base/gstpushsrc.c: * libs/gst/base/gstpushsrc.c: * libs/gst/controller/gst-controller.c: * libs/gst/controller/gstcontroller.c: * tests/check/Makefile.am: * tests/check/libs/controller.c: added check test suite for the controller fixed a doc typo Original commit message from CVS: added check test suite for the controller fixed a doc typo 2005-08-03 13:30:18 +0000 Stefan Kost * ChangeLog: * docs/gst/Makefile.am: * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * docs/gst/gstreamer.types: * docs/gst/tmpl/gstfakesrc.sgml: * gst/base/README: * gst/base/gstbasesink.c: * gst/base/gstbasesink.h: * gst/base/gstbasesrc.c: * gst/base/gstbasesrc.h: * gst/base/gstbasetransform.c: * gst/base/gstpushsrc.c: * gst/base/gstpushsrc.h: * libs/gst/base/README: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesink.h: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasesrc.h: * libs/gst/base/gstbasetransform.c: * libs/gst/base/gstpushsrc.c: * libs/gst/base/gstpushsrc.h: add short/long description docs to base classes add pushsrc to the docs remove consolidated doc fragments Original commit message from CVS: add short/long description docs to base classes add pushsrc to the docs remove consolidated doc fragments 2005-08-02 21:39:34 +0000 Stefan Kost * pkgconfig/gstreamer-controller-uninstalled.pc.in: that one too Original commit message from CVS: that one too 2005-08-02 21:38:14 +0000 Stefan Kost * pkgconfig/gstreamer-controller.pc.in: added missing pc files Original commit message from CVS: added missing pc files 2005-08-02 21:35:34 +0000 Stefan Kost * ChangeLog: * configure.ac: * docs/gst/tmpl/gstevent.sgml: * docs/gst/tmpl/gstfakesrc.sgml: * docs/libs/Makefile.am: * docs/libs/gstreamer-libs-docs.sgml: * docs/libs/gstreamer-libs-sections.txt: * docs/libs/gstreamer-libs.types: * examples/Makefile.am: * examples/controller/.gitignore: * examples/controller/Makefile.am: * examples/controller/audio-example.c: * libs/gst/Makefile.am: * libs/gst/controller/.gitignore: * libs/gst/controller/Makefile.am: * libs/gst/controller/gst-controller.c: * libs/gst/controller/gst-controller.h: * libs/gst/controller/gst-helper.c: * libs/gst/controller/gst-interpolation.c: * libs/gst/controller/gstcontroller.c: * libs/gst/controller/gstcontroller.h: * libs/gst/controller/gsthelper.c: * libs/gst/controller/gstinterpolation.c: * libs/gst/controller/lib.c: * pkgconfig/Makefile.am: * pkgconfig/gstreamer-control-uninstalled.pc.in: * pkgconfig/gstreamer-control.pc.in: * tests/old/examples/Makefile.am: * tests/old/examples/controller/.gitignore: * tests/old/examples/controller/Makefile.am: * tests/old/examples/controller/audio-example.c: * tests/old/testsuite/Makefile.am: * tests/old/testsuite/controller/.gitignore: * tests/old/testsuite/controller/Makefile.am: * tests/old/testsuite/controller/interpolator.c: * testsuite/Makefile.am: * testsuite/controller/.gitignore: * testsuite/controller/Makefile.am: * testsuite/controller/interpolator.c: added controller code removed dparam pc files Original commit message from CVS: added controller code removed dparam pc files 2005-08-01 21:17:01 +0000 Jan Schmidt gst/base/gstcollectpads.c: Broadcast the condition when shutting down, to make sure we wake all threads up. Shut down... Original commit message from CVS: * gst/base/gstcollectpads.c: (gst_collectpads_finalize), (gst_collectpads_stop): Broadcast the condition when shutting down, to make sure we wake all threads up. Shut down pads on finalize, for safety. 2005-08-01 17:26:00 +0000 Jan Schmidt gst/base/gstbasetransform.c: Handle PAUSED->READY->PAUSED transition after negotiation occurred already. Original commit message from CVS: 2005-08-01 Jan Schmidt * gst/base/gstbasetransform.c: (gst_base_transform_init), (gst_base_transform_handle_buffer), (gst_base_transform_change_state): Handle PAUSED->READY->PAUSED transition after negotiation occurred already. * gst/gstmessage.c: (gst_message_init): Extra piece of debug for new messages. 2005-08-01 16:43:58 +0000 Stefan Kost * docs/libs/Makefile.am: remove dparams deps from the docs Original commit message from CVS: remove dparams deps from the docs 2005-08-01 16:17:31 +0000 Stefan Kost * ChangeLog: * configure.ac: * docs/gst/tmpl/gstbasesrc.sgml: * docs/gst/tmpl/gstelement.sgml: * docs/gst/tmpl/gstevent.sgml: * docs/gst/tmpl/gstfakesrc.sgml: * docs/gst/tmpl/gstformat.sgml: * docs/gst/tmpl/gstghostpad.sgml: * docs/gst/tmpl/gstpad.sgml: * docs/gst/tmpl/gstquery.sgml: * docs/gst/tmpl/gststructure.sgml: * docs/gst/tmpl/gsttaglist.sgml: * docs/gst/tmpl/gstvalue.sgml: * docs/libs/gstreamer-libs-docs.sgml: * docs/libs/gstreamer-libs-sections.txt: * docs/libs/gstreamer-libs.types: * libs/gst/Makefile.am: * libs/gst/control/.gitignore: * libs/gst/control/Makefile.am: * libs/gst/control/control.c: * libs/gst/control/control.h: * libs/gst/control/dparam.c: * libs/gst/control/dparam.h: * libs/gst/control/dparam_smooth.c: * libs/gst/control/dparam_smooth.h: * libs/gst/control/dparamcommon.h: * libs/gst/control/dparammanager.c: * libs/gst/control/dparammanager.h: * libs/gst/control/dplinearinterp.c: * libs/gst/control/dplinearinterp.h: * libs/gst/control/unitconvert.c: * libs/gst/control/unitconvert.h: * tests/old/testsuite/Makefile.am: * tests/old/testsuite/dynparams/.gitignore: * tests/old/testsuite/dynparams/Makefile.am: * tests/old/testsuite/dynparams/dparamstest.c: * testsuite/Makefile.am: * testsuite/dynparams/.gitignore: * testsuite/dynparams/Makefile.am: * testsuite/dynparams/dparamstest.c: * tools/Makefile.am: * tools/gst-inspect.c: * tools/gst-xmlinspect.c: deactivate and remove dparams (libgstcontrol) Original commit message from CVS: deactivate and remove dparams (libgstcontrol) 2005-08-01 11:15:47 +0000 Tim-Philipp Müller gst/elements/gsttypefindelement.*: Set caps on all outgoing buffers, not just the first one. Original commit message from CVS: * gst/elements/gsttypefindelement.c: (gst_type_find_element_have_type), (gst_type_find_element_init), (stop_typefinding), (gst_type_find_element_handle_event), (gst_type_find_element_chain), (gst_type_find_element_getrange): * gst/elements/gsttypefindelement.h: Set caps on all outgoing buffers, not just the first one. 2005-08-01 09:10:01 +0000 Tim-Philipp Müller gst/elements/gsttypefindelement.*: Set caps on first outgoing buffer when we've found the type. Original commit message from CVS: * gst/elements/gsttypefindelement.c: (gst_type_find_element_have_type), (gst_type_find_element_check_set_buffer_caps), (gst_type_find_element_init), (stop_typefinding), (gst_type_find_element_handle_event), (gst_type_find_element_chain), (gst_type_find_element_getrange): * gst/elements/gsttypefindelement.h: Set caps on first outgoing buffer when we've found the type. 2005-08-01 08:52:31 +0000 Tim-Philipp Müller docs/gst/: Remove some old cruft from docs. Original commit message from CVS: * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * docs/gst/tmpl/gstscheduler.sgml: * docs/gst/tmpl/gstschedulerfactory.sgml: Remove some old cruft from docs. 2005-07-31 11:59:33 +0000 Tim-Philipp Müller gst/gstpad.h: Fix inline docs for GstPadLinkReturn. Original commit message from CVS: * gst/gstpad.h: Fix inline docs for GstPadLinkReturn. * gst/gststructure.c: (gst_structure_has_name): * gst/gststructure.h: * docs/gst/gstreamer-sections.txt: New API: gst_structure_has_name(). 2005-07-30 15:00:07 +0000 Tim-Philipp Müller configure.ac: Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64 and _LARGEFILE_SOURCE in config.h as required... Original commit message from CVS: * configure.ac: Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64 and _LARGEFILE_SOURCE in config.h as required. Do not export those flags in our .pc files any longer (#142209). Remove unused GST_DISABLE_OMEGA_COTHREADS stuff. * gst/elements/gstfilesink.c: (gst_file_sink_class_init), (gst_file_sink_do_seek), (gst_file_sink_event), (gst_file_sink_get_current_offset), (gst_file_sink_render): Redo seek/tell calls with large file support in mind; add some debugging messages; add log message that tells us when large file support is unavailable or not enabled for some reason. * gst/elements/gstfilesrc.c: (gst_file_src_class_init): Add log message that tells us when large file support is unavailable or not enabled for some reason. 2005-07-29 19:22:28 +0000 Wim Taymans check/gst/gstghostpad.c: Added test for removing an element with ghostpad from a bin. Original commit message from CVS: * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite): Added test for removing an element with ghostpad from a bin. Fixed test as current implementation does the right thing. * gst/gstghostpad.c: (gst_proxy_pad_class_init), (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event), (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate), (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush), (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps), (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target), (gst_proxy_pad_get_target), (gst_proxy_pad_init), (gst_proxy_pad_dispose), (gst_proxy_pad_finalize), (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink), (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose), (gst_ghost_pad_new_notarget), (gst_ghost_pad_new), (gst_ghost_pad_get_target), (gst_ghost_pad_set_target): * gst/gstghostpad.h: Clean up ghostpads, remove properties for internal stuff. Make threadsafe. Fix refcounting. Prepare for switching targets, not all use cases work yet. 2005-07-29 19:19:29 +0000 Wim Taymans docs/design/part-gstghostpad.txt: Small update. Original commit message from CVS: * docs/design/part-gstghostpad.txt: Small update. * gst/gstbin.c: (unlink_pads), (gst_bin_add_func), (gst_bin_remove_func): Unlinking pads while holding the bin LOCK is not a good idea. * gst/gstpad.c: (gst_pad_class_init), (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked), (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event): No prob setting template after creating the pad. 2005-07-29 15:34:52 +0000 Jan Schmidt gst/gstbus.c: gst_bus_poll may be called from other threads. Handle this nicely by not making poll_data disappear off... Original commit message from CVS: * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek), (gst_bus_source_dispatch), (gst_bus_add_watch_full), (poll_handler), (poll_timeout), (poll_destroy), (poll_destroy_timeout), (gst_bus_poll): gst_bus_poll may be called from other threads. Handle this nicely by not making poll_data disappear off the stack once gst_bus_poll returns. gst_bus_peek now increments the refcount on the returned message. 2005-07-29 11:29:52 +0000 Wim Taymans docs/design/part-gstghostpad.txt: Overview of current GhostPad datastructures and use cases for changing the target. Original commit message from CVS: * docs/design/part-gstghostpad.txt: Overview of current GhostPad datastructures and use cases for changing the target. 2005-07-28 15:38:46 +0000 Wim Taymans check/gst/gstbin.c: Added checks for hierarchy consistency whan adding linked elements to bins. Original commit message from CVS: * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite): Added checks for hierarchy consistency whan adding linked elements to bins. * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite): Added check to test element scheduling without bin/pipeline. * check/pipelines/simple_launch_lines.c: (GST_START_TEST): First add elements to bin, then link. * gst/gstbin.c: (unlink_pads), (gst_bin_add_func), (gst_bin_remove_func): Unlink pads from elements added/removed from bin to maintain hierarchy consistency. 2005-07-28 11:49:56 +0000 Ronald S. Bultje gst/base/gstbasetransform.*: Remove broken delay_configure (fixes renegotiation of software scaling pipelines); remov... Original commit message from CVS: * gst/base/gstbasetransform.c: (gst_base_transform_setcaps), (gst_base_transform_handle_buffer): * gst/base/gstbasetransform.h: Remove broken delay_configure (fixes renegotiation of software scaling pipelines); remove some leftover printf()s. 2005-07-28 11:24:33 +0000 Wim Taymans check/gst/gstghostpad.c: Added some more tests for wrong hierarchy Original commit message from CVS: * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite): Added some more tests for wrong hierarchy * docs/design/part-overview.txt: Some updates. * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose): Cleanups. * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek), (gst_element_dispose): Some more cleanups. * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked), (gst_pad_link_check_hierarchy), (gst_pad_link_prepare), (gst_pad_get_caps_unlocked), (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event): Check for correct hierarchy when linking pads. Moving to strict requirement for ghostpads when linking elements in different bins. * gst/gstpad.h: Clean ups. Added WRONG_HIERARCHY return value. 2005-07-28 10:38:02 +0000 Ronald S. Bultje gst/base/gstbasetransform.c: Better debug if no transform is possible. Original commit message from CVS: * gst/base/gstbasetransform.c: (gst_base_transform_setcaps): Better debug if no transform is possible. 2005-07-27 20:22:48 +0000 Wim Taymans docs/random/wtay/network-transp: Some old doc I had. Original commit message from CVS: * docs/random/wtay/network-transp: Some old doc I had. 2005-07-27 19:00:36 +0000 Wim Taymans libs/gst/dataprotocol/dataprotocol.c: Fix serialization of seek events. Original commit message from CVS: * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event), (gst_dp_event_from_packet): Fix serialization of seek events. 2005-07-27 18:47:48 +0000 Wim Taymans Fix compilation and fix event serialization. Original commit message from CVS: * check/gst-libs/gdp.c: (GST_START_TEST): * gst/elements/gstfakesink.c: (gst_fake_sink_event): Fix compilation and fix event serialization. 2005-07-27 18:33:03 +0000 Wim Taymans Some docs updates Original commit message from CVS: * CHANGES-0.9: * docs/design/part-TODO.txt: * docs/design/part-events.txt: Some docs updates * gst/base/gstbasesink.c: (gst_base_sink_handle_object), (gst_base_sink_event), (gst_base_sink_do_sync), (gst_base_sink_activate_push), (gst_base_sink_activate_pull): * gst/base/gstbasesrc.c: (gst_base_src_send_discont), (gst_base_src_do_seek), (gst_base_src_event_handler), (gst_base_src_loop): * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps), (gst_base_transform_configure_caps), (gst_base_transform_setcaps), (gst_base_transform_get_size), (gst_base_transform_buffer_alloc), (gst_base_transform_event), (gst_base_transform_handle_buffer), (gst_base_transform_set_passthrough), (gst_base_transform_is_passthrough): * gst/elements/gstfakesink.c: (gst_fake_sink_event): * gst/elements/gstfilesink.c: (gst_file_sink_event): Event updates. * gst/gstbuffer.h: Use faster casts. * gst/gstelement.c: (gst_element_seek): * gst/gstelement.h: Update gst_element_seek. * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy), (gst_event_new), (gst_event_new_custom), (gst_event_get_structure), (gst_event_new_flush_start), (gst_event_new_flush_stop), (gst_event_new_eos), (gst_event_new_newsegment), (gst_event_parse_newsegment), (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos), (gst_event_parse_qos), (gst_event_new_seek), (gst_event_parse_seek), (gst_event_new_navigation): * gst/gstevent.h: Make GstEvent use GstStructure. Add parsing code, make sure the API is sufficiently generic. Mark possible directions of events and serialization. * gst/gstmessage.c: (gst_message_init), (gst_message_finalize), (_gst_message_copy), (gst_message_new_segment_start), (gst_message_new_segment_done), (gst_message_new_custom), (gst_message_parse_segment_start), (gst_message_parse_segment_done): Small cleanups. * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event): Update for new events. Catch events sent in wrong directions. * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_query): Event updates. * gst/gsttag.c: * gst/gsttag.h: Remove event code from this file. * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event), (gst_dp_event_from_packet): Event updates. 2005-07-27 15:05:45 +0000 Ronald S. Bultje gst/base/gstbasetransform.c: Make debugging actually useful. Original commit message from CVS: * gst/base/gstbasetransform.c: (gst_base_transform_getcaps), (gst_base_transform_configure_caps), (gst_base_transform_setcaps), (gst_base_transform_get_size), (gst_base_transform_handle_buffer): Make debugging actually useful. 2005-07-25 12:31:08 +0000 Ronald S. Bultje gst/gstpad.c: Implement default fixation once again, so that gst_pad_fixate() actually does anything at all. This pro... Original commit message from CVS: * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate), (gst_pad_fixate_caps): Implement default fixation once again, so that gst_pad_fixate() actually does anything at all. This probably needs to be some sort of a last resort, and use profile-based fixation first, but since that doesn't exist yet, this is the best we have. Fixes visualization in Totem. 2005-07-22 11:47:10 +0000 Wim Taymans docs/design/part-events.txt: Small update. Original commit message from CVS: * docs/design/part-events.txt: Small update. * gst/base/gstbasesink.c: (gst_base_sink_handle_object), (gst_base_sink_do_sync), (gst_base_sink_activate_push), (gst_base_sink_activate_pull): Some more comments. * gst/elements/gstfakesrc.c: (gst_fake_src_class_init), (gst_fake_src_create): Fix handoff marshall. * gst/elements/gstidentity.c: (gst_identity_class_init), (gst_identity_transform_ip): We're a real inplace element. * gst/gstbus.c: (gst_bus_post): Added some comments. * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main): * tests/muxing/case1.c: (main): * tests/sched/dynamic-pipeline.c: (main): * tests/sched/interrupt1.c: (main): * tests/sched/interrupt2.c: (main): * tests/sched/interrupt3.c: (main): * tests/sched/runxml.c: (main): * tests/sched/sched-stress.c: (main): * tests/seeking/seeking1.c: (event_received), (main): * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func), (main): * tests/threadstate/threadstate3.c: (main): * tests/threadstate/threadstate4.c: (main): * tests/threadstate/threadstate5.c: (main): Fix the tests. 2005-07-21 17:22:13 +0000 Wim Taymans docs/design/part-seeking.txt: Some small additions. Original commit message from CVS: * docs/design/part-seeking.txt: Some small additions. * gst/base/gstbasesink.c: (gst_base_sink_handle_object), (gst_base_sink_get_times), (gst_base_sink_do_sync), (gst_base_sink_activate_push), (gst_base_sink_activate_pull): * gst/base/gstbasesink.h: discont values are gint64, handle the math correctly. * gst/base/gstbasesrc.c: (gst_base_src_loop): Make the basesrc report error if the source pad is not linked. * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_query), (gst_queue_src_activate_push): Make queue collect data even if the srcpad is not linked. Start pushing out data as soon as it is linked. * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name): * gst/gstutils.h: Added gst_flow_get_name() to ease error reporting. 2005-07-20 18:02:13 +0000 Wim Taymans gst/gstmessage.*: Added a bunch of messages for advanced seeking. Original commit message from CVS: * gst/gstmessage.c: (gst_message_new_segment_start), (gst_message_new_segment_done), (gst_message_parse_segment_start), (gst_message_parse_segment_done): * gst/gstmessage.h: Added a bunch of messages for advanced seeking. * gst/parse/grammar.y: * libs/gst/control/dparammanager.c: (gst_dpman_set_parent), (gst_dpman_state_changed): Fix some new-pad -> pad-added signals 2005-07-20 17:22:27 +0000 Ronald S. Bultje docs/: Document new-pad/state-change signal renames and the FixedList type rename. Original commit message from CVS: * docs/manual/appendix-porting.xml: * docs/pwg/appendix-porting.xml: Document new-pad/state-change signal renames and the FixedList type rename. 2005-07-20 17:16:44 +0000 Ronald S. Bultje GstElement::new-pad -> pad-added, GstElement::state-change -> state-changed, GstValueFixedList -> GstValueArray, add ... Original commit message from CVS: * docs/manual/advanced-autoplugging.xml: * docs/manual/basics-helloworld.xml: * docs/manual/basics-pads.xml: * docs/random/ds/0.9-suggested-changes: * gst/gstelement.c: (gst_element_class_init), (gst_element_seek): * gst/gstelement.h: * gst/gstevent.h: * gst/gstformat.h: * gst/gstquery.h: * gst/gststructure.c: (gst_structure_value_get_generic_type), (gst_structure_parse_array), (gst_structure_parse_value): * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_list_prepend_value), (gst_value_list_append_value), (gst_value_list_get_size), (gst_value_list_get_value), (gst_value_transform_array_string), (gst_value_serialize_array), (gst_value_deserialize_array), (gst_value_intersect_array), (gst_value_is_fixed), (_gst_value_initialize): * gst/gstvalue.h: GstElement::new-pad -> pad-added, GstElement::state-change -> state-changed, GstValueFixedList -> GstValueArray, add format and flags as their own arguments in gst_element_seek() (should improve "bindeability"), remove function generators since they don't work under a whole bunch of compilers (they were deprecated already anyway). 2005-07-20 17:15:19 +0000 Thomas Vander Stichele * check/gst.supp: * common: * tests/check/gst.supp: patch from Edgard to properly suppress these warnings Original commit message from CVS: patch from Edgard to properly suppress these warnings 2005-07-20 16:20:39 +0000 Ronald S. Bultje gst/gstinfo.*: Fix illegal cast on some platforms (#309253). Original commit message from CVS: * gst/gstinfo.c: (_gst_debug_nameof_funcptr), (_gst_debug_register_funcptr): * gst/gstinfo.h: Fix illegal cast on some platforms (#309253). 2005-07-20 11:35:18 +0000 Ronald S. Bultje gst/gstmessage.*: Add _new_custom, make _new_application a macro to _new_custom. Original commit message from CVS: * gst/gstmessage.c: (gst_message_new_custom): * gst/gstmessage.h: Add _new_custom, make _new_application a macro to _new_custom. 2005-07-20 10:58:10 +0000 Wim Taymans gst/base/gstbasesrc.*: Add a gboolean to decide when to push out a discont. Original commit message from CVS: * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start): * gst/base/gstbasesrc.h: Add a gboolean to decide when to push out a discont. * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_query), (gst_queue_sink_activate_push), (gst_queue_src_activate_push), (gst_queue_set_property), (gst_queue_get_property): Some cleanups. * tests/threadstate/threadstate1.c: (main): Make a thread test compile and run... very silly.. 2005-07-20 10:13:46 +0000 Ronald S. Bultje docs/manual/appendix-porting.xml: Mention removal of libgstgconf-0.9.la and existence of gconf elements. Original commit message from CVS: * docs/manual/appendix-porting.xml: Mention removal of libgstgconf-0.9.la and existence of gconf elements. 2005-07-20 08:29:06 +0000 Ronald S. Bultje docs/pwg/: Document base classes, update sections of n-to-1 and 1-to-n (muxer, fix some code examples and links and u... Original commit message from CVS: * docs/pwg/advanced-clock.xml: * docs/pwg/appendix-porting.xml: * docs/pwg/intro-preface.xml: * docs/pwg/other-base.xml: * docs/pwg/other-manager.xml: * docs/pwg/other-nton.xml: * docs/pwg/other-ntoone.xml: * docs/pwg/other-oneton.xml: * docs/pwg/pwg.xml: Document base classes, update sections of n-to-1 and 1-to-n (muxer, demuxer), remove n-to-n (was never written), fix some code examples and links and update the porting section to include all this. 2005-07-19 17:46:37 +0000 Wim Taymans gst/gstqueue.*: Propagate GstFlowReturn more intelligently upstream and output an ERROR/EOS when streaming stopped du... Original commit message from CVS: * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event), (gst_queue_handle_src_query), (gst_queue_sink_activate_push), (gst_queue_src_activate_push), (gst_queue_change_state), (gst_queue_get_property): * gst/gstqueue.h: Propagate GstFlowReturn more intelligently upstream and output an ERROR/EOS when streaming stopped due to fatal error. 2005-07-19 14:52:59 +0000 Wim Taymans tools/gst-launch.c: Don't block forever for the state change to complete, the pipeline already did with a sensible ti... Original commit message from CVS: * tools/gst-launch.c: (check_intr), (event_loop), (main): Don't block forever for the state change to complete, the pipeline already did with a sensible timeout. 2005-07-19 13:43:50 +0000 Wim Taymans gst/base/gstbasesrc.c: Make sure we never call the create function is we got deactivated. Original commit message from CVS: * gst/base/gstbasesrc.c: (gst_base_src_get_range): Make sure we never call the create function is we got deactivated. 2005-07-19 11:27:07 +0000 Christian Schaller * gstreamer.spec.in: update for latest changes Original commit message from CVS: update for latest changes 2005-07-19 10:40:49 +0000 Andy Wingo gst/parse/parse.l: Attempt to solve bug #172815. Original commit message from CVS: 2005-07-19 Andy Wingo * gst/parse/parse.l: Attempt to solve bug #172815. 2005-07-19 09:19:06 +0000 Wim Taymans Small docs updates. Original commit message from CVS: * docs/design/part-clocks.txt: * docs/design/part-events.txt: * gst/base/gstbasesrc.c: (gst_base_src_do_seek): Small docs updates. Only update the seeking values when we are not busy streaming. 2005-07-18 17:43:52 +0000 Jan Schmidt * ChangeLog: * gst/base/gstbasesrc.c: * libs/gst/base/gstbasesrc.c: Oops, ignore the result of gst_pad_push_event here. Original commit message from CVS: Oops, ignore the result of gst_pad_push_event here. 2005-07-18 17:12:36 +0000 Jan Schmidt gst/base/gstbasesrc.c: Send discont event from the loop function, as pads aren't activated yet in the activate_push h... Original commit message from CVS: * gst/base/gstbasesrc.c: (gst_base_src_loop), (gst_base_src_activate_push): Send discont event from the loop function, as pads aren't activated yet in the activate_push handler. * gst/gstbin.c: (bin_bus_handler): Don't leak element name. 2005-07-18 14:47:39 +0000 Andy Wingo configure.ac: Use AS_LIBTOOL_TAGS. Original commit message from CVS: 2005-07-18 Andy Wingo * configure.ac: Use AS_LIBTOOL_TAGS. 2005-07-18 12:58:27 +0000 Wim Taymans docs/gst/gstreamer.types: Remove deleted types. Original commit message from CVS: * docs/gst/gstreamer.types: Remove deleted types. 2005-07-18 12:49:53 +0000 Wim Taymans * ChangeLog: * check/elements/gstfakesrc.c: * configure.ac: * gst/Makefile.am: * gst/gst.c: * gst/gst.h: * gst/gst_private.h: * gst/gstbin.c: * gst/gstbin.h: * gst/gstbus.h: * gst/gstconfig.h.in: * gst/gstelement.c: * gst/gstelement.h: * gst/gstelementfactory.h: * gst/gsterror.c: * gst/gsterror.h: * gst/gstevent.h: * gst/gstghostpad.c: * gst/gstindex.c: * gst/gstinfo.c: * gst/gstmessage.c: * gst/gstmessage.h: * gst/gstminiobject.h: * gst/gstobject.c: * gst/gstobject.h: * gst/gstpad.c: * gst/gstpad.h: * gst/gstparse.h: * gst/gstpipeline.c: * gst/gstpipeline.h: * gst/gstpluginfeature.h: * gst/gstquery.h: * gst/gstscheduler.c: * gst/gstscheduler.h: * gst/gststructure.h: * gst/gsttask.c: * gst/gsttask.h: * gst/gsttypefind.h: * gst/gsttypes.h: * gst/registries/gstlibxmlregistry.c: * gst/registries/gstxmlregistry.c: * gst/schedulers/threadscheduler.c: * libs/gst/control/dparammanager.h: * tests/check/elements/gstfakesrc.c: * tools/gst-inspect.c: * tools/gst-xmlinspect.c: Removed plugable schedulers. Original commit message from CVS: Removed plugable schedulers. Removed Scheduler/Manager from elements. Removed gsttypes.h, rearranged includes. Removed dependency pad<->element, element<>pipeline, and various others, fix includes. implement gst_pad_get_parent() with gst_object_get_parent() Make GstTask sefcontained. Fix _get_state() on GstBin, it did not return ASYNC with a 0 timeout. Fix endless loop in iterator_fold_with_resync. 2005-07-18 09:22:55 +0000 Wim Taymans gst/: Remove old file. Original commit message from CVS: * gst/Makefile.am: * gst/gstarch.h: Remove old file. 2005-07-18 08:51:31 +0000 Wim Taymans gst/Makefile.am: No more cothreads.h Original commit message from CVS: * gst/Makefile.am: No more cothreads.h 2005-07-18 08:43:27 +0000 Wim Taymans gst/cothreads.*: Let's remove these. Original commit message from CVS: * gst/cothreads.c: * gst/cothreads.h: Let's remove these. 2005-07-18 08:28:48 +0000 Wim Taymans docs/design/: Some more docs in the works. Original commit message from CVS: * docs/design/part-dynamic.txt: * docs/design/part-events.txt: * docs/design/part-seeking.txt: Some more docs in the works. * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps), (gst_base_transform_getcaps), (gst_base_transform_configure_caps), (gst_base_transform_setcaps), (gst_base_transform_get_size), (gst_base_transform_buffer_alloc), (gst_base_transform_event), (gst_base_transform_handle_buffer), (gst_base_transform_sink_activate_push), (gst_base_transform_src_activate_pull), (gst_base_transform_set_passthrough), (gst_base_transform_is_passthrough): Refcounting fixes. * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll): Cleanups. * gst/gstevent.c: (gst_event_finalize): Set SRC to NULL. * gst/gstutils.c: (gst_element_unlink), (gst_pad_get_parent_element), (gst_pad_proxy_getcaps), (gst_pad_proxy_setcaps): * gst/gstutils.h: Add _get_parent_element() to get a pads parent as an element. 2005-07-17 22:44:00 +0000 Wim Taymans check/gst/gstbin.c: Remove bogus test. Original commit message from CVS: * check/gst/gstbin.c: (GST_START_TEST): Remove bogus test. 2005-07-17 22:26:02 +0000 Wim Taymans gst/base/gstbasesink.c: Refcounting fixes. Original commit message from CVS: * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps), (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc), (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object), (gst_base_sink_event), (gst_base_sink_do_sync), (gst_base_sink_chain), (gst_base_sink_loop), (gst_base_sink_deactivate), (gst_base_sink_activate_push), (gst_base_sink_activate_pull), (gst_base_sink_change_state): Refcounting fixes. Fix logic for returning ASYNC when not prerolled. 2005-07-17 22:22:52 +0000 Wim Taymans gst/gstqueue.c: Fix nasty refcount bug. Original commit message from CVS: * gst/gstqueue.c: (gst_queue_handle_sink_event): Fix nasty refcount bug. 2005-07-16 19:25:41 +0000 Philippe Kalaf * gst/elements/Makefile.am: * gst/elements/gstelements.c: * plugins/elements/Makefile.am: * plugins/elements/gstelements.c: Moved fdsrc to gst-plugins. Original commit message from CVS: Moved fdsrc to gst-plugins. 2005-07-16 15:43:10 +0000 Philippe Kalaf * ChangeLog: Forgot changelog entry Original commit message from CVS: Forgot changelog entry 2005-07-16 15:41:04 +0000 Philippe Kalaf * gst/elements/Makefile.am: * gst/elements/gstelements.c: * gst/elements/gstfdsrc.c: * gst/elements/gstfdsrc.h: * plugins/elements/Makefile.am: * plugins/elements/gstelements.c: * plugins/elements/gstfdsrc.c: * plugins/elements/gstfdsrc.h: gst/elements/gstfdsrc.c gst/elements/gstfdsrc.h gst/elements/gstelements.c gst/elements/Makefile.am Original commit message from CVS: 2005-07-16 Philippe Khalaf * gst/elements/gstfdsrc.c * gst/elements/gstfdsrc.h * gst/elements/gstelements.c * gst/elements/Makefile.am Ported fdsrc to 0.9. 2005-07-16 14:52:15 +0000 Wim Taymans gst/base/gstbasesink.c: Fix compile error. Original commit message from CVS: * gst/base/gstbasesink.c: (gst_base_sink_handle_object), (gst_base_sink_do_sync): Fix compile error. 2005-07-16 14:41:25 +0000 Wim Taymans gst/base/gstbasesink.*: Store and use discont values when syncing buffers as described in design docs. Original commit message from CVS: * gst/base/gstbasesink.c: (gst_base_sink_handle_object), (gst_base_sink_event), (gst_base_sink_get_times), (gst_base_sink_do_sync), (gst_base_sink_change_state): * gst/base/gstbasesink.h: Store and use discont values when syncing buffers as described in design docs. * gst/base/gstbasesrc.c: (gst_base_src_send_discont), (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start), (gst_base_src_activate_push): Push discont event when starting. * gst/elements/gstidentity.c: (gst_identity_transform): Small cleanups. * gst/gstbin.c: (gst_bin_change_state): Small cleanups in base_time distribution. * gst/gstelement.c: (gst_element_set_base_time), (gst_element_get_base_time), (gst_element_change_state): * gst/gstelement.h: Added methods for the base_time of the element. Some MT fixes. * gst/gstpipeline.c: (gst_pipeline_send_event), (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time), (gst_pipeline_get_last_stream_time): * gst/gstpipeline.h: MT fixes. Handle seeking as described in design doc, remove stream_time hack. Cleanups clock and stream_time selection code. Added accessors for the stream_time. 2005-07-16 14:06:21 +0000 Andy Wingo gst/gsterror.c (_gst_core_errors_init): Use the magic word.. Original commit message from CVS: 2005-07-16 Andy Wingo * gst/gsterror.c (_gst_core_errors_init): Use the magic word.. 2005-07-16 13:50:37 +0000 Wim Taymans check/gst/gstbin.c: Make elements silent as the deep_notify refs the parent, which might make the test fail. Original commit message from CVS: * check/gst/gstbin.c: (GST_START_TEST): Make elements silent as the deep_notify refs the parent, which might make the test fail. * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push): Don't hold the lock for too long. 2005-07-16 12:33:13 +0000 Tim-Philipp Müller gst/base/gstbasesrc.c: Don't unref the caps we passed to gst_caps_make_writable() after passing them. gst_caps_make_w... Original commit message from CVS: * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate): Don't unref the caps we passed to gst_caps_make_writable() after passing them. gst_caps_make_writable() will do that for us. 2005-07-15 16:10:41 +0000 Andy Wingo gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro (#157311). Original commit message from CVS: 2005-07-15 Andy Wingo * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro (#157311). 2005-07-15 14:59:22 +0000 Andy Wingo gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our own marshalling function for the handoff signal. Pro... Original commit message from CVS: 2005-07-15 Andy Wingo * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our own marshalling function for the handoff signal. Properly type the buffer as a buffer. Fixes some warnings. Should do a more general solution. (gst_identity_class_init): Plug into the right marshaller. 2005-07-15 13:44:19 +0000 Wim Taymans docs/design/: Updated docs, mostly DISCONT related. Original commit message from CVS: * docs/design/part-TODO.txt: * docs/design/part-clocks.txt: * docs/design/part-element-sink.txt: * docs/design/part-events.txt: * docs/design/part-gstpipeline.txt: Updated docs, mostly DISCONT related. 2005-07-15 12:55:30 +0000 Tim-Philipp Müller docs/pwg/building-pads.xml: s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps() Original commit message from CVS: * docs/pwg/building-pads.xml: s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps() 2005-07-15 11:05:52 +0000 Andy Wingo * tools/gst-typefind.c: remove irrelevant code Original commit message from CVS: remove irrelevant code 2005-07-15 11:04:18 +0000 Andy Wingo tools/gst-typefind.c: Update, add copyright block. Original commit message from CVS: 2005-07-15 Andy Wingo * tools/gst-typefind.c: Update, add copyright block. * gst/base/gstbasesrc.c (gst_base_src_default_negotiate): Normalize and truncate caps before fixation. * gst/gstcaps.h: * gst/gstcaps.c (gst_caps_truncate): New function, destructively discards all but the first structure from its argument. 2005-07-15 10:41:32 +0000 Wim Taymans gst/base/gstbasetransform.*: Make passthrough work using the bufferpools. Original commit message from CVS: * gst/base/gstbasetransform.c: (gst_base_transform_init), (gst_base_transform_transform_caps), (gst_base_transform_getcaps), (gst_base_transform_configure_caps), (gst_base_transform_setcaps), (gst_base_transform_get_size), (gst_base_transform_buffer_alloc), (gst_base_transform_handle_buffer), (gst_base_transform_getrange), (gst_base_transform_chain), (gst_base_transform_change_state), (gst_base_transform_set_passthrough), (gst_base_transform_is_passthrough): * gst/base/gstbasetransform.h: Make passthrough work using the bufferpools. Changed API a bit, subclasses have to write into a buffer provided by the base class. More debug info in nego functions. * gst/elements/gstidentity.c: (gst_identity_init), (gst_identity_transform): Port to new base class. 2005-07-15 10:30:49 +0000 Wim Taymans Totally dump messages in -launch with the -m option. Original commit message from CVS: * gst/gstmessage.c: (gst_message_new_state_changed): * tools/gst-launch.c: (event_loop), (main): Totally dump messages in -launch with the -m option. Fix message name for State messages, 2005-07-14 18:45:51 +0000 Wim Taymans gst/base/gstbasesrc.c: Post error messages on errors. Original commit message from CVS: * gst/base/gstbasesrc.c: (gst_base_src_loop): Post error messages on errors. 2005-07-14 18:10:04 +0000 Wim Taymans gst/gstcaps.c: Remove debug info. Original commit message from CVS: * gst/gstcaps.c: (gst_caps_do_simplify): Remove debug info. * gst/gsterror.h: Define error for stream stopped. * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange): Do proper return values. * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push), (gst_pad_get_range): Better return values. * gst/gstpad.h: Reorganise return values, add macro to check for fatal errors. * gst/gstqueue.c: (gst_queue_chain): Return proper GstFlowReturn values, 2005-07-14 09:35:12 +0000 Thomas Vander Stichele * ChangeLog: * docs/gst/gstreamer-sections.txt: * docs/gst/gstreamer.types: * docs/gst/tmpl/gst.sgml: * docs/gst/tmpl/gstbasesink.sgml: * docs/gst/tmpl/gstbasesrc.sgml: * docs/gst/tmpl/gstbasetransform.sgml: * docs/gst/tmpl/gstbin.sgml: * docs/gst/tmpl/gstbuffer.sgml: * docs/gst/tmpl/gstcaps.sgml: * docs/gst/tmpl/gstclock.sgml: * docs/gst/tmpl/gstcompat.sgml: * docs/gst/tmpl/gstconfig.sgml: * docs/gst/tmpl/gstelement.sgml: * docs/gst/tmpl/gstelementdetails.sgml: * docs/gst/tmpl/gstelementfactory.sgml: * docs/gst/tmpl/gstenumtypes.sgml: * docs/gst/tmpl/gsterror.sgml: * docs/gst/tmpl/gstevent.sgml: * docs/gst/tmpl/gstfakesink.sgml: * docs/gst/tmpl/gstfakesrc.sgml: * docs/gst/tmpl/gstfilesink.sgml: * docs/gst/tmpl/gstfilesrc.sgml: * docs/gst/tmpl/gstfilter.sgml: * docs/gst/tmpl/gstformat.sgml: * docs/gst/tmpl/gstghostpad.sgml: * docs/gst/tmpl/gstimplementsinterface.sgml: * docs/gst/tmpl/gstindex.sgml: * docs/gst/tmpl/gstindexfactory.sgml: * docs/gst/tmpl/gstinfo.sgml: * docs/gst/tmpl/gstiterator.sgml: * docs/gst/tmpl/gstmacros.sgml: * docs/gst/tmpl/gstmemchunk.sgml: * docs/gst/tmpl/gstminiobject.sgml: * docs/gst/tmpl/gstobject.sgml: * docs/gst/tmpl/gstpad.sgml: * docs/gst/tmpl/gstpadtemplate.sgml: * docs/gst/tmpl/gstparse.sgml: * docs/gst/tmpl/gstpipeline.sgml: * docs/gst/tmpl/gstplugin.sgml: * docs/gst/tmpl/gstpluginfeature.sgml: * docs/gst/tmpl/gstquery.sgml: * docs/gst/tmpl/gstqueue.sgml: * docs/gst/tmpl/gstregistry.sgml: * docs/gst/tmpl/gstregistrypool.sgml: * docs/gst/tmpl/gstscheduler.sgml: * docs/gst/tmpl/gstschedulerfactory.sgml: * docs/gst/tmpl/gststructure.sgml: * docs/gst/tmpl/gstsystemclock.sgml: * docs/gst/tmpl/gsttaglist.sgml: * docs/gst/tmpl/gsttagsetter.sgml: * docs/gst/tmpl/gsttrace.sgml: * docs/gst/tmpl/gsttrashstack.sgml: * docs/gst/tmpl/gsttypefind.sgml: * docs/gst/tmpl/gsttypefindfactory.sgml: * docs/gst/tmpl/gsttypes.sgml: * docs/gst/tmpl/gsturihandler.sgml: * docs/gst/tmpl/gsturitype.sgml: * docs/gst/tmpl/gstutils.sgml: * docs/gst/tmpl/gstvalue.sgml: * docs/gst/tmpl/gstversion.sgml: * docs/gst/tmpl/gstxml.sgml: * docs/libs/tmpl/gstcontrol.sgml: * docs/libs/tmpl/gstdataprotocol.sgml: * docs/libs/tmpl/gstdparam.sgml: * docs/libs/tmpl/gstdplinint.sgml: * docs/libs/tmpl/gstdpman.sgml: * docs/libs/tmpl/gstdpsmooth.sgml: * docs/libs/tmpl/gstgetbits.sgml: * docs/libs/tmpl/gstunitconvert.sgml: * gst/base/gstpushsrc.c: * gst/base/gstpushsrc.h: * gst/elements/gstelements.c: * gst/elements/gstfakesink.c: * gst/elements/gstfakesink.h: * gst/elements/gstfakesrc.c: * gst/elements/gstfakesrc.h: * gst/elements/gstfilesink.c: * gst/elements/gstfilesink.h: * gst/elements/gstfilesrc.c: * gst/elements/gstfilesrc.h: * libs/gst/base/gstpushsrc.c: * libs/gst/base/gstpushsrc.h: * plugins/elements/gstelements.c: * plugins/elements/gstfakesink.c: * plugins/elements/gstfakesink.h: * plugins/elements/gstfakesrc.c: * plugins/elements/gstfakesrc.h: * plugins/elements/gstfilesink.c: * plugins/elements/gstfilesink.h: * plugins/elements/gstfilesrc.c: * plugins/elements/gstfilesrc.h: more autistic cleanliness in functions/names/defines Original commit message from CVS: more autistic cleanliness in functions/names/defines 2005-07-13 18:29:41 +0000 Thomas Vander Stichele * gst/gstqueue.c: * plugins/elements/gstqueue.c: fix debug ifdef Original commit message from CVS: fix debug ifdef 2005-07-13 16:26:07 +0000 Andy Wingo gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the source couldn't negotiate. Original commit message from CVS: 2005-07-13 Andy Wingo * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the source couldn't negotiate. 2005-07-13 13:14:57 +0000 Thomas Vander Stichele * check/gst.supp: * tests/check/gst.supp: add a suppression from Edgard Original commit message from CVS: add a suppression from Edgard 2005-07-13 13:10:18 +0000 Thomas Vander Stichele move two testsuite apps over to the check dir Original commit message from CVS: * testsuite/caps/Makefile.am: * testsuite/caps/value_compare.c: * testsuite/caps/value_intersect.c: * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite): move two testsuite apps over to the check dir 2005-07-12 17:17:34 +0000 Wim Taymans gst/base/gstbasetransform.c: Added more debug info in the negotiate process. Original commit message from CVS: * gst/base/gstbasetransform.c: (gst_base_transform_setcaps): Added more debug info in the negotiate process. * gst/gstmessage.h: Prepare for segment playback. * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps): Better debugging. * gst/gstutils.c: Some more docs. * tools/gst-launch.c: (main): NULL pipeline on errors. 2005-07-12 17:04:41 +0000 Andy Wingo gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or not it comes from a malloc region. Make sure our copy ... Original commit message from CVS: 2005-07-12 Andy Wingo * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or not it comes from a malloc region. Make sure our copy gets freed. 2005-07-12 16:28:36 +0000 Thomas Vander Stichele * ChangeLog: * check/gst/gstelement.c: * check/gst/gstmessage.c: * check/gst/gststructure.c: * gst/gstelement.c: * gst/gstmessage.c: * tests/check/gst/gstelement.c: * tests/check/gst/gstmessage.c: * tests/check/gst/gststructure.c: fix refcounting of warning and error messages Original commit message from CVS: fix refcounting of warning and error messages 2005-07-12 13:26:22 +0000 Thomas Vander Stichele * check/Makefile.am: * tests/check/Makefile.am: re-enable leak checking :) Original commit message from CVS: re-enable leak checking :) 2005-07-12 12:20:01 +0000 Thomas Vander Stichele check/Makefile.am: add per-test valgrind targets Original commit message from CVS: * check/Makefile.am: add per-test valgrind targets * check/gst-libs/gdp.c: (GST_START_TEST), (gst_data_protocol_suite), (main): clean up 2005-07-12 09:41:00 +0000 Thomas Vander Stichele check/Makefile.am: instate more valgrindable tests Original commit message from CVS: 2005-07-12 Thomas Vander Stichele * check/Makefile.am: instate more valgrindable tests * check/elements/gstfakesrc.c: (chain_func), (event_func), (GST_START_TEST), (fakesrc_suite): * check/gst/gstpad.c: (GST_START_TEST): * check/gst/gststructure.c: (GST_START_TEST): fix test leaks * docs/gst/tmpl/gstminiobject.sgml: * gst/gstpad.c: (gst_pad_finalize): fix the static mutex leak 2005-07-11 18:41:49 +0000 Thomas Vander Stichele check/Makefile.am: add two more tests for valgrinding Original commit message from CVS: * check/Makefile.am: add two more tests for valgrinding * check/gst/gstvalue.c: (GST_START_TEST): test refcount of deserialized buffer, found a leak * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * docs/gst/gstreamer.types: * docs/gst/tmpl/gstminiobject.sgml: add miniobject to docs * gst/gstminiobject.c: add some docs * gst/gstvalue.c: (gst_value_deserialize_buffer), (gst_string_unwrap): fix a hard-to-find invalid write for one of the tests fix a leak for deserialized buffers 2005-07-11 15:41:07 +0000 Thomas Vander Stichele * check/Makefile.am: * tests/check/Makefile.am: don't valgrind as part of make check for now Original commit message from CVS: don't valgrind as part of make check for now 2005-07-11 15:22:24 +0000 Thomas Vander Stichele * check/Makefile.am: * tests/check/Makefile.am: specify tool Original commit message from CVS: specify tool 2005-07-11 15:18:32 +0000 Ronald S. Bultje docs/pwg/: Rewrite scheduling-chapter for scheduling model in 0.9. Add lots of example code and explanation for pad a... Original commit message from CVS: * docs/pwg/advanced-events.xml: * docs/pwg/advanced-request.xml: * docs/pwg/advanced-scheduling.xml: * docs/pwg/appendix-porting.xml: * docs/pwg/building-boiler.xml: * docs/pwg/intro-preface.xml: * docs/pwg/other-ntoone.xml: Rewrite scheduling-chapter for scheduling model in 0.9. Add lots of example code and explanation for pad activation, loop() and getrange() functions and a bit more. Remove old comments pointing to loop-functions. * examples/pwg/Makefile.am: Add loop/getrange examples. 2005-07-11 15:10:40 +0000 Thomas Vander Stichele * ChangeLog: * check/Makefile.am: * check/gst.supp: * check/gst/gst.c: * check/gst/gstbuffer.c: * check/gst/gstghostpad.c: * check/gst/gstminiobject.c: * configure.ac: * gst/gst.c: * gst/gst.h: * gst/gstsystemclock.c: * tests/check/Makefile.am: * tests/check/gst.supp: * tests/check/gst/gst.c: * tests/check/gst/gstbuffer.c: * tests/check/gst/gstghostpad.c: * tests/check/gst/gstminiobject.c: * tools/gst-launch.c: valgrind unit tests as check-local; add gst_deinit Original commit message from CVS: valgrind unit tests as check-local; add gst_deinit 2005-07-11 15:06:27 +0000 Thomas Vander Stichele * ChangeLog: * docs/gst/tmpl/gstbasesrc.sgml: * docs/gst/tmpl/gstfakesrc.sgml: * gst/base/gstbasesrc.c: * gst/base/gstbasesrc.h: * gst/elements/gstfakesrc.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasesrc.h: * plugins/elements/gstfakesrc.c: add num-buffers property to basesrc Original commit message from CVS: add num-buffers property to basesrc 2005-07-10 12:03:13 +0000 Thomas Vander Stichele * ChangeLog: * docs/gst/gstreamer-sections.txt: * docs/gst/tmpl/gstbasesink.sgml: * docs/gst/tmpl/gstbasesrc.sgml: * gst/base/gstbasesink.c: * gst/base/gstbasesink.h: * gst/base/gstbasesrc.h: * gst/elements/gstfakesink.c: * gst/elements/gstfilesink.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesink.h: * libs/gst/base/gstbasesrc.h: * plugins/elements/gstfakesink.c: * plugins/elements/gstfilesink.c: more macro splitting Original commit message from CVS: more macro splitting 2005-07-10 00:07:51 +0000 Thomas Vander Stichele gst/gstelement.c: add debug Original commit message from CVS: * gst/gstelement.c: (gst_element_get_bus): add debug * tools/gst-launch.c: (check_intr), (event_loop): fix bus leaks 2005-07-09 23:52:07 +0000 Thomas Vander Stichele * gst/gstpad.c: fix caps leak in both cases Original commit message from CVS: fix caps leak in both cases 2005-07-09 23:48:45 +0000 Thomas Vander Stichele * gst/gstpad.c: duh, remove unused var Original commit message from CVS: duh, remove unused var 2005-07-09 23:47:23 +0000 Thomas Vander Stichele * ChangeLog: * gst/gstpad.c: fix a caps leak Original commit message from CVS: fix a caps leak 2005-07-09 23:33:24 +0000 Thomas Vander Stichele gst/base/gstbasesrc.c: add finalize method and clean up properly Original commit message from CVS: * gst/base/gstbasesrc.c: (gst_base_src_class_init), (gst_base_src_finalize): add finalize method and clean up properly * gst/gstpipeline.c: (gst_pipeline_dispose): add debug 2005-07-09 23:15:27 +0000 Thomas Vander Stichele * gst/gstbin.c: don't get src for all messages; only for eos Original commit message from CVS: don't get src for all messages; only for eos 2005-07-09 22:54:28 +0000 Thomas Vander Stichele check/gst/gstbin.c: add more things to check Original commit message from CVS: * check/gst/gstbin.c: (pop_messages), (GST_START_TEST), (gst_bin_suite): add more things to check * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler): * gst/gstelement.c: more debug 2005-07-09 16:36:18 +0000 Thomas Vander Stichele * ChangeLog: * check/elements/gstfakesrc.c: * check/gst-libs/gdp.c: * check/gst/gst.c: * check/gst/gstbin.c: * check/gst/gstbuffer.c: * check/gst/gstbus.c: * check/gst/gstcaps.c: * check/gst/gstdata.c: * check/gst/gstelement.c: * check/gst/gstghostpad.c: * check/gst/gstiterator.c: * check/gst/gstmessage.c: * check/gst/gstobject.c: * check/gst/gstpad.c: * check/gst/gststructure.c: * check/gst/gstsystemclock.c: * check/gst/gsttag.c: * check/gst/gstvalue.c: * check/gstcheck.c: * check/gstcheck.h: * check/pipelines/cleanup.c: * check/pipelines/simple_launch_lines.c: * check/states/sinks.c: * tests/check/elements/gstfakesrc.c: * tests/check/generic/sinks.c: * tests/check/gst/gst.c: * tests/check/gst/gstbin.c: * tests/check/gst/gstbuffer.c: * tests/check/gst/gstbus.c: * tests/check/gst/gstcaps.c: * tests/check/gst/gstdata.c: * tests/check/gst/gstelement.c: * tests/check/gst/gstghostpad.c: * tests/check/gst/gstiterator.c: * tests/check/gst/gstmessage.c: * tests/check/gst/gstobject.c: * tests/check/gst/gstpad.c: * tests/check/gst/gststructure.c: * tests/check/gst/gstsystemclock.c: * tests/check/gst/gsttag.c: * tests/check/gst/gstvalue.c: * tests/check/gstcheck.c: * tests/check/gstcheck.h: * tests/check/libs/gdp.c: * tests/check/pipelines/cleanup.c: * tests/check/pipelines/simple-launch-lines.c: add debugging category use GST_START_TEST now, so we add a debug line Original commit message from CVS: add debugging category use GST_START_TEST now, so we add a debug line 2005-07-09 15:18:53 +0000 Thomas Vander Stichele check/gst/gstbin.c: add test for state change message on a bin Original commit message from CVS: * check/gst/gstbin.c: (START_TEST), (gst_bin_suite): add test for state change message on a bin * check/gst/gstelement.c: (START_TEST), (gst_element_suite): add another test * gst/gstbin.c: (gst_bin_init): * gst/gstbus.c: (gst_bus_init), (gst_bus_post): * gst/gstelement.c: (gst_element_post_message), (gst_element_set_state): * gst/gstelementfactory.c: (gst_element_factory_create): * gst/gstmessage.c: (gst_message_new): * gst/gstscheduler.c: various debugging additions and cleanups 2005-07-08 16:41:45 +0000 Thomas Vander Stichele * ChangeLog: * check/Makefile.am: * check/gst/gstelement.c: * gst/gstelement.c: * tests/check/Makefile.am: * tests/check/gst/gstelement.c: adding tests for elements Original commit message from CVS: adding tests for elements 2005-07-08 16:16:29 +0000 Thomas Vander Stichele gst/registries/gstlibxmlregistry.c: plug more leaks. A simple gst_init() now is leakfree, yay. Original commit message from CVS: * gst/registries/gstlibxmlregistry.c: (load_feature): plug more leaks. A simple gst_init() now is leakfree, yay. 2005-07-08 16:08:16 +0000 Thomas Vander Stichele * ChangeLog: * gst/registries/gstlibxmlregistry.c: plug another memleak in registry loading - I have NO idea why this was returning a GstPlugin Original commit message from CVS: plug another memleak in registry loading - I have NO idea why this was returning a GstPlugin 2005-07-08 14:50:44 +0000 Thomas Vander Stichele * gst/registries/gstlibxmlregistry.c: I need to learn to stop doing this Original commit message from CVS: I need to learn to stop doing this 2005-07-08 14:39:01 +0000 Thomas Vander Stichele * configure.ac: add right variable Original commit message from CVS: add right variable 2005-07-08 14:35:57 +0000 Thomas Vander Stichele configure.ac: use GST_SET_ERROR_CFLAGS Original commit message from CVS: * configure.ac: use GST_SET_ERROR_CFLAGS * docs/faq/cvs.xml: change to ERROR_CFLAGS 2005-07-08 14:01:31 +0000 Thomas Vander Stichele configure.ac: make GST_ERROR_CFLAGS overridable and re-enable Werror Original commit message from CVS: * configure.ac: make GST_ERROR_CFLAGS overridable and re-enable Werror * docs/faq/cvs.xml: add a note about error CFLAGS * docs/gst/tmpl/gstfakesrc.sgml: * gst/elements/gstfakesrc.c: comment out some unused code * gst/gst.c: (split_and_iterate): * gst/registries/gstlibxmlregistry.c: (load_pad_template), (load_feature): plug some memleaks 2005-07-07 15:07:21 +0000 Thomas Vander Stichele * docs/libs/Makefile.am: make libs use same gtk-doc.mak Original commit message from CVS: make libs use same gtk-doc.mak 2005-07-07 14:16:40 +0000 Thomas Vander Stichele * ChangeLog: * common: * docs/gst/Makefile.am: * po/af.po: * po/az.po: * po/ca.po: * po/cs.po: * po/de.po: * po/en_GB.po: * po/fr.po: * po/it.po: * po/nb.po: * po/nl.po: * po/ru.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: factor out gtk-doc Original commit message from CVS: factor out gtk-doc 2005-07-07 14:01:47 +0000 Wim Taymans gst/schedulers/threadscheduler.c: Unlock the STREAM_LOCK completely. Original commit message from CVS: * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func), (gst_thread_scheduler_dispose): Unlock the STREAM_LOCK completely. 2005-07-07 13:14:40 +0000 Thomas Vander Stichele * examples/pwg/.gitignore: * tests/old/examples/pwg/.gitignore: ignore more Original commit message from CVS: ignore more 2005-07-07 13:12:43 +0000 Thomas Vander Stichele * tests/instantiate/.gitignore: ignore more Original commit message from CVS: ignore more 2005-07-07 11:59:37 +0000 Thomas Vander Stichele * ChangeLog: * check/Makefile.am: * check/elements/.gitignore: * check/elements/gstfakesrc.c: * gst/elements/gstfakesrc.c: * gst/elements/gstfakesrc.h: * plugins/elements/gstfakesrc.c: * plugins/elements/gstfakesrc.h: * tests/check/Makefile.am: * tests/check/elements/.gitignore: * tests/check/elements/gstfakesrc.c: adding an element test Original commit message from CVS: adding an element test 2005-07-07 11:09:32 +0000 Andy Wingo gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating debug message. Original commit message from CVS: 2005-07-07 Andy Wingo * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating debug message. 2005-07-07 10:03:06 +0000 Thomas Vander Stichele * docs/gst/Makefile.am: another doc fix Original commit message from CVS: another doc fix 2005-07-07 09:10:17 +0000 Thomas Vander Stichele * docs/manual/BUILD: * docs/manual/Makefile.am: more macosx madness fixing Original commit message from CVS: more macosx madness fixing 2005-07-07 08:43:17 +0000 Wim Taymans gst/gstquery.*: Remove old types Original commit message from CVS: * gst/gstquery.c: * gst/gstquery.h: Remove old types 2005-07-07 08:16:54 +0000 Wim Taymans gst/base/gstbasesrc.c: Allow subclasses to implement their own negotiation. Original commit message from CVS: * gst/base/gstbasesrc.c: (gst_base_src_get_range), (gst_base_src_default_negotiate), (gst_base_src_negotiate): Allow subclasses to implement their own negotiation. 2005-07-06 17:17:59 +0000 Jan Schmidt docs/design/: Update design notes to reflect the movement of responsibility for bus handling from GstPipeline to Original commit message from CVS: * docs/design/part-gstbin.txt: * docs/design/part-gstpipeline.txt: Update design notes to reflect the movement of responsibility for bus handling from GstPipeline to GstBin 2005-07-06 16:45:45 +0000 Jan Schmidt configure.ac: Remove unnecessary queue2/3/4 examples. Original commit message from CVS: * configure.ac: Remove unnecessary queue2/3/4 examples. 2005-07-06 16:22:47 +0000 Jan Schmidt examples/: Update a couple of the examples to work again. Original commit message from CVS: * examples/Makefile.am: * examples/helloworld/helloworld.c: (event_loop), (main): * examples/queue/queue.c: (event_loop), (main): * examples/queue2/queue2.c: (main): Update a couple of the examples to work again. * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty), (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event): Spelling corrections and extra debug. * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos), (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state), (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler): * gst/gstbin.h: * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose), (gst_pipeline_change_state): * gst/gstpipeline.h: Move the bus handler for children to the GstBin, and create a separate bus for receiving messages from children to the one the bus sends 'upwards' on. 2005-07-06 13:25:26 +0000 Wim Taymans gst/base/: Make basesrc negotiate. Original commit message from CVS: * gst/base/README: * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty), (gst_base_sink_handle_object), (gst_base_sink_loop), (gst_base_sink_change_state): * gst/base/gstbasesink.h: * gst/base/gstbasesrc.c: (gst_base_src_class_init), (gst_base_src_init), (gst_base_src_setcaps), (gst_base_src_getcaps), (gst_base_src_loop), (gst_base_src_default_negotiate), (gst_base_src_negotiate), (gst_base_src_start), (gst_base_src_change_state): * gst/base/gstbasesrc.h: Make basesrc negotiate. Handle the case where preroll fails in basesink. Update README. 2005-07-06 13:20:47 +0000 Wim Taymans gst/gstpad.c: Implement the fixate function. Original commit message from CVS: * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps): Implement the fixate function. Clean up acceptcaps. 2005-07-06 12:24:50 +0000 Ronald S. Bultje docs/pwg/: Remove never-written filter-factory chapter; I'll add the various base classes to part 4 ("other element t... Original commit message from CVS: * docs/pwg/building-filterfactory.xml: * docs/pwg/pwg.xml: Remove never-written filter-factory chapter; I'll add the various base classes to part 4 ("other element types") later on. 2005-07-06 12:18:00 +0000 Ronald S. Bultje Add a chapter on caps negotiation, simplify the original code samples a bit w.r.t. caps negotiation, add link to the ... Original commit message from CVS: * docs/pwg/advanced-negotiation.xml: * docs/pwg/building-boiler.xml: * docs/pwg/building-pads.xml: * docs/pwg/pwg.xml: * examples/pwg/Makefile.am: Add a chapter on caps negotiation, simplify the original code samples a bit w.r.t. caps negotiation, add link to the advanced section. Add a bunch of examples showing different use cases of different types of caps negotiation. Upstream renegotiation isn't fully documented yet since nobody knows how that works. 2005-07-06 11:34:06 +0000 Thomas Vander Stichele * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in: * pkgconfig/gstreamer-dataprotocol.pc.in: pc file cleanups Original commit message from CVS: pc file cleanups 2005-07-06 11:31:57 +0000 Thomas Vander Stichele if pad has no parent, return NULL as list of internal links Original commit message from CVS: * check/gst/gstpad.c: * check/gstcheck.c: * gst/gstpad.c: (gst_pad_get_internal_links_default): if pad has no parent, return NULL as list of internal links 2005-07-05 16:38:13 +0000 Andy Wingo gst/: s/BASESRC/BASE_SRC/g. Original commit message from CVS: 2005-07-05 Andy Wingo * gst/elements/gstfilesrc.c: * gst/elements/gstfakesrc.c: * gst/base/gstpushsrc.c: * gst/base/gstbasesrc.h: * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g. 2005-07-05 15:28:18 +0000 Christian Schaller * configure.ac: * gstreamer.spec.in: * po/af.po: * po/az.po: * po/ca.po: * po/cs.po: * po/de.po: * po/en_GB.po: * po/fr.po: * po/it.po: * po/nb.po: * po/nl.po: * po/ru.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: update spec file Original commit message from CVS: update spec file 2005-07-05 12:17:24 +0000 Stefan Kost * ChangeLog: * Makefile.am: better report genration target (lcov needs a patch) Original commit message from CVS: better report genration target (lcov needs a patch) 2005-07-05 10:58:21 +0000 Andy Wingo gst/elements, testsuite: Null if we got it... Original commit message from CVS: 2005-07-05 Andy Wingo * gst/elements, testsuite: Null if we got it... 2005-07-05 10:20:14 +0000 Wim Taymans Ported dataprotol to 0.9. Original commit message from CVS: * configure.ac: * libs/gst/dataprotocol/Makefile.am: * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet): * libs/gst/dataprotocol/dataprotocol.h: * pkgconfig/Makefile.am: * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in: * pkgconfig/gstreamer-dataprotocol.pc.in: Ported dataprotol to 0.9. Added pkgconfig files. 2005-07-05 09:35:22 +0000 Andy Wingo gst/base/gstbasetransform.c (gst_base_transform_setcaps): Default to returning TRUE for the case when tranform_caps r... Original commit message from CVS: 2005-07-05 Andy Wingo * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Default to returning TRUE for the case when tranform_caps returns a fixed caps, like for identity or volume. 2005-07-05 08:47:40 +0000 Andy Wingo check/: Application message API change. Original commit message from CVS: 2005-07-05 Andy Wingo * check/gst/gstbus.c (pound_bus_with_messages): * check/gst/gstmessage.c (START_TEST): * check/pipelines/simple_launch_lines.c (got_handoff): Application message API change. * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More logic weaks here: always run transform_caps, trying passthrough operation only if the original caps intersects with the transform. * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug source and sink caps. * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Intersect the peer caps with the pad template before going into transform_caps. (gst_base_transform_transform_caps): More debugging. * gst/gstmessage.h (gst_message_new_application): Take a GstObject src argument. 2005-07-04 15:08:30 +0000 Edward Hervey gst/gstutils.*: now returns the signal id for better wrapping in bindings. Original commit message from CVS: * gst/gstutils.c: * gst/gstutils.h: (gst_pad_add_*_probe): now returns the signal id for better wrapping in bindings. 2005-07-04 09:22:51 +0000 Andy Wingo check/gst/gstpad.c: Only set explicit caps on pads. Original commit message from CVS: 2005-07-04 Andy Wingo * check/gst/gstpad.c: Only set explicit caps on pads. 2005-07-01 16:46:59 +0000 Andy Wingo tests/network-clock.scm: Commentary update. Original commit message from CVS: 2005-07-01 Andy Wingo * tests/network-clock.scm: Commentary update. * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone. Didn't really make sense, not implementable with basetransform, etc. (gst_identity_transform): Unref inbuf via make_writable. Feeble attempt at implementing the sync property, needs an unlock method. * gst/base/gstbasetransform.c (gst_base_transform_transform_caps): New func, by default returns the same caps (the identity transformation). (gst_base_transform_getcaps): Uses transform_caps to return something sensible. (gst_base_transform_setcaps): Complicated logic to get caps on both pads, even if they are different, and to call set_caps once for every time both pads get their caps set. (gst_base_transform_handle_buffer): Give the ref to the transform function. Allows in-place modification of the buffer. * gst/base/gstbasetransform.h (transform_caps): New class method. Given caps on one side, what can I do on the other. (set_caps): Take two caps, one for each side of the element. * gst/gstpad.h: * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify caps in place. This is safe because we can check the mutability of the caps, and a good idea because fixate functions are just called as a matter of last resort. (Not actually implemented.) (gst_pad_set_caps): If the caps we're setting is actually the same as the existing pad caps, just update the pointer without calling setcaps. Assert that caps is either NULL or fixed, as per the docs. * gst/gstghostpad.c: Update for fixate changes. 2005-07-01 14:36:12 +0000 Jan Schmidt gst/gstpad.c: Put the mini_object into GValue as a mini_object, not a gpointer. Original commit message from CVS: 2005-07-02 Jan Schmidt * gst/gstpad.c: (gst_pad_emit_have_data_signal): Put the mini_object into GValue as a mini_object, not a gpointer. 2005-07-01 14:20:19 +0000 Ronald S. Bultje examples/pwg/Makefile.am: Fix buildbot again. Original commit message from CVS: * examples/pwg/Makefile.am: Fix buildbot again. 2005-07-01 13:01:47 +0000 Ronald S. Bultje docs/pwg/building-testapp.xml: Add extra check. Original commit message from CVS: * docs/pwg/building-testapp.xml: Add extra check. * examples/pwg/Makefile.am: Fix buildbot. 2005-07-01 12:43:03 +0000 Ronald S. Bultje Enable building the PWG examples. Original commit message from CVS: * configure.ac: * examples/Makefile.am: * examples/pwg/Makefile.am: * examples/pwg/extract.pl: Enable building the PWG examples. * docs/pwg/advanced-interfaces.xml: Add URI interface stub. * docs/pwg/advanced-types.xml: * docs/pwg/other-autoplugger.xml: * docs/pwg/appendix-porting.xml: * docs/pwg/pwg.xml: Add porting guide (mostly stubs), remove autoplugging (see ADM). * docs/pwg/building-boiler.xml: * docs/pwg/building-chainfn.xml: * docs/pwg/building-pads.xml: * docs/pwg/building-props.xml: * docs/pwg/building-state.xml: * docs/pwg/building-testapp.xml: Update the building-*.xml parts for 0.9 changes. All examples code blocks compile in examples/pwg/*. 2005-06-30 12:32:17 +0000 Ronald S. Bultje docs/manual/: Fix playbin/decodebin examples, update docs a bit, mention bus instead of signals in various places, me... Original commit message from CVS: * docs/manual/advanced-autoplugging.xml: * docs/manual/appendix-checklist.xml: * docs/manual/appendix-integration.xml: * docs/manual/highlevel-components.xml: Fix playbin/decodebin examples, update docs a bit, mention bus instead of signals in various places, mention kmplayer and kaffeine since they have a working GStreamer backend in the KDE section. 2005-06-30 12:26:26 +0000 Thomas Vander Stichele * gst/gstqueue.c: * plugins/elements/gstqueue.c: debug disable fixes Original commit message from CVS: debug disable fixes 2005-06-30 12:18:19 +0000 Wim Taymans Added CHANGES-0.9 doc, updated status of other docs. Original commit message from CVS: * CHANGES-0.9: * docs/design/draft-ghostpads.txt: * docs/design/draft-push-pull.txt: * docs/design/draft-query.txt: * docs/design/part-TODO.txt: * docs/design/part-query.txt: Added CHANGES-0.9 doc, updated status of other docs. * gst/gstquery.h: Remove "hmm" macro 2005-06-30 12:14:47 +0000 Wim Taymans gst/base/gstbasesink.*: Some tweaks, only EOS and a buffer complete a preroll. Original commit message from CVS: * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty), (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object), (gst_base_sink_change_state): * gst/base/gstbasesink.h: Some tweaks, only EOS and a buffer complete a preroll. 2005-06-30 11:39:34 +0000 Andy Wingo gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy activate_push down to the internal pad as well. Original commit message from CVS: 2005-06-30 Andy Wingo * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy activate_push down to the internal pad as well. 2005-06-30 10:59:34 +0000 Ronald S. Bultje gst/gsttaginterface.c: Some documentation fixes (#307394 and #307397). Original commit message from CVS: Reviewed by: Ronald S. Bultje * gst/gsttaginterface.c: Some documentation fixes (#307394 and #307397). 2005-06-30 10:23:16 +0000 Thomas Vander Stichele * check/gst/.gitignore: * check/states/.gitignore: * tests/check/gst/.gitignore: ignore more Original commit message from CVS: ignore more 2005-06-30 10:22:15 +0000 Thomas Vander Stichele * check/Makefile.am: * tests/check/Makefile.am: go back to the circular dependency for now Original commit message from CVS: go back to the circular dependency for now 2005-06-30 10:10:00 +0000 Ronald S. Bultje gst/gstvalue.c: Fix memleak (#309125). Original commit message from CVS: Reviewed by: Ronald S. Bultje * gst/gstvalue.c: (gst_value_intersect_list): Fix memleak (#309125). 2005-06-30 09:59:27 +0000 Ronald S. Bultje docs/manual/advanced-dataaccess.xml: Fix fakesrc example to compile; doesn't work, bug somewhere...? Original commit message from CVS: * docs/manual/advanced-dataaccess.xml: Fix fakesrc example to compile; doesn't work, bug somewhere...? * docs/manual/basics-pads.xml: Add reference for filtered caps to above chapter. 2005-06-30 09:41:15 +0000 Wim Taymans gst/gstbin.c: Lame attempt at making the state change function a bit more readable. Original commit message from CVS: * gst/gstbin.c: (clear_queue), (remove_all_from_queue), (gst_bin_change_state): Lame attempt at making the state change function a bit more readable. 2005-06-30 09:33:45 +0000 Wim Taymans docs/design/: Some more tweeks and additions to the docs. Original commit message from CVS: * docs/design/part-clocks.txt: * docs/design/part-element-sink.txt: * docs/design/part-events.txt: * docs/design/part-preroll.txt: * docs/design/part-states.txt: Some more tweeks and additions to the docs. 2005-06-30 09:23:54 +0000 Wim Taymans gst/: Removed atomic operations, use existing LOCK. Original commit message from CVS: * gst/gstpad.c: (_gst_do_pass_data_accumulator), (default_have_data), (gst_pad_class_init), (gst_pad_init), (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event): * gst/gstpad.h: * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe), (gst_pad_add_event_probe), (gst_pad_add_buffer_probe), (gst_pad_remove_data_probe), (gst_pad_remove_event_probe), (gst_pad_remove_buffer_probe): Removed atomic operations, use existing LOCK. Move exception handling out of main code path. 2005-06-30 07:45:55 +0000 Thomas Vander Stichele * check/Makefile.am: * tests/check/Makefile.am: drop circular reference Original commit message from CVS: drop circular reference 2005-06-29 19:20:07 +0000 Ronald S. Bultje gst/gstpad.c: Fix accumulator, add default value by using _emitv() instead of _emit() for signal emission. Original commit message from CVS: * gst/gstpad.c: (_gst_do_pass_data_accumulator), (silly_return_true_function), (gst_pad_class_init), (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event): Fix accumulator, add default value by using _emitv() instead of _emit() for signal emission. 2005-06-29 16:57:59 +0000 Ronald S. Bultje Add probe example. Original commit message from CVS: * docs/manual/advanced-dataaccess.xml: * examples/manual/Makefile.am: Add probe example. * gst/gstpad.c: (_gst_do_pass_data_accumulator): Make work (??). 2005-06-29 16:45:58 +0000 Thomas Vander Stichele * gst/gstminiobject.c: fix for ppc, hopefully Original commit message from CVS: fix for ppc, hopefully 2005-06-29 16:11:12 +0000 Tim-Philipp Müller gst/elements/gstfilesink.c: Simplify code so that we don't have to handle short writes and return GST_FLOW_ERROR if a... Original commit message from CVS: * gst/elements/gstfilesink.c: (gst_filesink_render): Simplify code so that we don't have to handle short writes and return GST_FLOW_ERROR if an error occured. 2005-06-29 16:05:26 +0000 Ronald S. Bultje docs/gst/gstreamer-docs.sgml: Remove probes more. Original commit message from CVS: * docs/gst/gstreamer-docs.sgml: Remove probes more. 2005-06-29 15:51:25 +0000 Ronald S. Bultje Remove old probes, add new g-signal-based probes and some utility functions. Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * docs/gst/tmpl/gstpad.sgml: * docs/gst/tmpl/gstprobe.sgml: * gst/Makefile.am: * gst/gstpad.c: (_gst_do_pass_data_accumulator), (gst_pad_class_init), (gst_pad_init), (gst_pad_chain), (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event): * gst/gstpad.h: * gst/gstutils.c: (gst_pad_add_data_probe), (gst_pad_add_event_probe), (gst_pad_add_buffer_probe), (gst_pad_remove_data_probe), (gst_pad_remove_event_probe), (gst_pad_remove_buffer_probe): * gst/gstutils.h: Remove old probes, add new g-signal-based probes and some utility functions. 2005-06-29 15:17:25 +0000 Edward Hervey gst/: Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added the definition to the header file. Original commit message from CVS: * gst/gstelementfactory.c: * gst/gstutils.h: * gst/gstutils.c: Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added the definition to the header file. 2005-06-29 14:56:08 +0000 Andy Wingo docs/gst/Makefile.am (scan-build.stamp): Totally only check plugins from the source directory. Original commit message from CVS: 2005-06-29 Andy Wingo * docs/gst/Makefile.am (scan-build.stamp): Totally only check plugins from the source directory. 2005-06-29 14:52:44 +0000 Wim Taymans docs/gst/tmpl/: Some fixings for blantently wrong text. Original commit message from CVS: * docs/gst/tmpl/gstbuffer.sgml: * docs/gst/tmpl/gstclock.sgml: Some fixings for blantently wrong text. 2005-06-29 12:40:39 +0000 Thomas Vander Stichele * gst/gst.c: logic was reversed, duh Original commit message from CVS: logic was reversed, duh 2005-06-29 12:25:05 +0000 Thomas Vander Stichele add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will only scan the GST_PLUGIN_PATH locations, and not add system... Original commit message from CVS: * check/Makefile.am: * gst/gst.c: (add_path_func), (init_pre): * gst/gstregistry.c: (gst_registry_add_path): add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will only scan the GST_PLUGIN_PATH locations, and not add system locations 2005-06-29 12:23:35 +0000 Thomas Vander Stichele * ChangeLog: * docs/gst/gstreamer-sections.txt: * docs/gst/tmpl/gstbasesrc.sgml: * docs/gst/tmpl/gstelement.sgml: * gst/gstelement.c: * gst/gstelement.h: * gst/gstevent.c: * gst/gstutils.c: doc fixes Original commit message from CVS: doc fixes 2005-06-29 12:02:13 +0000 Ronald S. Bultje docs/manual/advanced-autoplugging.xml: Fix autoplugging example. Original commit message from CVS: * docs/manual/advanced-autoplugging.xml: Fix autoplugging example. 2005-06-29 11:46:16 +0000 Ronald S. Bultje docs/manual/: Try to get autoplugging working, fix type detection. Fix text in hello-world image. Original commit message from CVS: * docs/manual/advanced-autoplugging.xml: * docs/manual/mime-world.fig: Try to get autoplugging working, fix type detection. Fix text in hello-world image. 2005-06-29 11:10:44 +0000 Wim Taymans gst/base/gstbasesink.c: Small debug line. Original commit message from CVS: * gst/base/gstbasesink.c: (gst_base_sink_handle_object), (gst_base_sink_change_state): Small debug line. * gst/gstclock.h: map SIGNAL and BROADCAST to the right function. * gst/gstobject.h: Remove redundant braces. * gst/gstpad.c: (gst_pad_set_caps): Don't call setcaps function when reseting caps to NULL. * gst/gstsystemclock.c: (gst_system_clock_dispose), (gst_system_clock_async_thread), (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule): Use BROADCAST as this is what we do. 2005-06-29 10:24:08 +0000 Wim Taymans gst/base/gstbasesink.c: We are actually prerolling before commiting the state change. Original commit message from CVS: * gst/base/gstbasesink.c: (gst_base_sink_handle_object): We are actually prerolling before commiting the state change. 2005-06-29 09:25:51 +0000 Ronald S. Bultje docs/manual/: Update (until threads/scheduling) Application Development Manual; remove GstThread, add GstBus, add sim... Original commit message from CVS: * docs/manual/advanced-clocks.xml: * docs/manual/advanced-interfaces.xml: * docs/manual/advanced-metadata.xml: * docs/manual/advanced-position.xml: * docs/manual/advanced-schedulers.xml: * docs/manual/advanced-threads.xml: * docs/manual/appendix-porting.xml: * docs/manual/basics-bins.xml: * docs/manual/basics-bus.xml: * docs/manual/basics-elements.xml: * docs/manual/basics-helloworld.xml: * docs/manual/basics-pads.xml: * docs/manual/highlevel-components.xml: * docs/manual/manual.xml: * docs/manual/thread.fig: Update (until threads/scheduling) Application Development Manual; remove GstThread, add GstBus, add simple porting checklist, add documentation for tag writing, clocks, make all examples until this part compile and run. * examples/manual/Makefile.am: Update from changes to Application Development Manual; add bus example, remove thread example. 2005-06-28 19:45:26 +0000 Wim Taymans gst/gstbus.c: Add debugging messages. Original commit message from CVS: * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending), (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek), (gst_bus_source_dispatch): Add debugging messages. Make internal methods static. Handle the case where the bus is flushed in the handler. * gst/gstelement.c: (gst_element_get_bus): Fix refcount in _get_bus(); * gst/gstpipeline.c: (gst_pipeline_change_state), (gst_pipeline_get_clock_func): Clock refcounting fixes. Handle the case where preroll timed out more gracefully. * gst/gstsystemclock.c: (gst_system_clock_dispose): Clean up the internal thread in dispose. This is needed for subclasses that actually get disposed. * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_class_init), (gst_thread_scheduler_func), (gst_thread_scheduler_dispose): Free thread pool in dispose. 2005-06-28 16:57:27 +0000 Andy Wingo tests/network-clock-utils.scm (debug, print-event): New utils. Original commit message from CVS: 2005-06-28 Andy Wingo * tests/network-clock-utils.scm (debug, print-event): New utils. * tests/network-clock.scm (*debug*, *with-graph*): New parameters. (*packet-loss*): Unified loss probability. (network-time): Report out-of-band events. * tests/plot-data: Add support for out-of-band events. Hack it into this script instead of passing it down the pipe; should fix this later. 2005-06-28 15:36:37 +0000 Wim Taymans docs/gst/: Docs fixes. Original commit message from CVS: * docs/gst/gstreamer.types: * docs/gst/tmpl/gstbasesrc.sgml: * docs/gst/tmpl/gstpad.sgml: Docs fixes. 2005-06-28 13:40:12 +0000 Wim Taymans gst/gstghostpad.c: Correctly proxy the check_pull_range function. Original commit message from CVS: * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps): Correctly proxy the check_pull_range function. 2005-06-28 12:45:21 +0000 Thomas Vander Stichele * gst/elements/gstfakesink.c: * gst/elements/gstfakesrc.c: * plugins/elements/gstfakesink.c: * plugins/elements/gstfakesrc.c: fix fake elements too Original commit message from CVS: fix fake elements too 2005-06-28 12:01:49 +0000 Thomas Vander Stichele * gst/base/gstbasesink.c: * gst/base/gstbasesink.h: * gst/base/gstbasesrc.c: * gst/base/gstbasesrc.h: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesink.h: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasesrc.h: did s/bases(rc/ink)_/base_s(rc/ink)_/; wim wants to remove base completely, but that's for later Original commit message from CVS: did s/bases(rc/ink)_/base_s(rc/ink)_/; wim wants to remove base completely, but that's for later 2005-06-28 11:48:57 +0000 Andy Wingo tests/network-clock.scm: Removed need for slib. Original commit message from CVS: 2005-06-28 Andy Wingo * tests/network-clock.scm: Removed need for slib. 2005-06-28 11:36:43 +0000 Wim Taymans gst/: The deprecated pad loop function is removed now. Original commit message from CVS: * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions), (gst_basesink_preroll_queue_flush): * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs): * gst/elements/gsttee.c: (gst_tee_update_pad_functions): * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps), (gst_proxy_pad_set_property): * gst/gstpad.c: * gst/gstpad.h: * gst/gstqueue.c: (gst_queue_init): The deprecated pad loop function is removed now. 2005-06-28 11:33:22 +0000 Andy Wingo tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*): New parameters, simulate network packet loss. Original commit message from CVS: 2005-06-28 Andy Wingo * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*): New parameters, simulate network packet loss. * tests/network-clock-utils.scm: Initialize the RNG. 2005-06-28 11:02:18 +0000 Wim Taymans gst/base/gstbasesink.c: Flushing the preroll queue always needs to unlock the waiters. Original commit message from CVS: * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush), (gst_basesink_event), (gst_basesink_deactivate): Flushing the preroll queue always needs to unlock the waiters. 2005-06-28 10:45:48 +0000 Edward Hervey gst/gstpipeline.c: Wheen a seek was successful on a pipeline, set the stream_time to the seek offset in order to have... Original commit message from CVS: * gst/gstpipeline.c: (gst_pipeline_send_event): Wheen a seek was successful on a pipeline, set the stream_time to the seek offset in order to have a synchronized stream_time. 2005-06-28 10:37:24 +0000 Wim Taymans gst/gstghostpad.c: Call wrapper function instead of just calling the function pointers. This takes care of any lockin... Original commit message from CVS: * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps): Call wrapper function instead of just calling the function pointers. This takes care of any locking and whatmore. 2005-06-28 10:28:31 +0000 Wim Taymans gst/gstpad.*: CONNECTED -> LINKED. Original commit message from CVS: * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push), (gst_pad_pull_range): * gst/gstpad.h: CONNECTED -> LINKED. 2005-06-28 09:59:01 +0000 Andy Wingo *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large source-munging commit!!! Original commit message from CVS: 2005-06-28 Andy Wingo * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large source-munging commit!!! 2005-06-28 09:17:14 +0000 Andy Wingo * ChangeLog: * docs/gst/tmpl/gstobject.sgml: * gst/gstobject.c: * gst/gstobject.h: gst/gstobject.c (gst_object_unref, gst_object_ref) Original commit message from CVS: 2005-06-28 Andy Wingo * gst/gstobject.c (gst_object_unref, gst_object_ref) (gst_object_sink): Take gpointer arguments, not GstObject -- avoids casts. Like GLib. 2005-06-28 08:41:43 +0000 Andy Wingo gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy activate. Original commit message from CVS: 2005-06-28 Andy Wingo * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy activate. 2005-06-27 18:39:41 +0000 Andy Wingo * gst/gstpad.c: shut up gcc3 Original commit message from CVS: shut up gcc3 2005-06-27 18:35:05 +0000 Andy Wingo gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any remaining buffer. Original commit message from CVS: 2005-06-27 Andy Wingo * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any remaining buffer. * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper, returns a sorted copy of the trace list. (gst_alloc_trace_print_live): New API, only prints traces with live objects. Sort the list. (gst_alloc_trace_print_all): Sort the list. (gst_alloc_trace_print): Align columns. * gst/elements/gstttypefindelement.c: * gst/elements/gsttee.c: * gst/base/gstbasesrc.c: * gst/base/gstbasesink.c: * gst/base/gstbasetransform.c: * gst/gstqueue.c: Adapt for pad activation changes. * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting sched. (gst_pipeline_dispose): Drop ref on sched. * gst/gstpad.c (gst_pad_init): Set the default activate func. (gst_pad_activate_default): Push mode by default. (pre_activate_switch, post_activate_switch): New stubs, things to do before and after switching activation modes on pads. (gst_pad_set_active): Take a boolean and not a mode, dispatch to the pad's activate function to choose which mode to activate. Shortcut on deactivation and call the right function directly. (gst_pad_activate_pull): New API, (de)activates a pad in pull mode. (gst_pad_activate_push): New API, same for push mode. (gst_pad_set_activate_function) (gst_pad_set_activatepull_function) (gst_pad_set_activatepush_function): Setters for new API. * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free): Trace all miniobjects. (gst_mini_object_make_writable): Unref the arg if we copy, like gst_caps_make_writable. * gst/gstmessage.c (_gst_message_initialize): No trace init. * gst/gstghostpad.c (gst_proxy_pad_do_activate) (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush): Adapt for new pad API. * gst/gstevent.c (_gst_event_initialize): Don't initialize trace. * gst/gstelement.h: * gst/gstelement.c (gst_element_iterate_src_pads) (gst_element_iterate_sink_pads): New API functions. * gst/gstelement.c (iterator_fold_with_resync): New utility, should fold into gstiterator.c in some form. (gst_element_pads_activate): Simplified via use of fold and delegation of decisions to gstpad->activate. * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL, help in debugging. * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type class once in init, like gstmessage. Didn't run into this issue but it seems correct. Don't initialize a trace, gstminiobject does that. * check/pipelines/simple_launch_lines.c (test_stop_from_app): New test, runs fakesrc ! fakesink, stopping on ::handoff via a message to the bus. (assert_live_count): New util function, uses alloc traces to check cleanup. * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks. To be modified when unlink drops the internal pad. 2005-06-27 18:11:24 +0000 Wim Taymans gst/gstbin.c: Cleanup the get_state() function a little, make sure it iterates the same set of elements. Original commit message from CVS: * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order), (gst_bin_change_state): Cleanup the get_state() function a little, make sure it iterates the same set of elements. Added stub iterate_state_order(). 2005-06-27 14:40:09 +0000 Thomas Vander Stichele * ChangeLog: * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * docs/gst/gstreamer.types: * docs/gst/tmpl/gstbasesink.sgml: * docs/gst/tmpl/gstbasesrc.sgml: * docs/gst/tmpl/gstbasetransform.sgml: * docs/gst/tmpl/gstelement.sgml: * docs/gst/tmpl/gstiterator.sgml: * gst/base/gstbasesrc.c: * gst/base/gstbasesrc.h: * gst/base/gstbasetransform.h: * gst/gstelement.c: * gst/gstiterator.h: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasesrc.h: * libs/gst/base/gstbasetransform.h: adding basetransform and iterator docs Original commit message from CVS: adding basetransform and iterator docs 2005-06-27 13:25:44 +0000 Andy Wingo docs/design/part-activation.txt: Notes on how activation should work -- not quite implemented yet. Original commit message from CVS: 2005-06-27 Andy Wingo * docs/design/part-activation.txt: Notes on how activation should work -- not quite implemented yet. 2005-06-27 08:54:16 +0000 Thomas Vander Stichele * docs/gst/gstreamer-sections.txt: * docs/gst/tmpl/gstbasesrc.sgml: * docs/gst/tmpl/gstelement.sgml: * docs/gst/tmpl/gstregistry.sgml: remove stuff that isn't there anymore Original commit message from CVS: remove stuff that isn't there anymore 2005-06-27 08:16:51 +0000 Thomas Vander Stichele * docs/gst/gstreamer-sections.txt: * docs/gst/tmpl/gstbasesrc.sgml: * docs/gst/tmpl/gstbin.sgml: * docs/gst/tmpl/gstelement.sgml: * docs/gst/tmpl/gsttypes.sgml: * gst/base/gstbasesrc.h: * gst/gstbin.c: * gst/gstbin.h: * gst/gstelement.h: * libs/gst/base/gstbasesrc.h: more doc and whitespace fixes Original commit message from CVS: more doc and whitespace fixes 2005-06-25 19:53:02 +0000 Wim Taymans gst/gstghostpad.c: At least get the chain function correct, needs more fixing. Original commit message from CVS: * gst/gstghostpad.c: (gst_proxy_pad_do_chain): At least get the chain function correct, needs more fixing. 2005-06-25 19:37:59 +0000 Wim Taymans gst/: Right, two problems here: ghostpads don't take locks and glib _rec_mutex_lock_full() with depth==0 still locks. Original commit message from CVS: * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty), (gst_basesink_handle_object), (gst_basesink_event), (gst_basesink_do_sync), (gst_basesink_handle_event), (gst_basesink_change_state): * gst/gsttask.h: Right, two problems here: ghostpads don't take locks and glib _rec_mutex_lock_full() with depth==0 still locks. Catch illegal locking and g_warn them. 2005-06-25 19:14:51 +0000 Wim Taymans check/states/sinks.c: Have to check for completion now... Original commit message from CVS: * check/states/sinks.c: (START_TEST), (gst_object_suite): Have to check for completion now... 2005-06-25 19:09:28 +0000 Wim Taymans gst/: Unlock STREAM_LOCK whatever the recursion was. Original commit message from CVS: * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty), (gst_basesink_handle_object), (gst_basesink_event), (gst_basesink_do_sync), (gst_basesink_handle_event), (gst_basesink_change_state): * gst/gstpad.h: Unlock STREAM_LOCK whatever the recursion was. 2005-06-25 17:54:58 +0000 Wim Taymans gst/base/gstbasesink.c: Reworked the base sink, handle event and buffer serialisation correctly and removed possible ... Original commit message from CVS: * gst/base/gstbasesink.c: (gst_basesink_set_property), (gst_basesink_preroll_queue_empty), (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object), (gst_basesink_event), (gst_basesink_do_sync), (gst_basesink_handle_event), (gst_basesink_handle_buffer), (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate), (gst_basesink_change_state): Reworked the base sink, handle event and buffer serialisation correctly and removed possible deadlock. Handle EOS correctly. 2005-06-25 17:51:12 +0000 Wim Taymans Allow elements to post EOS in the state change function. Original commit message from CVS: * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler), (gst_pipeline_change_state): * tools/gst-launch.c: (check_intr), (event_loop), (main): Allow elements to post EOS in the state change function. Fix up -launch, make it exit the poll loop when the pipeline actually changed state. Fix up warning parsing in -launch. 2005-06-25 17:44:39 +0000 Wim Taymans gst/elements/gsttee.c: Core takes STREAM_LOCK for us now. Original commit message from CVS: * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop), (gst_tee_sink_activate): Core takes STREAM_LOCK for us now. 2005-06-25 17:42:17 +0000 Wim Taymans gst/: Keep track of current target state while performing a state change so that subclasses can do something interest... Original commit message from CVS: * gst/gstelement.c: (gst_element_get_state_func), (gst_element_set_state): * gst/gstelement.h: * gst/gstmessage.c: (gst_message_parse_error), (gst_message_parse_warning): Keep track of current target state while performing a state change so that subclasses can do something interesting. Fix parsing of warning/error messages when GError is NULL. 2005-06-24 18:16:14 +0000 Thomas Vander Stichele * ChangeLog: * docs/gst/Makefile.am: * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * docs/gst/gstreamer.types: * docs/gst/tmpl/gstbasesink.sgml: * docs/gst/tmpl/gstbasesrc.sgml: * docs/gst/tmpl/gstbin.sgml: * docs/gst/tmpl/gstcompat.sgml: * docs/gst/tmpl/gstfakesink.sgml: * docs/gst/tmpl/gstfakesrc.sgml: * docs/gst/tmpl/gstfilesink.sgml: * docs/gst/tmpl/gstfilesrc.sgml: * docs/gst/tmpl/gstindex.sgml: * docs/manual/appendix-quotes.xml: * gst/base/gstbasesrc.h: * gst/elements/gstfakesrc.h: * gst/gstmessage.h: * libs/gst/base/gstbasesrc.h: * plugins/elements/gstfakesrc.h: start pulling in base classes and elements for docs Original commit message from CVS: start pulling in base classes and elements for docs 2005-06-24 07:49:40 +0000 Stefan Kost * ChangeLog: * docs/gst/Makefile.am: * docs/libs/Makefile.am: fixed make distcheck with gtk-doc 1.3 Original commit message from CVS: fixed make distcheck with gtk-doc 1.3 2005-06-23 17:11:49 +0000 Wim Taymans gst/gstelement.c: When the state did not change, also report NO_PREROLL when it matters. Original commit message from CVS: * gst/gstelement.c: (gst_element_get_state_func), (gst_element_set_state), (gst_element_change_state): When the state did not change, also report NO_PREROLL when it matters. 2005-06-23 17:09:21 +0000 Wim Taymans gst/: No unsafe task pausing please. Original commit message from CVS: * gst/gstpad.c: (gst_pad_event_default): * gst/gstqueue.c: (gst_queue_loop): No unsafe task pausing please. 2005-06-23 17:07:08 +0000 Wim Taymans gst/schedulers/threadscheduler.c: Ref the task before pushing it on the threadpool. This makes sure that we have a re... Original commit message from CVS: * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_task_start), (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func): Ref the task before pushing it on the threadpool. This makes sure that we have a ref when the threadfunction is actually called. 2005-06-23 15:26:09 +0000 Andy Wingo gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the offset is greater than the file's size. Original commit message from CVS: 2005-06-23 Andy Wingo * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the offset is greater than the file's size. 2005-06-23 15:04:48 +0000 Andy Wingo gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass) Original commit message from CVS: 2005-06-23 Andy Wingo * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass) * gst/gstobject.c (gst_object_class_init): Make the class lock recursive. Wim won't let me drop deep_notify. Decodebin works again, whoopdy doo. 2005-06-23 14:18:15 +0000 Andy Wingo gst/gstghostpad.c (on_int_notify): Catches notify::caps on the internal pad, and hacks accordingly. Doesn't do it on ... Original commit message from CVS: 2005-06-23 Andy Wingo * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the internal pad, and hacks accordingly. Doesn't do it on the target pad because we change its caps. Probably catches all cases of interest tho. (gst_ghost_pad_set_property): Connect to notify::caps as appropritate. 2005-06-23 13:20:44 +0000 Andy Wingo tests/network-clock.scm (plot-simulation): Pipe data to the elite python skript. Original commit message from CVS: 2005-06-23 Andy Wingo * tests/network-clock.scm (plot-simulation): Pipe data to the elite python skript. * tests/network-clock-utils.scm (define-parameter): New macro, defines a parameter that can be set via the command line. (set-parameter!, parse-parameter-arguments): Command line args parser. * tests/plot-data: Simple matplotlib-based plotter, takes input on stdin. 2005-06-23 13:20:00 +0000 Thomas Vander Stichele * docs/manual/appendix-quotes.xml: add more important documentation Original commit message from CVS: add more important documentation 2005-06-23 11:43:39 +0000 Jan Schmidt gst/elements/gsttypefindelement.c: Don't restart typefinding on a discont. Original commit message from CVS: 2005-06-23 Jan Schmidt * gst/elements/gsttypefindelement.c: (gst_type_find_element_handle_event): Don't restart typefinding on a discont. * gst/gstelement.c: (gst_element_set_state): Debug spelling fix. * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event): Allow changing mode of an active pad. Debug output fixes. * gst/registries/gstlibxmlregistry.c: (load_feature): Don't cast a static pad template to a normal pad template. 2005-06-23 11:25:29 +0000 Thomas Vander Stichele remove gst_strtoll completely, since it didn't actually do anything more than what g_ascii_strtoull already does. Original commit message from CVS: * check/gst/gstvalue.c: (START_TEST), (gst_value_suite): * gst/gstvalue.c: (gst_value_deserialize_int_helper): remove gst_strtoll completely, since it didn't actually do anything more than what g_ascii_strtoull already does. check for range errors when deserializing do a cast for the unsigned cases; but further fixing needs a decision on what the interpretation of "(int)" and deserialization should be for values that fall outside the type's boundaries (ie, refuse, or interpret as casting) 2005-06-23 10:37:09 +0000 Wim Taymans * ChangeLog: * check/Makefile.am: * check/states/sinks.c: * docs/design/part-live-source.txt: * docs/design/part-states.txt: * gst/base/gstbasesrc.c: * gst/base/gstbasesrc.h: * gst/elements/gstfakesrc.c: * gst/gstbin.c: * gst/gstelement.c: * gst/gstelement.h: * gst/gsttypes.h: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasesrc.h: * plugins/elements/gstfakesrc.c: * tests/check/Makefile.am: * tests/check/generic/sinks.c: * tools/gst-launch.c: Added support for live sources and other elements that cannot do preroll. Original commit message from CVS: Added support for live sources and other elements that cannot do preroll. Updated design docs, added live-source design doc. Implemented live source functionality in basesrc Fix error condition in _bin_get_state() Implement live source handling in -launch. Added check for live sources. Fixed case in GstBin where elements were changed state multiple times. 2005-06-23 09:59:33 +0000 Andy Wingo check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix borken refcounting. Original commit message from CVS: 2005-06-23 Andy Wingo * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix borken refcounting. 2005-06-23 09:41:41 +0000 Andy Wingo * gst/gstpad.c: commit the file Original commit message from CVS: commit the file 2005-06-23 09:41:09 +0000 Andy Wingo gst/gstpad.c (gst_pad_set_caps): Remove needless refs, gst_caps_replace takes care of this for us. Original commit message from CVS: 2005-06-23 Andy Wingo * gst/gstpad.c (gst_pad_set_caps): Remove needless refs, gst_caps_replace takes care of this for us. 2005-06-23 09:28:27 +0000 Andy Wingo gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full gst_pad_set_caps on the target, not just its setcaps() fu... Original commit message from CVS: 2005-06-23 Andy Wingo * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full gst_pad_set_caps on the target, not just its setcaps() function. 2005-06-23 00:39:26 +0000 Andy Wingo tests/: A network clock simulator. Original commit message from CVS: 2005-06-23 Andy Wingo * tests/network-clock.scm: * tests/network-clock-utils.scm: A network clock simulator. Something of an algorithmic testbed before doing something in C. 2005-06-22 19:57:12 +0000 Thomas Vander Stichele * check/Makefile.am: * tests/check/Makefile.am: make sure capslist.h gets disted Original commit message from CVS: make sure capslist.h gets disted 2005-06-22 19:48:54 +0000 Thomas Vander Stichele file fromstring.c was initially added on branch BRANCH-GSTREAMER-0_8. Original commit message from CVS: file fromstring.c was initially added on branch BRANCH-GSTREAMER-0_8. 2005-06-22 19:22:34 +0000 Thomas Vander Stichele check/: copy over from 0.8, and add two with bitmasks specified with (int) 0xFF... Original commit message from CVS: * check/Makefile.am: * check/gst/capslist.h: copy over from 0.8, and add two with bitmasks specified with (int) 0xFF... * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite): add test to parse everything from capslist.h * check/gst/gststructure.c: (START_TEST), (gst_value_suite), (main): add test for structure deserialization * check/gst/gstvalue.c: (START_TEST), (gst_value_suite): add tests for deserialization of strings to int types * gst/gststructure.c: (gst_structure_nth_field_name): * gst/gststructure.h: add a way to get the name of a field referenced by index * gst/gstvalue.c: (gst_value_deserialize_int_helper): instead of checking if the resulting long long lies between min and max, we check if the long long would fit into a number of bytes for the final type. This fixes cases where a string represents 2^32 - 1, which when cast to int would be the (valid) -1, but is bigger than G_MAXINT 2005-06-22 11:02:57 +0000 Thomas Vander Stichele * ChangeLog: * gst/parse/grammar.y: add a log line for type deserialization Original commit message from CVS: add a log line for type deserialization 2005-06-22 10:52:18 +0000 Thomas Vander Stichele return long long, not int, so gint64 deserialization actually works. Is there any flag that makes the compiler check... Original commit message from CVS: * check/gst/gstvalue.c: (START_TEST): * gst/gstvalue.c: (gst_value_deserialize): return long long, not int, so gint64 deserialization actually works. Is there any flag that makes the compiler check this ? Fixes #308559 2005-06-22 09:55:16 +0000 Wim Taymans gst/gstbuffer.h: Added convenience macros for setting buffers in GValue. Original commit message from CVS: * gst/gstbuffer.h: Added convenience macros for setting buffers in GValue. 2005-06-21 17:41:35 +0000 Thomas Vander Stichele check/gst/: add a test deserializing int64, and comment part out because it fails, yay ! Original commit message from CVS: * check/gst/.cvsignore: * check/gst/gstvalue.c: (START_TEST), (gst_value_suite): add a test deserializing int64, and comment part out because it fails, yay ! 2005-06-21 16:53:14 +0000 Thomas Vander Stichele * check/gst/gst.c: * tests/check/gst/gst.c: commit a file I forgot Original commit message from CVS: commit a file I forgot 2005-06-21 16:48:46 +0000 Thomas Vander Stichele * ChangeLog: * check/Makefile.am: * check/gst/gstvalue.c: * tests/check/Makefile.am: * tests/check/gst/gstvalue.c: * tests/old/testsuite/Makefile.am: * tests/old/testsuite/caps/Makefile.am: * tests/old/testsuite/caps/value_serialize.c: * tests/old/testsuite/test_gst_init.c: * testsuite/Makefile.am: * testsuite/caps/Makefile.am: * testsuite/caps/value_serialize.c: * testsuite/test_gst_init.c: move over a value_serialize test Original commit message from CVS: move over a value_serialize test 2005-06-20 15:18:17 +0000 Wim Taymans gst/gstpad.c: Small doc updates. Original commit message from CVS: * gst/gstpad.c: Small doc updates. * gst/gstvalue.c: (gst_value_compare_buffer), (gst_value_serialize_buffer), (gst_value_deserialize_buffer), (gst_value_compare_flags), (gst_value_serialize_flags), (gst_value_deserialize_flags), (_gst_value_initialize): Fix serialisation of buffers, they are not boxed types anymore 2005-06-20 15:14:58 +0000 Wim Taymans check/gst/gstcaps.c: Testcase to show error in buffer-on-caps serialisation. Original commit message from CVS: * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite): Testcase to show error in buffer-on-caps serialisation. 2005-06-20 15:13:43 +0000 Andy Wingo docs/random/wingo/porting-plugins-to-0.9: A pitiful document I will be adding to later. Original commit message from CVS: 2005-06-20 Andy Wingo * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I will be adding to later. 2005-06-20 11:41:17 +0000 Andy Wingo gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock if its socks fill with rocks. Original commit message from CVS: 2005-06-20 Andy Wingo * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock if its socks fill with rocks. (gst_system_clock_obtain): Set the name on object construction. Avoid double-checked locking. 2005-06-20 11:32:14 +0000 Tim-Philipp Müller gst/gsturi.c: Fix potential endless loop. Original commit message from CVS: * gst/gsturi.c: (gst_element_make_from_uri): Fix potential endless loop. 2005-06-20 11:27:36 +0000 Thomas Vander Stichele * configure.ac: * tests/old/testsuite/Makefile.am: * tests/old/testsuite/ghostpads/.gitignore: * tests/old/testsuite/ghostpads/Makefile.am: * tests/old/testsuite/ghostpads/ghostpads.c: * testsuite/Makefile.am: * testsuite/ghostpads/.gitignore: * testsuite/ghostpads/Makefile.am: * testsuite/ghostpads/ghostpads.c: remove another test that's obsolete Original commit message from CVS: remove another test that's obsolete 2005-06-20 11:23:59 +0000 Thomas Vander Stichele * configure.ac: * tests/old/testsuite/Makefile.am: * tests/old/testsuite/clock/.gitignore: * tests/old/testsuite/clock/Makefile.am: * tests/old/testsuite/clock/clock1.c: * tests/old/testsuite/clock/clock2.c: * tests/old/testsuite/clock/signedness.c: * testsuite/Makefile.am: * testsuite/clock/.gitignore: * testsuite/clock/Makefile.am: * testsuite/clock/clock1.c: * testsuite/clock/clock2.c: * testsuite/clock/signedness.c: remove clock testsuite, important stuff already moved to check Original commit message from CVS: remove clock testsuite, important stuff already moved to check 2005-06-20 11:18:40 +0000 Thomas Vander Stichele * configure.ac: * tests/old/testsuite/Makefile.am: * tests/old/testsuite/bins/.gitignore: * tests/old/testsuite/bins/Makefile.am: * tests/old/testsuite/bins/interface.c: * testsuite/Makefile.am: * testsuite/bins/.gitignore: * testsuite/bins/Makefile.am: * testsuite/bins/interface.c: remove test that was already moved to check Original commit message from CVS: remove test that was already moved to check 2005-06-19 11:32:42 +0000 Thomas Vander Stichele check/Makefile.am: add gsttag Original commit message from CVS: * check/Makefile.am: add gsttag * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite), (main): move over from testsuite dir and clean up * configure.ac: * gst/gsttag.c: * testsuite/Makefile.am: * testsuite/tags/.cvsignore: * testsuite/tags/Makefile.am: * testsuite/tags/merge.c: remove testsuite/tags 2005-06-19 10:54:12 +0000 Thomas Vander Stichele * docs/gst/gstreamer-sections.txt: * docs/gst/tmpl/gstbin.sgml: * docs/gst/tmpl/gstbuffer.sgml: * docs/gst/tmpl/gstcaps.sgml: * docs/gst/tmpl/gststructure.sgml: * gst/gstbin.h: * gst/gstbuffer.h: some more docs cleanup Original commit message from CVS: some more docs cleanup 2005-06-19 10:31:42 +0000 Thomas Vander Stichele * configure.ac: * tests/Makefile.am: * tests/bufspeed/.gitignore: * tests/bufspeed/Makefile.am: * tests/bufspeed/README: * tests/bufspeed/gstmempool.c: * tests/bufspeed/gstmempool.h: * tests/bufspeed/test1.c: * tests/bufspeed/test2.c: * tests/spidey_bench.c: remove bufspeed and spidey_bench Original commit message from CVS: remove bufspeed and spidey_bench 2005-06-19 10:22:47 +0000 Thomas Vander Stichele * ChangeLog: * docs/gst/gstreamer-sections.txt: * docs/gst/tmpl/gstenumtypes.sgml: * win32/gstenumtypes.c: clean up docs a little Original commit message from CVS: clean up docs a little 2005-06-19 00:52:31 +0000 Thomas Vander Stichele check/gstcheck.h: add macros for checking refcounts on objects and caps Original commit message from CVS: * check/gstcheck.h: add macros for checking refcounts on objects and caps * check/gst/gstpad.c: (START_TEST), (gst_pad_suite): add some more unit tests * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps): fix leaked refcounts (I hope :)) so unittest works * gst/gstpad.h: whitespace removal 2005-06-18 22:33:14 +0000 Thomas Vander Stichele * ChangeLog: * NEWS: * RELEASE: * configure.ac: back to head Original commit message from CVS: back to head 2005-06-17 12:00:35 +0000 Andy Wingo * ChangeLog: changelog Original commit message from CVS: changelog 2005-06-17 11:58:48 +0000 Andy Wingo gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus assert; it's always possible that the pad gets deactivated ... Original commit message from CVS: 2005-06-17 Andy Wingo * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus assert; it's always possible that the pad gets deactivated in between the checks in gstpad.c and the implementation. Rely on finish_preroll() to return a FLUSHING or similar instead of on the assert. 2005-06-17 11:33:27 +0000 Andy Wingo gst/base/gstbasesink.c (gst_basesink_event): Only wait for the clock and post an EOS message if we come out of finish... Original commit message from CVS: 2005-06-17 Andy Wingo * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the clock and post an EOS message if we come out of finish_preroll in the playing state. 2005-06-17 09:58:38 +0000 Thomas Vander Stichele * README: incorporate plugins stuff and uninstalled stuff Original commit message from CVS: incorporate plugins stuff and uninstalled stuff 2005-06-17 09:32:19 +0000 Thomas Vander Stichele * gst/indexers/.gitignore: * plugins/indexers/.gitignore: ignore more Original commit message from CVS: ignore more 2005-06-17 09:12:33 +0000 Thomas Vander Stichele * check/gst/.gitignore: * gst/base/.gitignore: * gst/elements/.gitignore: * gst/parse/.gitignore: * gst/registries/.gitignore: * gst/schedulers/.gitignore: * libs/gst/base/.gitignore: * libs/gst/bytestream/.gitignore: * libs/gst/control/.gitignore: * libs/gst/dataprotocol/.gitignore: * libs/gst/getbits/.gitignore: * plugins/elements/.gitignore: * tests/check/gst/.gitignore: * tools/.gitignore: ignore more Original commit message from CVS: ignore more 2005-06-17 08:59:41 +0000 Thomas Vander Stichele * .gitignore: * ChangeLog: * README: * check/.gitignore: * examples/manual/.gitignore: * gst/.gitignore: * tests/check/.gitignore: * tests/old/examples/manual/.gitignore: ignore more; fix README Original commit message from CVS: ignore more; fix README 2005-06-16 17:50:16 +0000 David Schleef gst/elements/gstcapsfilter.c: Allow NULL as possible value for filter_caps property, indicating GST_CAPS_ANY. Original commit message from CVS: * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init), (gst_capsfilter_set_property): Allow NULL as possible value for filter_caps property, indicating GST_CAPS_ANY. 2005-06-09 13:33:00 +0000 Thomas Vander Stichele gst/elements/gstfakesrc.c: fix debug output Original commit message from CVS: * gst/elements/gstfakesrc.c: (gst_fakesrc_create): fix debug output * gst/schedulers/Makefile.am: use libgst prefix * gstreamer.spec.in: fix spec for it 2005-06-09 12:23:05 +0000 Thomas Vander Stichele gstreamer.spec.in: clean up Original commit message from CVS: * gstreamer.spec.in: clean up 2005-06-09 12:09:56 +0000 Thomas Vander Stichele gstreamer.spec.in: clean up Original commit message from CVS: * gstreamer.spec.in: clean up 2005-06-09 12:03:04 +0000 Thomas Vander Stichele * TODO: * docs/random/TODO-pre-0.9: have a real TODO, move old TODO Original commit message from CVS: have a real TODO, move old TODO 2005-06-09 12:00:27 +0000 Thomas Vander Stichele * po/af.po: * po/az.po: * po/ca.po: * po/cs.po: * po/de.po: * po/en_GB.po: * po/fr.po: * po/it.po: * po/nb.po: * po/nl.po: * po/ru.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: po updates Original commit message from CVS: po updates 2005-06-09 11:12:57 +0000 Thomas Vander Stichele * po/af.po: * po/az.po: * po/ca.po: * po/cs.po: * po/de.po: * po/en_GB.po: * po/fr.po: * po/it.po: * po/nb.po: * po/nl.po: * po/ru.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: update translations Original commit message from CVS: update translations 2005-06-08 22:16:27 +0000 Andy Wingo gst/gstutils.c: RPAD fixes all around. Original commit message from CVS: 2005-06-08 Andy Wingo * gst/gstutils.c: RPAD fixes all around. (gst_element_link_pads): Refcounting fixes. * tools/gst-inspect.c: * tools/gst-xmlinspect.c: * parse/grammar.y: * gst/base/gsttypefindhelper.c: * gst/base/gstbasesink.c: * gst/gstqueue.c: RPAD fixes. * gst/gstghostpad.h: * gst/gstghostpad.c: New ghost pad implementation as full proxy pads. The tricky thing is they provide both source and sink interfaces, since they proxy the internal pad for the external pad, and vice versa. Implement with lower-level ProxyPad objects, with the interior proxy pad as a child of the exterior ghost pad. Should write a doc on this. * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/. (gst_pad_set_name, gst_pad_set_parent): Macros removed, use gst_object API. * gst/gstpad.c: Big changes. No more stub base GstPad, now all pads are real pads. No ghost pads in this file. Not documenting the myriad s/RPAD/PAD/ and REALIZE fixes. (gst_pad_class_init): Add properties for "direction" and "template". Both are construct-only, so they can't change during the life of the pad. Fixes properly deriving from GstPad. (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For derived objects, just set properties when creating the objects via g_object_new. (gst_pad_get_parent): Implement as a function, return NULL if the parent is not an element. (gst_pad_get_real_parent, gst_pad_add_ghost_pad) (gst_pad_remove_ghost_pad, gst_pad_realize): Removed. * gst/gstobject.c (gst_object_class_init): Make name a construct property. Don't set it in the object init. * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads with UNKNOWN direction. (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)). (gst_element_remove_pad): Remove ghost-pad special cases. (gst_element_pads_activate): Remove rpad cruft. * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to catch the pad's-parent-not-an-element case. * gst/gst.h: Include gstghostpad.h. * gst/gst.c (init_post): No more real, ghost pads. * gst/Makefile.am: Add gstghostpad.[ch]. * check/Makefile.am: * check/gst/gstbin.c: * check/gst/gstghostpad.c (test_ghost_pads): Check that linking into a bin creates ghost pads, and that the refcounts are right. Partly moved from gstbin.c. 2005-06-08 14:00:21 +0000 Thomas Vander Stichele check/: ignore more Original commit message from CVS: * check/gst-libs/.cvsignore: * check/gst/.cvsignore: * check/pipelines/.cvsignore: ignore more * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline), (START_TEST), (cleanup_suite), (main): add some tests related to cleanup after running pipelines 2005-06-08 13:57:13 +0000 Thomas Vander Stichele * ChangeLog: * check/gst/gstbuffer.c: * tests/check/gst/gstbuffer.c: add a GstBuffer unit test Original commit message from CVS: add a GstBuffer unit test 2005-06-08 13:45:26 +0000 Thomas Vander Stichele * ChangeLog: previous commit accidentally also added refcount defines for gstminiobject, logging that now Original commit message from CVS: previous commit accidentally also added refcount defines for gstminiobject, logging that now 2005-06-08 13:42:52 +0000 Thomas Vander Stichele * check/Makefile.am: * docs/faq/gst-uninstalled: * gst/gstminiobject.h: * tests/check/Makefile.am: add a 'plugins' dir to the PLUGIN_PATH in the uninstalled script to drop random other plugin-having projects in Original commit message from CVS: add a 'plugins' dir to the PLUGIN_PATH in the uninstalled script to drop random other plugin-having projects in 2005-06-08 13:41:48 +0000 Thomas Vander Stichele * configure.ac: we did a prerelease Original commit message from CVS: we did a prerelease 2005-06-08 13:41:31 +0000 Thomas Vander Stichele * gst/gstobject.h: OBJECT acts on obj not caps Original commit message from CVS: OBJECT acts on obj not caps 2005-06-08 13:41:05 +0000 Thomas Vander Stichele * gst/gstelementfactory.c: add a debug line Original commit message from CVS: add a debug line 2005-06-08 13:40:46 +0000 Thomas Vander Stichele * gst/gstbuffer.c: * gst/gstbuffer.h: white space fixes Original commit message from CVS: white space fixes 2005-06-03 18:26:59 +0000 Stefan Kost * ChangeLog: * Makefile.am: * common: added support for html unit test coverage reports Original commit message from CVS: added support for html unit test coverage reports 2005-06-02 15:45:16 +0000 Jan Schmidt gst/elements/gstcapsfilter.c: Free existing caps if the capsfilter changes. Add a FIXME about setting those caps on t... Original commit message from CVS: * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property): Free existing caps if the capsfilter changes. Add a FIXME about setting those caps on the pads. * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up): Before adding a ghost pad to a parent bin, check that there isn't already one for the element on the bin. Prevents infinite recursion when using decodebin in parse pipelines. Andy says he'll rewrite the way this works anyway, so ignore the hack. 2005-06-02 11:12:34 +0000 Andy Wingo gst/elements/gsttypefindelement.c (do_pull_typefind): Query the file size, pass it on to the type find helper. Original commit message from CVS: 2005-06-02 Andy Wingo * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the file size, pass it on to the type find helper. * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the segment_start and segment_end properly according to the seek method. Segment_end is still a bit flaky because offset can be negative for CUR and END cases, but it takes -1 as an "unset" value. 2005-06-02 09:42:02 +0000 Wim Taymans gst/: Bufferalloc: return GstFlowReturn to more accuratly report why allocation failed. Original commit message from CVS: * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc), (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push), (gst_basesink_activate): * gst/base/gstbasesink.h: * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_start_task): * gst/gstpad.h: * gst/gstqueue.c: (gst_queue_bufferalloc), (gst_queue_handle_sink_event), (gst_queue_chain): Bufferalloc: return GstFlowReturn to more accuratly report why allocation failed. 2005-06-02 09:39:21 +0000 Wim Taymans gst/gstpipeline.c: Take snapshot of state without blocking. Original commit message from CVS: * gst/gstpipeline.c: (gst_pipeline_send_event): Take snapshot of state without blocking. 2005-06-02 08:26:58 +0000 Wim Taymans docs/design/: Small doc updates Original commit message from CVS: * docs/design/part-TODO.txt: * docs/design/part-caps.txt: * docs/design/part-clocks.txt: * docs/design/part-negotiation.txt: * docs/design/part-preroll.txt: Small doc updates 2005-05-30 16:28:41 +0000 Wim Taymans gst/elements/gstidentity.c: Protect last_message property as it is accessed from multiple threads. Original commit message from CVS: * gst/elements/gstidentity.c: (gst_identity_event), (gst_identity_transform), (gst_identity_get_property): Protect last_message property as it is accessed from multiple threads. 2005-05-30 15:53:04 +0000 Wim Taymans gst/gstelement.c: Slicker pad activation code. Original commit message from CVS: * gst/gstelement.c: (gst_element_init), (gst_element_pads_activate), (gst_element_change_state): Slicker pad activation code. 2005-05-30 15:51:40 +0000 Wim Taymans gst/: Move elementfactory methods to separate .h file. Original commit message from CVS: * gst/Makefile.am: * gst/gstelement.h: * gst/gstelementfactory.h: * gst/gsttypes.h: Move elementfactory methods to separate .h file. 2005-05-30 15:48:45 +0000 Wim Taymans Small typo fixes, doc updates. Original commit message from CVS: * docs/design/part-overview.txt: * gst/gstsystemclock.h: Small typo fixes, doc updates. 2005-05-30 15:46:15 +0000 Wim Taymans gst/gst.c: Remove cpu-opt flag. Original commit message from CVS: * gst/gst.c: (gst_init_get_popt_table), (init_post), (init_popt_callback): Remove cpu-opt flag. 2005-05-30 15:44:50 +0000 Wim Taymans gst/gstbuffer.*: Avoid typechecking in places where not needed. Original commit message from CVS: * gst/gstbuffer.c: (gst_subbuffer_finalize), (gst_buffer_create_sub), (gst_buffer_is_span_fast): * gst/gstbuffer.h: Avoid typechecking in places where not needed. Added accessor for malloc_data. 2005-05-30 15:41:54 +0000 Wim Taymans gst/gstpad.c: Propagate errors from _set_caps() in configure_src/sink functions instead of returning TRUE. Original commit message from CVS: * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active), (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps), (gst_pad_configure_sink), (gst_pad_configure_src), (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task): Propagate errors from _set_caps() in configure_src/sink functions instead of returning TRUE. FLUSH events can travel up and downstream 2005-05-30 15:36:09 +0000 Wim Taymans gst/base/gstbasesink.c: Handle EOS in preroll. Original commit message from CVS: * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push), (gst_basesink_activate): Handle EOS in preroll. 2005-05-30 15:34:13 +0000 Wim Taymans gst/gstqueue.c: Remove old pieces of code Original commit message from CVS: * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event): Remove old pieces of code Flushing the queue in an upstream event is a very bad idea. 2005-05-29 13:56:55 +0000 Benjamin Otte file gstsimplescheduler.c was initially added on branch BRANCH-COMPANY. Original commit message from CVS: file gstsimplescheduler.c was initially added on branch BRANCH-COMPANY. 2005-05-27 09:28:05 +0000 Andy Wingo * ChangeLog: remove conflict doobers Original commit message from CVS: remove conflict doobers 2005-05-27 09:27:35 +0000 Andy Wingo gst/gstminiobject.c (gst_value_mini_object_collect): Use gst_value_set_mini_object so as to add a ref on the object (... Original commit message from CVS: 2005-05-26 Andy Wingo * gst/gstminiobject.c (gst_value_mini_object_collect): Use gst_value_set_mini_object so as to add a ref on the object (which will be removed when the value is unset). * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal arg type in ::handoff. * gst/gstelement.c (gst_element_change_state): Also deactivate pads in READY->NULL, just in case the element didn't make it to PAUSED. Wingo tested, Wim approved. 2005-05-26 10:50:12 +0000 Wim Taymans gst/gstpad.c: A flushing pad cannot be used to alloc_buffer from. Original commit message from CVS: * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task): A flushing pad cannot be used to alloc_buffer from. 2005-05-26 10:48:53 +0000 Wim Taymans gst/gstbus.*: Implement a real GSource and use g_main_context_wakeup() to signal new messages instead of the socketpair. Original commit message from CVS: * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post), (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check), (gst_bus_source_dispatch), (gst_bus_source_finalize), (gst_bus_create_watch), (gst_bus_add_watch_full): * gst/gstbus.h: Implement a real GSource and use g_main_context_wakeup() to signal new messages instead of the socketpair. 2005-05-25 19:33:39 +0000 Wim Taymans gst/: Fix state changes for non sinks. We now change sinks, then elements with unconnected srcpads, then the rest. Original commit message from CVS: * gst/gstbin.c: (bin_element_is_sink), (has_ancestor), (bin_element_is_semi_sink), (append_child), (gst_bin_change_state): * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task): * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush), (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop), (gst_queue_sink_activate), (gst_queue_src_activate), (gst_queue_change_state): * gst/gstqueue.h: Fix state changes for non sinks. We now change sinks, then elements with unconnected srcpads, then the rest. More efficient queue unlocking in flush and state changes. Set the pad activate mode even if it does not have an activate function. 2005-05-25 16:09:34 +0000 Ronald S. Bultje * ChangeLog: * gst/elements/gsttypefindelement.h: * plugins/elements/gsttypefindelement.h: happify buildbot Original commit message from CVS: happify buildbot 2005-05-25 15:57:57 +0000 Ronald S. Bultje gst/base/gstbasesrc.c: Don't go in pull mode for non-seekable sources. Original commit message from CVS: * gst/base/gstbasesrc.c: (gst_basesrc_activate): Don't go in pull mode for non-seekable sources. * gst/elements/gsttypefindelement.c: (gst_type_find_element_init), (gst_type_find_element_dispose), (gst_type_find_handle_src_query), (free_entry), (stop_typefinding), (gst_type_find_element_handle_event), (find_peek), (gst_type_find_element_chain), (do_pull_typefind), (gst_type_find_element_change_state): Allow typefinding (w/o seeking) in push-mode, simplified version of what was in 0.8. * gst/gstutils.c: (gst_buffer_join): * gst/gstutils.h: gst_buffer_join() from 0.8. 2005-05-25 13:59:18 +0000 Wim Taymans gst/gstpad.c: Disable attempt at mode switching until it is figured out. Original commit message from CVS: * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task): Disable attempt at mode switching until it is figured out. 2005-05-25 11:50:11 +0000 Wim Taymans gst/: Implement gst_pad_pause/start/stop_task(), take STREAM lock in task function. Original commit message from CVS: * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush): * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push), (gst_basesink_finish_preroll), (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate), (gst_basesink_change_state): * gst/base/gstbasesrc.c: (gst_basesrc_do_seek), (gst_basesrc_get_range), (gst_basesrc_loop), (gst_basesrc_activate): * gst/elements/gsttee.c: (gst_tee_sink_activate): * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init), (gst_real_pad_init), (gst_real_pad_set_property), (gst_real_pad_get_property), (gst_pad_set_active), (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink), (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent), (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps), (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize), (gst_pad_event_default_dispatch), (gst_pad_event_default), (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose), (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain), (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task): * gst/gstpad.h: * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate): * gst/gsttask.c: (gst_task_init), (gst_task_set_lock), (gst_task_get_state): * gst/gsttask.h: * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_task_start), (gst_thread_scheduler_func): Implement gst_pad_pause/start/stop_task(), take STREAM lock in task function. Remove ACTIVE pad flag, use FLUSHING everywhere Added _pad_chain(), _pad_get_range() to call chain/getrange functions. Add locks around IS_FLUSHING when reading. Take STREAM lock in chain(), get_range() functions so plugins don't need to take it anymore. 2005-05-25 11:26:14 +0000 Wim Taymans tools/gst-launch.c: Unref message after using its contents instead of before. Original commit message from CVS: * tools/gst-launch.c: (event_loop): Unref message after using its contents instead of before. 2005-05-24 16:47:06 +0000 Wim Taymans docs/design/: Docs updates. Original commit message from CVS: * docs/design/draft-ghostpads.txt: * docs/design/draft-push-pull.txt: * docs/design/draft-query.txt: * docs/design/part-overview.txt: Docs updates. Added general overview doc. Added draft ghostpad replacement idea. 2005-05-22 04:26:41 +0000 David Schleef docs/gst/tmpl/old/: I didn't intend to add these or check them in. Original commit message from CVS: * docs/gst/tmpl/old/GstBin.sgml: * docs/gst/tmpl/old/GstBuffer.sgml: * docs/gst/tmpl/old/GstCaps.sgml: * docs/gst/tmpl/old/GstClock.sgml: * docs/gst/tmpl/old/GstCompat.sgml: * docs/gst/tmpl/old/GstData.sgml: * docs/gst/tmpl/old/GstElement.sgml: * docs/gst/tmpl/old/GstEvent.sgml: * docs/gst/tmpl/old/GstIndex.sgml: * docs/gst/tmpl/old/GstStructure.sgml: * docs/gst/tmpl/old/GstTag.sgml: * docs/gst/tmpl/old/cothreads.sgml: * docs/gst/tmpl/old/cothreads_compat.sgml: * docs/gst/tmpl/old/gettext.sgml: * docs/gst/tmpl/old/gobject2gtk.sgml: * docs/gst/tmpl/old/grammar.tab.sgml: * docs/gst/tmpl/old/gst-i18n-app.sgml: * docs/gst/tmpl/old/gst-i18n-lib.sgml: * docs/gst/tmpl/old/gst_private.sgml: * docs/gst/tmpl/old/gstaggregator.sgml: * docs/gst/tmpl/old/gstarch.sgml: * docs/gst/tmpl/old/gstatomic_impl.sgml: * docs/gst/tmpl/old/gstbufferstore.sgml: * docs/gst/tmpl/old/gstdata_private.sgml: * docs/gst/tmpl/old/gstdisksink.sgml: * docs/gst/tmpl/old/gstdisksrc.sgml: * docs/gst/tmpl/old/gstelementfactory.sgml: * docs/gst/tmpl/old/gstextratypes.sgml: * docs/gst/tmpl/old/gstfakesink.sgml: * docs/gst/tmpl/old/gstfakesrc.sgml: * docs/gst/tmpl/old/gstfdsink.sgml: * docs/gst/tmpl/old/gstfdsrc.sgml: * docs/gst/tmpl/old/gstfilesink.sgml: * docs/gst/tmpl/old/gstfilesrc.sgml: * docs/gst/tmpl/old/gsthttpsrc.sgml: * docs/gst/tmpl/old/gstidentity.sgml: * docs/gst/tmpl/old/gstindexfactory.sgml: * docs/gst/tmpl/old/gstmarshal.sgml: * docs/gst/tmpl/old/gstmd5sink.sgml: * docs/gst/tmpl/old/gstmultidisksrc.sgml: * docs/gst/tmpl/old/gstmultifilesrc.sgml: * docs/gst/tmpl/old/gstpadtemplate.sgml: * docs/gst/tmpl/old/gstpipefilter.sgml: * docs/gst/tmpl/old/gstschedulerfactory.sgml: * docs/gst/tmpl/old/gstsearchfuncs.sgml: * docs/gst/tmpl/old/gstshaper.sgml: * docs/gst/tmpl/old/gstspider.sgml: * docs/gst/tmpl/old/gstspideridentity.sgml: * docs/gst/tmpl/old/gststatistics.sgml: * docs/gst/tmpl/old/gsttee.sgml: * docs/gst/tmpl/old/gsttimecache.sgml: * docs/gst/tmpl/old/gsttypefindfactory.sgml: * docs/gst/tmpl/old/gstxmlregistry.sgml: * docs/gst/tmpl/old/gthread-cothreads.sgml: * docs/gst/tmpl/old/types.sgml: I didn't intend to add these or check them in. 2005-05-20 12:47:05 +0000 Christian Schaller * gstreamer.spec.in: update spec file Original commit message from CVS: update spec file 2005-05-19 19:54:01 +0000 David Schleef configure.ac: Use -no-common everywhere. In a sane world, it would be the default in libtool, because without it, yo... Original commit message from CVS: * configure.ac: Use -no-common everywhere. In a sane world, it would be the default in libtool, because without it, you can't build DLLs on Windows. * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread * docs/gst/gstreamer-sections.txt: * docs/gst/tmpl/gstcpu.sgml: * docs/gst/tmpl/gstdata.sgml: * docs/gst/tmpl/gstthread.sgml: 2005-05-19 19:41:12 +0000 David Schleef gst/gstminiobject.*: Add GValue set/get functions. Original commit message from CVS: * gst/gstminiobject.c: (gst_value_set_mini_object), (gst_value_take_mini_object), (gst_value_get_mini_object): * gst/gstminiobject.h: Add GValue set/get functions. 2005-05-19 16:26:50 +0000 Wim Taymans gst/: Make subbufer unref the parent in finalize. some more debugging info. Original commit message from CVS: * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type), (gst_subbuffer_class_init), (gst_subbuffer_finalize), (gst_subbuffer_init), (gst_buffer_is_span_fast): * gst/gstbuffer.h: * gst/gstbus.c: (gst_bus_post): * gst/gstelement.c: (gst_element_get_random_pad): * gst/gstmessage.c: (gst_message_init), (gst_message_finalize): Make subbufer unref the parent in finalize. some more debugging info. 2005-05-19 16:23:04 +0000 Wim Taymans gst/base/gstbasesink.c: Don't free preroll queue too early. Original commit message from CVS: * gst/base/gstbasesink.c: (gst_basesink_class_init), (gst_basesink_init), (gst_basesink_finalize), (gst_basesink_activate), (gst_basesink_change_state): Don't free preroll queue too early. 2005-05-19 14:52:16 +0000 Ronald S. Bultje gst/: Hi, I'm outdated. Please shoot me. Original commit message from CVS: * gst/Makefile.am: * gst/ROADMAP: Hi, I'm outdated. Please shoot me. 2005-05-19 12:07:35 +0000 Ronald S. Bultje gst/gstpipeline.c: Do not access variables after they have been deleted. Original commit message from CVS: * gst/gstpipeline.c: (gst_pipeline_send_event): Do not access variables after they have been deleted. 2005-05-19 08:41:42 +0000 Wim Taymans tools/gst-inspect.c: A plugin feature does unfortunatly not use the object name yet... Original commit message from CVS: * tools/gst-inspect.c: (print_plugin_features): A plugin feature does unfortunatly not use the object name yet... 2005-05-18 17:35:23 +0000 Wim Taymans gst/gstbuffer.c: Port _span() functions to new subbuffers. Original commit message from CVS: * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span): Port _span() functions to new subbuffers. 2005-05-18 13:49:08 +0000 Ronald S. Bultje gst/gstbin.c: Fix clock settery in bins when adding kids after the clock has been selected. Original commit message from CVS: * gst/gstbin.c: (gst_bin_add_func): Fix clock settery in bins when adding kids after the clock has been selected. 2005-05-18 13:23:24 +0000 Ronald S. Bultje gst/elements/gstidentity.c: Workaround until signals support GstMiniObject. Original commit message from CVS: * gst/elements/gstidentity.c: (gst_identity_class_init): Workaround until signals support GstMiniObject. 2005-05-18 11:34:45 +0000 Jan Schmidt gst/gstbuffer.c: Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER. Original commit message from CVS: * gst/gstbuffer.c: Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER. 2005-05-18 09:55:43 +0000 Wim Taymans gst/base/: Ported and added adapter to the base classes. Original commit message from CVS: * gst/base/Makefile.am: * gst/base/gstadapter.c: (gst_adapter_base_init), (gst_adapter_class_init), (gst_adapter_init), (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new), (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek), (gst_adapter_flush), (gst_adapter_available), (gst_adapter_available_fast): * gst/base/gstadapter.h: Ported and added adapter to the base classes. 2005-05-17 17:50:41 +0000 Thomas Vander Stichele gst/: Make sure the class is reffed/unreffed once before threads can be used. Fixes #304551. Original commit message from CVS: * gst/gst.c: * gst/gstmessage.c: Make sure the class is reffed/unreffed once before threads can be used. Fixes #304551. 2005-05-17 17:37:43 +0000 Wim Taymans gst/: Don't queue buffers in basesink when we are flushing. Original commit message from CVS: * gst/base/gstbasesink.c: (gst_basesink_finish_preroll), (gst_basesink_chain_unlocked), (gst_basesink_activate): * gst/gstminiobject.c: (gst_mini_object_get_type), (gst_mini_object_free): * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query), (gst_pad_push), (gst_pad_push_event): * gst/gstqueue.c: (gst_queue_change_state): Don't queue buffers in basesink when we are flushing. Unref buffer when flushing in basesink. Flush queue when going to READY Unref buffer when _push() returns an error. Don't free MiniObject instance when refcount is incremented in _finalize() so that we can recover objects. 2005-05-17 17:22:31 +0000 Thomas Vander Stichele * ChangeLog: * common: * docs/manual/advanced-schedulers.xml: * docs/manual/appendix-checklist.xml: * docs/pwg/advanced-clock.xml: * docs/pwg/advanced-interfaces.xml: * docs/pwg/advanced-request.xml: * docs/pwg/advanced-types.xml: * docs/pwg/intro-preface.xml: * examples/plugins/example.c: * examples/plugins/example.h: * tests/old/examples/plugins/example.c: * tests/old/examples/plugins/example.h: small doc fixes Original commit message from CVS: small doc fixes 2005-05-17 14:11:32 +0000 Wim Taymans gst/: Clear queue when going to READY. Original commit message from CVS: * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push): * gst/gstqueue.c: (gst_queue_change_state): Clear queue when going to READY. Remove IN_SETCAPS flag too. 2005-05-17 14:01:51 +0000 Tim-Philipp Müller gst/base/gstbasesrc.c: Remove implicit cast from gboolean to GstElementStateReturn; make sure we still return failure... Original commit message from CVS: * gst/base/gstbasesrc.c: (gst_basesrc_change_state): Remove implicit cast from gboolean to GstElementStateReturn; make sure we still return failure in paused => ready case if the parent class fails to change state and our own stop vfunc succeeds. 2005-05-17 10:41:51 +0000 Wim Taymans tools/gst-launch.c: Message was unreffed too soon. Original commit message from CVS: * tools/gst-launch.c: (event_loop): Message was unreffed too soon. 2005-05-16 21:17:14 +0000 Andy Wingo gst/gstbin.c (sink_iterator_filter): Err... um... Original commit message from CVS: 2005-05-16 Andy Wingo * gst/gstbin.c (sink_iterator_filter): Err... um... * check/gst/gstbin.c (test_ghost_pads): New test for the ghosting-if-elements-not-in-same-bin behavior. 2005-05-16 21:05:21 +0000 David Schleef gst/gstminiobject.c: Use g_atomic_int_get() instead of accessing refcount directly. Original commit message from CVS: * gst/gstminiobject.c: Use g_atomic_int_get() instead of accessing refcount directly. 2005-05-16 20:21:55 +0000 David Schleef check/Makefile.am: remove GstData checks Original commit message from CVS: * check/Makefile.am: remove GstData checks * check/gst-libs/gdp.c: (START_TEST): fix for API changes * gst/Makefile.am: add miniobject, remove data * gst/gst.h: add miniobject, remove data * gst/gstdata.c: remove * gst/gstdata.h: remove * gst/gstdata_private.h: remove * gst/gsttypes.h: remove GstEvent and GstMessage * gst/gstelement.c: (gst_element_post_message): fix for API changes * gst/gstmarshal.list: change BOXED -> OBJECT Implement GstMiniObject. * gst/gstminiobject.c: * gst/gstminiobject.h: Modify to be subclasses of GstMiniObject. * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type), (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy), (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc), (gst_subbuffer_get_type), (gst_subbuffer_init), (gst_buffer_create_sub), (gst_buffer_is_span_fast), (gst_buffer_span): * gst/gstbuffer.h: * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type), (gst_event_class_init), (gst_event_init), (gst_event_finalize), (_gst_event_copy), (gst_event_new): * gst/gstevent.h: * gst/gstmessage.c: (_gst_message_initialize), (gst_message_get_type), (gst_message_class_init), (gst_message_init), (gst_message_finalize), (_gst_message_copy), (gst_message_new), (gst_message_new_error), (gst_message_new_warning), (gst_message_new_tag), (gst_message_new_state_changed), (gst_message_new_application): * gst/gstmessage.h: * gst/gstprobe.c: (gst_probe_perform), (gst_probe_dispatcher_dispatch): * gst/gstprobe.h: * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type), (gst_query_class_init), (gst_query_finalize), (gst_query_init), (_gst_query_copy), (gst_query_new): Update elements for GstData -> GstMiniObject changes * gst/gstquery.h: * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush), (gst_queue_chain), (gst_queue_loop): * gst/elements/gstbufferstore.c: (gst_buffer_store_add_buffer_func), (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer): * gst/elements/gstfakesink.c: (gst_fakesink_class_init), (gst_fakesink_render): * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type), (gst_mmap_buffer_class_init), (gst_mmap_buffer_init), (gst_mmap_buffer_finalize), (gst_filesrc_map_region), (gst_filesrc_create_read): * gst/elements/gstidentity.c: (gst_identity_class_init): * gst/elements/gsttypefindelement.c: (gst_type_find_element_src_event), (free_entry_buffers), (gst_type_find_element_handle_event): * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_header_from_buffer): * libs/gst/dataprotocol/dataprotocol.h: * libs/gst/dataprotocol/dp-private.h: 2005-05-15 23:18:40 +0000 David Schleef gst/elements/gstelements.c: Don't include headers that were just removed. Original commit message from CVS: * gst/elements/gstelements.c: Don't include headers that were just removed. 2005-05-15 23:16:29 +0000 David Schleef gst/elements/Makefile.am: Remove some elements that don't need to be in the core (or even exist at all). Original commit message from CVS: * gst/elements/Makefile.am: Remove some elements that don't need to be in the core (or even exist at all). * gst/elements/gstaggregator.c: * gst/elements/gstaggregator.h: * gst/elements/gstmd5sink.c: * gst/elements/gstmd5sink.h: * gst/elements/gstmultifilesrc.c: * gst/elements/gstmultifilesrc.h: * gst/elements/gstpipefilter.c: * gst/elements/gstpipefilter.h: * gst/elements/gstshaper.c: * gst/elements/gstshaper.h: * gst/elements/gststatistics.c: * gst/elements/gststatistics.h: * po/POTFILES.in: Remove above files. 2005-05-14 18:01:12 +0000 Andy Wingo gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter so as to get the refs right. Original commit message from CVS: 2005-05-14 Andy Wingo * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter so as to get the refs right. (sink_iterator_filter): New function, wraps bin_element_is_sink, unreffing objects that don't pass the filter. 2005-05-14 17:12:11 +0000 Andy Wingo gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after gst_element_set_bus. Original commit message from CVS: 2005-05-14 Andy Wingo * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after gst_element_set_bus. (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In normal cases, this will destroy the bus. * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root object. 2005-05-14 15:54:49 +0000 Andy Wingo gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin has no sinks. Original commit message from CVS: 2005-05-14 Andy Wingo * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin has no sinks. 2005-05-14 15:32:36 +0000 Andy Wingo gst/gstutils.c (gst_element_link_pads): Instead of calling gst_pad_link, call pad_link_maybe_ghosting, Original commit message from CVS: 2005-05-13 Andy Wingo * gst/gstutils.c (gst_element_link_pads): Instead of calling gst_pad_link, call pad_link_maybe_ghosting, (pad_link_maybe_ghosting): Links pads, making sure that the elements being linked are in the same bin. (find_common_root, object_has_ancestor, ghost_up, remove_pad): Helpers for pad_link_maybe_ghosting. 2005-05-13 12:53:47 +0000 Tim-Philipp Müller * ChangeLog: * configure.ac: Require GLib >= 2.4.0 (for the g_atomic_* funcs) Original commit message from CVS: Require GLib >= 2.4.0 (for the g_atomic_* funcs) 2005-05-13 10:18:41 +0000 Christian Schaller * gstreamer.spec.in: add missing .h file to spec file Original commit message from CVS: add missing .h file to spec file 2005-05-13 09:27:24 +0000 Tim-Philipp Müller * ChangeLog: * docs/design/part-element-source.txt: Mention GstPushSrc Original commit message from CVS: Mention GstPushSrc 2005-05-12 19:45:44 +0000 Wim Taymans gst/: Identify sinks by their flag to avoid overly complicated checks (fow now). Original commit message from CVS: * gst/base/gstbasesink.c: (gst_basesink_init), (gst_basesink_activate): * gst/base/gstbasesrc.c: (gst_basesrc_unlock), (gst_basesrc_is_seekable): * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func), (bin_element_is_sink), (gst_bin_change_state): * gst/gstelement.c: (gst_element_add_pad), (gst_element_query): * gst/gstelement.h: Identify sinks by their flag to avoid overly complicated checks (fow now). Do state changes even for elements not reachable from the sinks. BaseSink is a sink now :) Some more debugging info in the basesrc. 2005-05-12 15:09:17 +0000 Ronald S. Bultje gst/gstbin.c: Implement _query on a bin, similar to _send_event. Original commit message from CVS: * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query): Implement _query on a bin, similar to _send_event. 2005-05-12 13:59:58 +0000 Tim-Philipp Müller gst/base/gstbasesrc.c: Discont event offset format should be GST_FORMAT_BYTES, not GST_FORMAT_TIME. Original commit message from CVS: * gst/base/gstbasesrc.c: (gst_basesrc_do_seek): Discont event offset format should be GST_FORMAT_BYTES, not GST_FORMAT_TIME. 2005-05-12 13:18:14 +0000 Wim Taymans gst/gstbin.c: Same fix as Ronald's but without the signal. Original commit message from CVS: * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state): Same fix as Ronald's but without the signal. 2005-05-12 12:27:07 +0000 Ronald S. Bultje gst/gstutils.c: No, an element is not a pad. Original commit message from CVS: * gst/gstutils.c: (gst_element_query_position): No, an element is not a pad. 2005-05-12 12:17:23 +0000 Ronald S. Bultje gst/gstbin.c: If a child is removed from a bin while we remove the child from the bin and while we're retrieving its ... Original commit message from CVS: * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset), (gst_bin_get_state): If a child is removed from a bin while we remove the child from the bin and while we're retrieving its state, signal this to the get_state function so we abort the wait (instead of waiting for a timeout) and can immediately re-iterate over all other elements. 2005-05-12 10:43:14 +0000 Wim Taymans gst/base/: Added is_seekable to BaseSrc Original commit message from CVS: * gst/base/Makefile.am: * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable), (gst_basesrc_start): * gst/base/gstbasesrc.h: * gst/base/gstpushsrc.c: (gst_pushsrc_get_type), (gst_pushsrc_base_init), (gst_pushsrc_class_init), (gst_pushsrc_init), (gst_pushsrc_create): * gst/base/gstpushsrc.h: Added is_seekable to BaseSrc Added simple PushSrc. 2005-05-11 09:21:24 +0000 Wim Taymans gst/: Fix refcounting in utils function. Original commit message from CVS: * gst/gstelement.c: (gst_element_add_pad), (gst_element_query): * gst/gstutils.c: (gst_element_get_compatible_pad_template), (gst_element_link_pads), (gst_element_query_position), (gst_element_query_convert), (intersect_caps_func), (gst_pad_query_position), (gst_pad_query_convert): Fix refcounting in utils function. No point in trying to activate a pad when it's added, it could be added from the state change function and then we deadlock, the element has to decide what to do. 2005-05-11 03:37:10 +0000 Andy Wingo gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with Original commit message from CVS: 2005-05-10 Andy Wingo * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with *all* the arguments. * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the stream lock if it's a FLUSH_DONE; normal flushes don't get the lock (according to the docs -- if this is wrong change the docs). * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to flush messages in the NULL state. * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the message immediately and return. (gst_bus_set_flushing): New function. If a bus is flushing, it flushes out any queued messages and immediately unrefs new messages. This is so when an element goes to NULL, all of the unhandled messages coming from it can be freed, and their references to the element dropped. In other words: message source ref considered harmful :P * gst/gstbin.c (gst_bin_change_state): Unref peer element when we're finished with it. * gst/gstmessage.c (gst_message_new_state_changed): 2005-05-10 14:51:49 +0000 Wim Taymans * gst/gstvalue.c: remove stupid printf Original commit message from CVS: remove stupid printf 2005-05-10 14:50:55 +0000 Wim Taymans gst/gstvalue.c: Added flags serialize/deserialize/compare code. Original commit message from CVS: * gst/gstvalue.c: (gst_value_compare_flags), (gst_value_serialize_flags), (gst_value_deserialize_flags), (_gst_value_initialize): Added flags serialize/deserialize/compare code. 2005-05-09 21:37:54 +0000 Andy Wingo gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps): Intersect the peer's caps with our caps. Original commit message from CVS: 2005-05-09 Andy Wingo * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps): Intersect the peer's caps with our caps. 2005-05-09 15:54:26 +0000 Ronald S. Bultje gst/: Handle negative offsets better. Fixes decodebin. Original commit message from CVS: * gst/base/gsttypefindhelper.c: (helper_find_peek): * gst/elements/gsttypefindelement.c: (find_peek): Handle negative offsets better. Fixes decodebin. 2005-05-09 14:47:15 +0000 Wim Taymans gst/: Implement accept_caps. Original commit message from CVS: * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps), (gst_base_transform_event): * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query): Implement accept_caps. Fix silly lock/unlock mismatch in base class. 2005-05-09 10:53:13 +0000 Wim Taymans * ChangeLog: * docs/design/draft-push-pull.txt: * gst/base/gstbasesrc.c: * gst/elements/gstfilesink.c: * gst/elements/gsttypefindelement.c: * gst/gstelement.c: * gst/gstelement.h: * gst/gstmessage.c: * gst/gstmessage.h: * gst/gstpad.c: * gst/gstpad.h: * gst/gstquery.c: * gst/gstquery.h: * gst/gstqueryutils.c: * gst/gstqueryutils.h: * gst/gstqueue.c: * gst/gstutils.c: * gst/gstutils.h: * libs/gst/base/gstbasesrc.c: * plugins/elements/gstfilesink.c: * plugins/elements/gstqueue.c: * plugins/elements/gsttypefindelement.c: * tools/gst-inspect.c: * tools/gst-xmlinspect.c: Remove old query functions. Ported old code. Original commit message from CVS: Remove old query functions. Ported old code. Added position/convert helper functions to gstutils. Reordered gstpad.c code, grouping relevant things. Remove gst_message_new(), always need to speficy a specific message. 2005-05-09 06:21:10 +0000 Andy Wingo gst/gstiterator.h: Add some includes. Original commit message from CVS: 2005-05-09 Andy Wingo * gst/gstiterator.h: Add some includes. * gst/gstqueryutils.h: Include more headers. * gst/gstpad.h: * gst/gstpad.c (gst_pad_query_position): New routine, replaces some uses of gst_pad_query. * gst/gstqueryutils.c: Build fixes. Make parse functions ignore NULL out parameters. (gst_query_new_position): New proc, allocates a new position query. * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add gstqueryutils.c to the build. * gst/gststructure.c (gst_structure_set_valist): Implement with the generic G_VALUE_COLLECT. 2005-05-08 17:07:05 +0000 Edward Hervey gst/Makefile.am: Added gstqueryutils.h to the list of headers to install, that was a 'nachty' move wingo :) Original commit message from CVS: * gst/Makefile.am: (gst_headers): Added gstqueryutils.h to the list of headers to install, that was a 'nachty' move wingo :) 2005-05-06 21:41:22 +0000 Andy Wingo gst/gstquery.h Original commit message from CVS: 2005-05-06 Andy Wingo * gst/gstquery.h * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from GstData, init a memchunk. (standard_definitions): Add a few query types, deprecate a few. (gst_query_get_type): New proc. (_gst_query_copy, _gst_query_free, gst_query_new): GstData implementation. (gst_query_new_application, gst_query_get_structure): New public procs. * docs/design/draft-query.txt: Removed LINKS from the query types, because all the rest can be dispatched to other pads -- seemed ugly to have a query that couldn't be dispatched. internal_links is fine as a pad method. * gst/gstpad.h: Add query2 as a pad method, add the new functions in gstpad.c, but maintain binary compatibility for the moment. Will fix before 0.9 is out. * gst/gstqueryutils.c: * gst/gstqueryutils.h: New files, implement 3 methods for each query type: parse_query, parse_response, and set. Probably need an allocator as well. * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list. * gst/elements/gstfilesink.c (gst_filesink_query2): * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query, query_types, and formats methods. * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default) (gst_pad_set_query2_function): New functions. (gst_real_pad_init): Set query2_default as the default query2 function. Basically just dispatches to internally linked pads. Needs review! * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1 without using the atomic operations. Only one thread can possibly be accessing the data at this point. Changed so as to avoid gst_atomic operations. 2005-05-06 19:50:23 +0000 Wim Taymans gst/gstpad.c: Also set caps if we use the fallback buffer alloc. Original commit message from CVS: * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push): Also set caps if we use the fallback buffer alloc. 2005-05-06 17:33:55 +0000 Tim-Philipp Müller Purge GstAtomic stuff from docs and win32 makefiles as well Original commit message from CVS: * docs/gst/Makefile.am: * docs/gst/gstreamer-docs.sgml: * docs/gst/gstreamer-sections.txt: * docs/gst/tmpl/gstatomic.sgml: * docs/gst/tmpl/gstmemchunk.sgml: * testsuite/elements/struct_i386.h: * win32/GStreamer.vcproj: * win32/Makefile: Purge GstAtomic stuff from docs and win32 makefiles as well 2005-05-06 17:10:49 +0000 Wim Taymans gst/: Fix gst_pad_peer_get_caps(), make it return NULL if no peer. Original commit message from CVS: * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps): * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps): * gst/gstpad.c: (gst_pad_peer_get_caps): * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps), (gst_queue_bufferalloc), (gst_queue_handle_sink_event), (gst_queue_src_activate), (gst_queue_change_state): * gst/gstqueue.h: * gst/gstutils.c: (gst_element_get_compatible_pad_template), (intersect_caps_func): Fix gst_pad_peer_get_caps(), make it return NULL if no peer. Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock. Some fixes for the peer_get_caps() change. 2005-05-06 16:19:59 +0000 Wim Taymans gst/base/gstbasesink.c: Actually do something with error codes returned from the push functions. Original commit message from CVS: * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty), (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked), (gst_basesink_activate): Actually do something with error codes returned from the push functions. 2005-05-06 08:25:19 +0000 Wim Taymans Some more documentation. Original commit message from CVS: * docs/design/part-element-sink.txt: * docs/design/part-element-source.txt: * gst/base/gstbasesink.c: (gst_basesink_class_init), (gst_basesink_event), (gst_basesink_activate): * gst/base/gstbasesink.h: * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock), (gst_basesrc_activate): * gst/base/gstbasesrc.h: * gst/gstelement.c: (gst_element_pads_activate): Some more documentation. Fixed scheduling decision in _pads_activate(). 2005-05-05 21:59:53 +0000 Andy Wingo * gst/gstelement.c: * gst/gstpad.c: final cruft fixage Original commit message from CVS: final cruft fixage 2005-05-05 21:45:54 +0000 Andy Wingo * gst/elements/gsttee.c: * gst/elements/gsttypefindelement.c: * plugins/elements/gsttee.c: * plugins/elements/gsttypefindelement.c: cruft removal Original commit message from CVS: cruft removal 2005-05-05 21:42:24 +0000 Andy Wingo * gst/base/gstbasesink.c: * gst/base/gstbasesrc.c: * gst/base/gstbasesrc.h: * gst/base/gstbasetransform.c: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasesrc.h: * libs/gst/base/gstbasetransform.c: revert cruft Original commit message from CVS: revert cruft 2005-05-05 21:37:34 +0000 Andy Wingo * gst/gstpad.c: * gst/gstpad.h: revert accidental commit of cruft -- doh Original commit message from CVS: revert accidental commit of cruft -- doh 2005-05-05 15:02:40 +0000 Andy Wingo check/pipelines/simple_launch_lines.c (test_2_elements): "Fix" the test suite. Original commit message from CVS: 2005-05-05 Andy Wingo * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix" the test suite. 2005-05-05 11:43:06 +0000 Christian Schaller * gstreamer.spec.in: fix broken spec file Original commit message from CVS: fix broken spec file 2005-05-05 09:31:59 +0000 Wim Taymans gst/: Added object to help in making collect pad based elements. Original commit message from CVS: * gst/base/Makefile.am: * gst/base/gstbasesink.h: * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query): * gst/base/gstcollectpads.c: (gst_collectpads_get_type), (gst_collectpads_class_init), (gst_collectpads_init), (gst_collectpads_finalize), (gst_collectpads_new), (gst_collectpads_set_function), (gst_collectpads_add_pad), (find_pad), (gst_collectpads_remove_pad), (gst_collectpads_is_active), (gst_collectpads_collect), (gst_collectpads_collect_range), (gst_collectpads_start), (gst_collectpads_stop), (gst_collectpads_peek), (gst_collectpads_pop), (gst_collectpads_available), (gst_collectpads_read), (gst_collectpads_flush), (gst_collectpads_chain): * gst/base/gstcollectpads.h: * gst/elements/Makefile.am: * gst/elements/gstelements.c: * gst/elements/gstfakesink.c: (gst_fakesink_class_init), (gst_fakesink_get_times), (gst_fakesink_event), (gst_fakesink_preroll), (gst_fakesink_render): * gst/elements/gstfilesink.c: (gst_filesink_class_init), (gst_filesink_init), (gst_filesink_set_location), (gst_filesink_open_file), (gst_filesink_close_file), (gst_filesink_pad_query), (gst_filesink_event), (gst_filesink_render), (gst_filesink_change_state): * gst/elements/gstfilesink.h: Added object to help in making collect pad based elements. Ported filesink. Make event function in sink baseclass return gboolean. 2005-05-05 09:28:01 +0000 Wim Taymans gst/: Fix name lookup in GstBin. Original commit message from CVS: * gst/gstbin.c: (gst_bin_send_event), (compare_name), (gst_bin_get_by_name): * gst/gstbuffer.h: * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init), (gst_clock_finalize): * gst/gstdata.c: (gst_data_replace): * gst/gstdata.h: * gst/gstelement.c: (gst_element_request_pad), (gst_element_pads_activate): * gst/gstobject.c: (gst_object_init), (gst_object_ref), (gst_object_unref): * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active), (gst_pad_set_checkgetrange_function), (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps), (gst_pad_check_pull_range), (gst_pad_pull_range), (gst_static_pad_template_get_caps), (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task): * gst/gstutils.c: (gst_element_get_compatible_pad_template), (gst_element_request_pad), (gst_pad_proxy_getcaps): Fix name lookup in GstBin. Added _data_replace() function and _buffer_replace() Use finalize method to clean up clock. Fix refcounting on request pads. Fix pad schedule mode error. Some more object refcounting debug info, 2005-05-04 21:29:44 +0000 Andy Wingo GCC 4 fixen. Original commit message from CVS: 2005-05-04 Andy Wingo * check/Makefile.am: * docs/gst/tmpl/gstatomic.sgml: * docs/gst/tmpl/gstplugin.sgml: * gst/base/gstbasesink.c: (gst_basesink_activate): * gst/base/gstbasesrc.c: (gst_basesrc_class_init), (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query), (gst_basesrc_set_property), (gst_basesrc_get_property), (gst_basesrc_check_get_range), (gst_basesrc_activate): * gst/base/gstbasesrc.h: * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate), (gst_base_transform_src_activate): * gst/elements/gstelements.c: * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init), (gst_fakesrc_set_property), (gst_fakesrc_get_property): * gst/elements/gsttee.c: (gst_tee_sink_activate): * gst/elements/gsttypefindelement.c: (find_element_get_length), (gst_type_find_element_checkgetrange), (gst_type_find_element_activate): * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself): * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself), (gst_caps_load_thyself): * gst/gstelement.c: (gst_element_pads_activate), (gst_element_save_thyself), (gst_element_restore_thyself): * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself), (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range): * gst/gstpad.h: * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc), (gst_xml_parse_file), (gst_xml_parse_memory), (gst_xml_get_element), (gst_xml_make_element): * gst/indexers/gstfileindex.c: (gst_file_index_load), (_file_index_id_save_xml), (gst_file_index_commit): * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint), (read_enum), (load_pad_template), (load_feature), (load_plugin), (load_paths): * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps), (gst_dp_packet_from_event), (gst_dp_caps_from_packet): * tools/gst-complete.c: (main): * tools/gst-compprep.c: (main): * tools/gst-inspect.c: (print_element_properties_info): * tools/gst-launch.c: (xmllaunch_parse_cmdline): * tools/gst-xmlinspect.c: (print_element_properties): GCC 4 fixen. 2005-05-04 19:41:05 +0000 Christian Schaller * gstreamer.spec.in: fix up spec file to work for 0.9 branch Original commit message from CVS: fix up spec file to work for 0.9 branch 2005-05-03 12:46:47 +0000 Thomas Vander Stichele gst/gstplugin.c: apply patch from #172526 to make register work on MacOSX Original commit message from CVS: * gst/gstplugin.c: (gst_plugin_check_module), (gst_plugin_check_file), (gst_plugin_load_file): apply patch from #172526 to make register work on MacOSX 2005-05-02 16:50:31 +0000 Thomas Vander Stichele file .cvsignore was initially added on branch BRANCH-GSTREAMER-0_8. Original commit message from CVS: file .cvsignore was initially added on branch BRANCH-GSTREAMER-0_8. 2005-05-02 15:31:36 +0000 Thomas Vander Stichele * ChangeLog: * tests/old/testsuite/indexers/cache1.c: * tests/old/testsuite/indexers/indexdump.c: * testsuite/indexers/cache1.c: * testsuite/indexers/indexdump.c: more print format fixes Original commit message from CVS: more print format fixes 2005-05-02 15:20:30 +0000 Thomas Vander Stichele * ChangeLog: * gst/gstconfig.h.in: * tests/old/testsuite/debug/printf_extension.c: * tests/old/testsuite/elements/property.h: * testsuite/debug/printf_extension.c: * testsuite/elements/property.h: merges from 0.8 for 64 bit issues Original commit message from CVS: merges from 0.8 for 64 bit issues 2005-05-02 13:55:21 +0000 Wim Taymans Added draft for new query API. Original commit message from CVS: * docs/design/draft-push-pull.txt: * docs/design/draft-query.txt: * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked), (gst_basesrc_start): Added draft for new query API. Added draft for better selecting scheduling methods. Make basesrc ignore length if the subclass does not support it. 2005-05-02 11:54:32 +0000 Thomas Vander Stichele * ChangeLog: * gst/Makefile.am: automake 1.5 fixes Original commit message from CVS: automake 1.5 fixes 2005-05-02 11:47:17 +0000 Thomas Vander Stichele * ChangeLog: * docs/faq/Makefile.am: * docs/manual/Makefile.am: * docs/manuals.mak: * docs/pwg/Makefile.am: * gst/Makefile.am: possible fixes for automake-1.5 Original commit message from CVS: possible fixes for automake-1.5 2005-04-28 16:28:28 +0000 Wim Taymans gst/: Better debugging of clocking info. Original commit message from CVS: * gst/base/gstbasesink.c: (gst_basesink_base_init), (gst_basesink_pad_getcaps), (gst_basesink_init), (gst_basesink_do_sync): * gst/gstclock.c: (gst_clock_entry_new): * gst/gstevent.c: (gst_event_discont_get_value): * gst/gstpipeline.c: (pipeline_bus_handler), (gst_pipeline_change_state): * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked): Better debugging of clocking info. Allow NULL values when getting discont values. 2005-04-27 14:19:46 +0000 Wim Taymans check/gst/: Increase timeout for checks. Original commit message from CVS: * check/gst/gstobject.c: (START_TEST), (gst_object_suite): * check/gst/gstpad.c: (gst_pad_suite): Increase timeout for checks. 2005-04-27 13:52:42 +0000 Thomas Vander Stichele check/Makefile.am: fix the broken rule for cleanup. Apparently this rule is only needed on FC2, so maybe this warran... Original commit message from CVS: * check/Makefile.am: fix the broken rule for cleanup. Apparently this rule is only needed on FC2, so maybe this warrants further autotool inspection. 2005-04-26 18:07:45 +0000 Wim Taymans gst/gsttrashstack.h: Ooohh. a nasty one! After having a failed pop() from the stack, it's possible that the stack is ... Original commit message from CVS: * gst/gsttrashstack.h: Ooohh. a nasty one! After having a failed pop() from the stack, it's possible that the stack is empty. In that case, don't follow the NULL pointer. 2005-04-25 13:00:47 +0000 Wim Taymans gst/: Remove gst_library_load as it does more harm than good with the new g_module flags. Original commit message from CVS: * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active), (gst_pad_set_checkgetrange_function), (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare), (gst_pad_check_pull_range), (gst_pad_pull_range), (gst_static_pad_template_get_caps), (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task): * gst/gstplugin.c: (gst_plugin_load): * gst/gstplugin.h: Remove gst_library_load as it does more harm than good with the new g_module flags. Revert bogus caps template check in pad linking, pad caps are important when linking not the template, which is more general than the current caps. 2005-04-25 11:51:09 +0000 Thomas Vander Stichele * tests/Makefile.am: there is no speed. really. Original commit message from CVS: there is no speed. really. 2005-04-25 09:51:06 +0000 Ronald S. Bultje gst/autoplug/: Die, spider, die. Original commit message from CVS: * gst/autoplug/.cvsignore: * gst/autoplug/Makefile.am: * gst/autoplug/gstsearchfuncs.c: * gst/autoplug/gstsearchfuncs.h: * gst/autoplug/gstspider.c: * gst/autoplug/gstspider.h: * gst/autoplug/gstspideridentity.c: * gst/autoplug/gstspideridentity.h: * gst/autoplug/spidertest.c: Die, spider, die. 2005-04-25 09:45:35 +0000 Wim Taymans gst/gstpad.*: Added stubs for unimplemented functions. Original commit message from CVS: * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active), (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range), (gst_pad_pull_range), (gst_static_pad_template_get_caps), (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task): * gst/gstpad.h: Added stubs for unimplemented functions. 2005-04-25 03:54:28 +0000 Jan Schmidt file python-elements.txt was initially added on branch BRANCH-GSTREAMER-0_8. Original commit message from CVS: file python-elements.txt was initially added on branch BRANCH-GSTREAMER-0_8. 2005-04-24 23:53:06 +0000 David Schleef gst/gstpad.h: Disable some unimplemented functions. Wim, please fix. Original commit message from CVS: * gst/gstpad.h: Disable some unimplemented functions. Wim, please fix. 2005-04-24 22:49:45 +0000 David Schleef Convert everything from GstAtomicInt to g_atomic_int_*, and remove gstatomic. Original commit message from CVS: Convert everything from GstAtomicInt to g_atomic_int_*, and remove gstatomic. * gst/Makefile.am: * gst/gstatomic.c: * gst/gstatomic.h: * gst/gstatomic_impl.h: * gst/gstbuffer.c: * gst/gstcaps.c: * gst/gstcaps.h: * gst/gstclock.c: * gst/gstclock.h: * gst/gstdata.c: * gst/gstdata.h: * gst/gstdata_private.h: * gst/gstevent.c: * gst/gstinfo.c: * gst/gstinfo.h: * gst/gstmessage.c: * gst/gstobject.c: * gst/gstobject.h: * gst/gststructure.c: * gst/gststructure.h: * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function. * gst/gstutils.h: 2005-04-24 22:44:13 +0000 David Schleef check/gst/gstpad.c: Oh yeah, it's always nice to make the regressions tests work. Remove some code that is no longer... Original commit message from CVS: * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to make the regressions tests work. Remove some code that is no longer true. * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked): Disable warning for pads without templates. 2005-04-24 21:16:45 +0000 David Schleef gst/gstpad.c: Remove handling of filtered caps. Fix/merge functions that handle filtered links. Original commit message from CVS: * gst/gstpad.c: Remove handling of filtered caps. Fix/merge functions that handle filtered links. * gst/gstpad.h: Remove 'appfilter' field and prototypes of removed functions. * gst/gstutils.c: Fix/remove utility functions that handle filtered caps. * gst/gstutils.h: * gst/gstvalue.c: Add serialization/deserialization of caps * gst/parse/grammar.y: Ignore filtered caps when linking. This requires fixing so that the filter caps notation creates a capsfilter element and sets the filter_caps property. I think everyone probably wants to keep the shorthand notation. * docs/gst/tmpl/gstelement.sgml: updates for API changes. * docs/gst/tmpl/gstpad.sgml: * gst/elements/gstelements.c: Register capsfilter element. * gst/Makefile.am: fix spacing * docs/random/ds/0.9-suggested-changes: random 2005-04-23 23:29:47 +0000 David Schleef gst/elements/: New element that acts like an identity, but filters caps. Will eventually replace filtered caps in pa... Original commit message from CVS: * gst/elements/Makefile.am: * gst/elements/gstcapsfilter.c: New element that acts like an identity, but filters caps. Will eventually replace filtered caps in pad linking. * gst/gstutils.c: (gst_element_create_all_pads): New function to create all the ALWAYS pads that are registered with an element class. This functionality should eventually be merged in with GstElement initialization. * gst/gstutils.h: * testsuite/trigger/README: part of trigger test code that should have been checked in a long time ago. 2005-04-23 23:25:08 +0000 David Schleef gst/Makefile.am: Remove as-libtool stuff. It's likely not and hard to carry around. Original commit message from CVS: * gst/Makefile.am: Remove as-libtool stuff. It's likely not needed with new versions of libtool (nobody will confirm this), and hard to carry around. * gst/autoplug/Makefile.am: * gst/base/Makefile.am: * gst/elements/Makefile.am: * gst/indexers/Makefile.am: * gst/schedulers/Makefile.am: * libs/gst/bytestream/Makefile.am: * libs/gst/control/Makefile.am: * libs/gst/dataprotocol/Makefile.am: * libs/gst/getbits/Makefile.am: 2005-04-21 17:10:09 +0000 Stefan Kost file Makefile.am was initially added on branch BRANCH-GSTREAMER-0_8. Original commit message from CVS: file Makefile.am was initially added on branch BRANCH-GSTREAMER-0_8. 2005-04-21 09:37:34 +0000 Wim Taymans docs/design/: Some more docs. Original commit message from CVS: * docs/design/draft-push-pull.txt: * docs/design/part-MT-refcounting.txt: * docs/design/part-TODO.txt: * docs/design/part-caps.txt: * docs/design/part-events.txt: * docs/design/part-gstbus.txt: * docs/design/part-gstpipeline.txt: * docs/design/part-messages.txt: * docs/design/part-push-pull.txt: * docs/design/part-query.txt: Some more docs. 2005-04-21 09:33:31 +0000 Wim Taymans gst/: Use parent refcount in GstMessage to ensure GstStructure consistency. Original commit message from CVS: * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free), (gst_message_new), (gst_message_new_error), (gst_message_new_warning), (gst_message_new_tag), (gst_message_new_state_changed), (gst_message_new_application), (gst_message_get_structure): * gst/gstmessage.h: * gst/gststructure.c: (gst_structure_set_parent_refcount), (gst_structure_copy_conditional): Use parent refcount in GstMessage to ensure GstStructure consistency. Cleaned up headers a bit. 2005-04-20 09:10:42 +0000 Wim Taymans gst/: Make gst_caps_replace() work like other _replace() functions. Original commit message from CVS: * gst/base/gstbasesink.c: (gst_basesink_base_init), (gst_basesink_pad_getcaps), (gst_basesink_init), (gst_basesink_chain_unlocked): * gst/base/gsttypefindhelper.c: (helper_find_suggest), (gst_type_find_helper): * gst/elements/gsttypefindelement.c: (gst_type_find_element_have_type), (gst_type_find_element_init), (stop_typefinding), (gst_type_find_element_handle_event), (find_suggest), (gst_type_find_element_chain), (gst_type_find_element_checkgetrange), (gst_type_find_element_getrange), (do_typefind), (gst_type_find_element_activate): * gst/gstbuffer.c: (_gst_buffer_sub_free), (gst_buffer_default_free), (gst_buffer_default_copy), (gst_buffer_set_caps): * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref), (gst_caps_replace): * gst/gstmessage.c: (gst_message_new), (gst_message_new_state_changed): * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active), (gst_pad_set_checkgetrange_function), (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered), (gst_pad_set_caps), (gst_pad_check_pull_range), (gst_pad_pull_range), (gst_static_pad_template_get_caps): * gst/gstpad.h: * gst/gsttypefind.c: (gst_type_find_register): Make gst_caps_replace() work like other _replace() functions. Use _caps_replace() where possible. Make sure _message_new() initialises its field. Add gst_static_pad_template_get_caps() 2005-04-18 08:53:02 +0000 Andy Wingo gst/elements/gstfakesrc.c: s/ARG_/PROP_/. Original commit message from CVS: 2005-04-18 Andy Wingo * gst/elements/gstfakesrc.c: s/ARG_/PROP_/. 2005-04-18 08:24:30 +0000 Andy Wingo * ChangeLog: * gst/base/gstbasesrc.c: * libs/gst/base/gstbasesrc.c: gst/base/gstbasesrc.c (gst_basesrc_set_property) Original commit message from CVS: 2005-04-18 Andy Wingo * gst/base/gstbasesrc.c (gst_basesrc_set_property) (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_... to PROP_.... 2005-04-16 20:27:55 +0000 Thomas Vander Stichele * NEWS: * tests/Makefile.am: NEWS build Original commit message from CVS: NEWS build 2005-04-16 20:16:38 +0000 Thomas Vander Stichele removed some line Original commit message from CVS: removed some line 2005-04-16 16:28:07 +0000 Thomas Vander Stichele * docs/faq/gst-uninstalled: add gst-plugins-base to pkgconfig path Original commit message from CVS: add gst-plugins-base to pkgconfig path 2005-04-14 17:17:30 +0000 Ronald S. Bultje docs/faq/using.xml: Add note on gstreamer-properties (#154996). Original commit message from CVS: * docs/faq/using.xml: Add note on gstreamer-properties (#154996). 2005-04-13 17:41:29 +0000 Ronald S. Bultje docs/random/bbb/optional-properties: Some analysis on optional properties. Original commit message from CVS: * docs/random/bbb/optional-properties: Some analysis on optional properties. 2005-04-12 15:00:30 +0000 Ronald S. Bultje Use libxml2 for registry parsing, use staticpadtemplates in elementfactories. Makes gst_init() +/- 10x faster. Original commit message from CVS: * docs/gst/tmpl/gstelementfactory.sgml: * gst/gstelement.h: * gst/gstelementfactory.c: (gst_element_factory_init), (gst_element_factory_cleanup), (gst_element_register), (__gst_element_factory_add_static_pad_template), (gst_element_factory_get_static_pad_templates), (gst_element_factory_can_src_caps), (gst_element_factory_can_sink_caps): * gst/registries/Makefile.am: * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type), (gst_xml_registry_class_init), (gst_xml_registry_init), (gst_xml_registry_new), (gst_xml_registry_set_property), (gst_xml_registry_get_property), (get_time), (make_dir), (gst_xml_registry_get_perms_func), (plugin_times_older_than_recurse), (plugin_times_older_than), (gst_xml_registry_open_func), (gst_xml_registry_load_func), (gst_xml_registry_save_func), (gst_xml_registry_close_func), (add_to_char_array), (read_string), (read_uint), (read_enum), (load_pad_template), (load_feature), (load_plugin), (load_paths), (gst_xml_registry_load), (gst_xml_registry_load_plugin), (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template), (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin), (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse), (gst_xml_registry_rebuild): * gst/registries/gstlibxmlregistry.h: * tools/gst-compprep.c: (main): * tools/gst-inspect.c: (print_pad_templates_info): * tools/gst-xmlinspect.c: (print_element_info): Use libxml2 for registry parsing, use staticpadtemplates in elementfactories. Makes gst_init() +/- 10x faster. 2005-04-12 10:52:55 +0000 Wim Taymans * ChangeLog: * gst/base/Makefile.am: * gst/base/gstbasesink.c: * gst/base/gstbasesrc.c: * gst/base/gsttypefindhelper.c: * gst/base/gsttypefindhelper.h: * gst/elements/Makefile.am: * gst/elements/gstelements.c: * gst/elements/gstfakesink.c: * gst/elements/gstfakesrc.c: * gst/elements/gstfakesrc.h: * gst/elements/gstfilesrc.c: * gst/elements/gsttypefindelement.c: * gst/elements/gsttypefindelement.h: * gst/gstpipeline.c: * libs/gst/base/Makefile.am: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gsttypefindhelper.c: * libs/gst/base/gsttypefindhelper.h: * plugins/elements/Makefile.am: * plugins/elements/gstelements.c: * plugins/elements/gstfakesink.c: * plugins/elements/gstfakesrc.c: * plugins/elements/gstfakesrc.h: * plugins/elements/gstfilesrc.c: * plugins/elements/gsttypefindelement.c: * plugins/elements/gsttypefindelement.h: Added typefind helper. Original commit message from CVS: Added typefind helper. Small preroll fix in the base sink. Disable typefind code in basesrc. Crude port of typefindelement. Fakesrc cleanups. 2005-04-12 09:16:00 +0000 Wim Taymans * check/gst/gstdata.c: * tests/check/gst/gstdata.c: Increase timeout some more Original commit message from CVS: Increase timeout some more 2005-04-11 12:02:13 +0000 Thomas Vander Stichele * check/Makefile.am: * tests/check/Makefile.am: only dirs Original commit message from CVS: only dirs 2005-04-11 11:40:11 +0000 Thomas Vander Stichele * check/Makefile.am: * tests/check/Makefile.am: fix distcheck Original commit message from CVS: fix distcheck 2005-04-11 11:24:53 +0000 Wim Taymans check/: Fix up the timeout so that the test does not fail. Original commit message from CVS: * check/gst/gstbus.c: (gstbus_suite): * check/gst/gstdata.c: (thread_ref), (gst_data_suite): * check/gstcheck.h: Fix up the timeout so that the test does not fail. 2005-04-11 09:53:44 +0000 Thomas Vander Stichele * tests/old/testsuite/Makefile.am: * testsuite/Makefile.am: dist trigger Original commit message from CVS: dist trigger 2005-04-10 21:42:32 +0000 Thomas Vander Stichele * gst/gstelement.c: work with debug disabled Original commit message from CVS: work with debug disabled 2005-04-10 20:29:44 +0000 Thomas Vander Stichele * gst/gstobject.c: work with debug disabled Original commit message from CVS: work with debug disabled 2005-04-10 18:19:18 +0000 Thomas Vander Stichele * autogen.sh: ignore already applied patch Original commit message from CVS: ignore already applied patch 2005-04-08 11:34:14 +0000 Stefan Kost file gstparent.c was initially added on branch BRANCH-GSTREAMER-0_8. Original commit message from CVS: file gstparent.c was initially added on branch BRANCH-GSTREAMER-0_8. 2005-04-08 11:34:14 +0000 Stefan Kost file gstparent.h was initially added on branch BRANCH-GSTREAMER-0_8. Original commit message from CVS: file gstparent.h was initially added on branch BRANCH-GSTREAMER-0_8. 2005-04-06 17:30:48 +0000 Wim Taymans gst/: More work on the generic source base class, implement seeking, query. Original commit message from CVS: * gst/base/README: * gst/base/gstbasesrc.c: (gst_basesrc_get_type), (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query), (gst_basesrc_get_event_mask), (gst_basesrc_do_seek), (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked), (gst_basesrc_check_get_range), (gst_basesrc_loop), (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start), (gst_basesrc_stop), (gst_basesrc_activate), (gst_basesrc_change_state), (basesrc_find_peek), (basesrc_find_suggest), (gst_basesrc_type_find): * gst/base/gstbasesrc.h: * gst/elements/gstfilesrc.c: (gst_filesrc_base_init), (gst_filesrc_class_init), (gst_filesrc_init), (gst_filesrc_finalize), (gst_filesrc_set_location), (gst_filesrc_set_property), (gst_filesrc_get_property), (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region), (gst_filesrc_map_small_region), (gst_filesrc_create_mmap), (gst_filesrc_create_read), (gst_filesrc_create), (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop): * gst/elements/gstfilesrc.h: * gst/gstelement.c: (gst_element_get_state_func), (gst_element_lost_state), (gst_element_pads_activate): * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active), (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range), (gst_pad_pull_range): * gst/gstpad.h: More work on the generic source base class, implement seeking, query. Make filesrc extend the base source class. Added gst_pad_set_checkgetrange_function to GstPad. 2005-04-06 11:08:07 +0000 Andy Wingo pkgconfig/: New files. Original commit message from CVS: 2005-04-06 Andy Wingo * pkgconfig/gstreamer-base.pc.in: * pkgconfig/gstreamer-base-uninstalled.pc.in: New files. * pkgconfig/Makefile.am: * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files. 2005-04-05 17:41:51 +0000 Thomas Vander Stichele * docs/faq/cvs.xml: add a note Original commit message from CVS: add a note 2005-04-05 08:44:20 +0000 Wim Taymans gst/: Made base source class, make fakesrc extend it. Original commit message from CVS: * gst/base/Makefile.am: * gst/base/README: * gst/base/gstbasesink.c: (gst_basesink_base_init), (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps), (gst_basesink_pad_buffer_alloc), (gst_basesink_init), (gst_basesink_do_sync), (gst_basesink_chain_unlocked): * gst/base/gstbasesrc.c: (gst_basesrc_get_type), (gst_basesrc_base_init), (gst_basesrc_class_init), (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_get_query_types), (gst_basesrc_query), (gst_basesrc_get_event_mask), (gst_basesrc_event_handler), (gst_basesrc_set_property), (gst_basesrc_get_property), (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range), (gst_basesrc_loop), (gst_basesrc_activate), (gst_basesrc_change_state): * gst/base/gstbasesrc.h: * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init), (gst_fakesrc_class_init), (gst_fakesrc_init), (gst_fakesrc_event_handler), (gst_fakesrc_set_property), (gst_fakesrc_get_property), (gst_fakesrc_create): * gst/elements/gstfakesrc.h: * gst/elements/gstfilesrc.c: (gst_filesrc_getrange), (gst_filesrc_open_file), (gst_filesrc_loop), (gst_filesrc_activate), (filesrc_find_peek), (gst_filesrc_type_find): Made base source class, make fakesrc extend it. Add comments to basesink class. Some filesrc cleanup. 2005-04-01 10:14:45 +0000 Andy Wingo * tests/memchunk/gmemchunktest.c: add support for google malloc if available Original commit message from CVS: add support for google malloc if available 2005-04-01 02:41:35 +0000 David Schleef gst/gstplugin.c: Switch to using G_MODULE_BIND_LOCAL, which means plugins are now expected to link against libgstreamer. Original commit message from CVS: * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file): Switch to using G_MODULE_BIND_LOCAL, which means plugins are now expected to link against libgstreamer. * gst/base/Makefile.am: link against libgstreamer * gst/elements/Makefile.am: same 2005-03-31 15:00:11 +0000 Andy Wingo tests/instantiate/: Add test to test speed of caps copy and free. Original commit message from CVS: 2005-03-31 Andy Wingo * tests/instantiate/Makefile.am: * tests/instantiate/caps.c: Add test to test speed of caps copy and free. * tests/memchunk/gmemchunktest.c (main): Use alloc only on the GMemChunk to be fair. * gst/gsttrashstack.h: Remove warning about using the fallback trash stack implementation, it's still faster than malloc. 2005-03-31 10:10:55 +0000 Wim Taymans gst/: Added start/stop methods to transform base class so subclasses don't need to deal with state changes even. Original commit message from CVS: * gst/base/gstbasetransform.c: (gst_base_transform_base_init), (gst_base_transform_class_init), (gst_base_transform_init), (gst_base_transform_setcaps), (gst_base_transform_handle_buffer), (gst_base_transform_get_property), (gst_base_transform_sink_activate), (gst_base_transform_src_activate), (gst_base_transform_change_state): * gst/base/gstbasetransform.h: * gst/elements/gstidentity.c: (gst_identity_class_init), (gst_identity_event), (gst_identity_check_perfect), (gst_identity_transform), (gst_identity_start), (gst_identity_stop): Added start/stop methods to transform base class so subclasses don't need to deal with state changes even. 2005-03-31 10:10:21 +0000 Andy Wingo * tests/memchunk/gmemchunktest.c: add per-thread stats Original commit message from CVS: add per-thread stats 2005-03-31 09:46:28 +0000 Wim Taymans gst/: Added rate to the discont event to prepare for variable speed and reverse playback. Original commit message from CVS: * gst/gstevent.c: (gst_event_new_discontinuous_valist), (gst_event_new_discontinuous), (gst_event_discont_get_value): * gst/gstevent.h: * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active), (gst_pad_pull_range): Added rate to the discont event to prepare for variable speed and reverse playback. 2005-03-30 14:09:01 +0000 Andy Wingo * tests/memchunk/gmemchunktest.c: Commit mem chunk test; probably will be removed later. Original commit message from CVS: Commit mem chunk test; probably will be removed later. 2005-03-30 03:57:39 +0000 David Schleef A little example program to show how trigger-based elements can work. Original commit message from CVS: * configure.ac: * testsuite/trigger/Makefile.am: * testsuite/trigger/trigger.c: A little example program to show how trigger-based elements can work. 2005-03-29 16:18:12 +0000 Wim Taymans gst/: Simplify pad activation. Original commit message from CVS: * gst/base/Makefile.am: * gst/base/README: * gst/base/gstbasesink.c: (gst_basesink_get_type), (gst_basesink_base_init), (gst_basesink_class_init), (gst_basesink_pad_getcaps), (gst_basesink_init), (gst_basesink_activate), (gst_basesink_change_state): * gst/base/gstbasesink.h: * gst/base/gstbasetransform.c: (gst_base_transform_get_type), (gst_base_transform_base_init), (gst_base_transform_finalize), (gst_base_transform_class_init), (gst_base_transform_init), (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps), (gst_base_transform_event), (gst_base_transform_getrange), (gst_base_transform_chain), (gst_base_transform_handle_buffer), (gst_base_transform_set_property), (gst_base_transform_get_property), (gst_base_transform_sink_activate), (gst_base_transform_src_activate), (gst_base_transform_change_state): * gst/base/gstbasetransform.h: * gst/elements/gstidentity.c: (gst_identity_finalize), (gst_identity_class_init), (gst_identity_init), (gst_identity_event), (gst_identity_check_perfect), (gst_identity_transform), (gst_identity_set_property), (gst_identity_get_property), (gst_identity_change_state): * gst/elements/gstidentity.h: * gst/gstelement.c: (gst_element_get_state_func), (gst_element_lost_state), (gst_element_pads_activate): * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active), (gst_pad_check_pull_range), (gst_pad_pull_range): * gst/gstpad.h: Simplify pad activation. Added function to check if pull_range can be performed. Error out when pulling inactive or flushing pads. Removed const from refcounted types as it does not make sense. Simplify pad templates in basesink Added base class for simple 1-to-1 transforms. Make identity subclass the base transform. 2005-03-29 14:34:51 +0000 Andy Wingo docs/: Add these files to CVS. Now I really don't understand what's going on, but like whatever. I want green buildbot! Original commit message from CVS: 2005-03-29 Andy Wingo * docs/libs/gstreamer-libs-overrides.txt: * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I really don't understand what's going on, but like whatever. I want green buildbot! 2005-03-29 14:12:48 +0000 Andy Wingo docs/: Dist the overrides files. Original commit message from CVS: 2005-03-29 Andy Wingo * docs/gst/Makefile.am: * docs/libs/Makefile.am: Dist the overrides files. * check/Makefile.am (clean-local): Remove .libs directories. * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic elements to EXTRA_DIST, so po/ files are happy. 2005-03-29 13:10:25 +0000 Andy Wingo po/POTFILES: Remove gstspider.c. Original commit message from CVS: 2005-03-29 Andy Wingo * po/POTFILES: Remove gstspider.c. * configure.ac (AC_OUTPUT): Add missing testsuite makefiles. * docs/libs/gstreamer-libs-docs.sgml: * docs/libs/gstreamer-libs-sections.txt: Remove the section on bytestream. * tests/complexity.c (main): Set the length of the preroll queue on the sinks to prevent a lockup. 2005-03-29 11:39:17 +0000 Andy Wingo libs/gst/dataprotocol/: Remove test, it's the same as the one in check/gst-libs/gdp.c. Original commit message from CVS: 2005-03-29 Andy Wingo * libs/gst/dataprotocol/Makefile.am: * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's the same as the one in check/gst-libs/gdp.c. 2005-03-29 10:55:39 +0000 Andy Wingo po/, docs/gst/: Commit automatic changes to docs and po files. Original commit message from CVS: 2005-03-29 Andy Wingo * po/, docs/gst/: Commit automatic changes to docs and po files. * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to the versioned libgstbase. * check/Makefile.am: Depend on an unversioned gst-register, seems to make autoconf happier. * gst/base/Makefile.am: Make libgstbase a versioned lib. 2005-03-28 14:54:33 +0000 Wim Taymans * ChangeLog: * configure.ac: * docs/design/part-gstelement.txt: * docs/design/part-negotiation.txt: * docs/design/part-preroll.txt: * docs/design/part-scheduling.txt: * docs/design/part-states.txt: * gst/Makefile.am: * gst/base/Makefile.am: * gst/base/README: * gst/base/gstbasesink.c: * gst/base/gstbasesink.h: * gst/elements/Makefile.am: * gst/elements/gstfakesink.c: * gst/elements/gstfakesink.h: * gst/gstbin.c: * gst/gstelement.c: * gst/gstpad.c: * gst/gstpipeline.c: * libs/gst/base/Makefile.am: * libs/gst/base/README: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesink.h: * plugins/elements/Makefile.am: * plugins/elements/gstfakesink.c: * plugins/elements/gstfakesink.h: Added state change code. Original commit message from CVS: Added state change code. Added/updated docs. Added sink base class, make fakesink extend the base class. Small cleanups in GstPipeline. 2005-03-26 22:07:53 +0000 David Schleef gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality is broken and should be implemented in a different li... Original commit message from CVS: * gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality is broken and should be implemented in a different library. * gst/gst.c: (init_post): don't call _gst_cpu_initialize() * gst/gst.h: remove gstcpu.h * gst/gstcpu.c: remove * gst/gstcpu.h: remove * gst/Makefile.am.future: Remove this file. It's ancient. 2005-03-25 09:57:42 +0000 Ronald S. Bultje gst/gstbin.c: Add default event/set_manager handlers. The set_manager handler takes care that the manager is distribu... Original commit message from CVS: * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager), (gst_bin_send_event): Add default event/set_manager handlers. The set_manager handler takes care that the manager is distributed over kids that were already in the bin before the manager was set. The event handler is a utility virtual function that sends the event over all sinks, so that gst_element_send_event (bin, event); has the expected behaviour. * gst/gstpad.c: (gst_pad_event_default): Re-install default event handling for discontinuities, so that seeking works without requiring hacks in applications or extra code in sinks. * gst/gstpipeline.c: (gst_pipeline_class_init), (gst_pipeline_send_event): Half hack, half utility: set a pipeline to PAUSED for seek events, since that is the only way we can guarantee a/v sync. Means that you can do gst_element_seek (pipeline, method, pos); on a pipeline and it "just works". 2005-03-25 09:35:01 +0000 Ronald S. Bultje gst/gstpipeline.c: Lock/unlock mismatch. Original commit message from CVS: * gst/gstpipeline.c: (gst_pipeline_use_clock): Lock/unlock mismatch. 2005-03-25 00:35:44 +0000 Thomas Vander Stichele docs/faq/gst-uninstalled: add gst-plugins-base Original commit message from CVS: * docs/faq/gst-uninstalled: add gst-plugins-base * docs/gst/Makefile.am: don't error out until docs are fixed * docs/gst/gstreamer.types: remove thread 2005-03-22 14:23:49 +0000 Wim Taymans Activated more tests. Original commit message from CVS: * check/Makefile.am: * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main): * gst/gststructure.c: (gst_structure_set_valist), (gst_structure_copy_conditional): Activated more tests. Added message test. Added G_TYPE_POINTER to GstStructure. 2005-03-22 11:32:59 +0000 Wim Taymans Docs updates Original commit message from CVS: * docs/design/part-TODO.txt: * docs/design/part-events.txt: * docs/design/part-gstbin.txt: * docs/design/part-gstbus.txt: * docs/design/part-gstpipeline.txt: * docs/design/part-messages.txt: * gst/gstbus.c: * gst/gstmessage.c: Docs updates 2005-03-21 18:17:57 +0000 Wim Taymans gst/gstbus.c: Fix copy-and-paste error. Original commit message from CVS: * gst/gstbus.c: (gst_bus_post): Fix copy-and-paste error. 2005-03-21 17:34:02 +0000 Wim Taymans * ChangeLog: * check/Makefile.am: * common: * gst/Makefile.am: * gst/elements/Makefile.am: * gst/elements/gstelements.c: * gst/elements/gstfakesink.c: * gst/elements/gstfakesrc.c: * gst/elements/gstfakesrc.h: * gst/elements/gstfilesrc.c: * gst/elements/gstidentity.c: * gst/elements/gstidentity.h: * gst/elements/gsttee.c: * gst/elements/gsttee.h: * gst/gst.c: * gst/gst.h: * gst/gstbin.c: * gst/gstbin.h: * gst/gstbus.c: * gst/gstbus.h: * gst/gstcaps.h: * gst/gstdata.h: * gst/gstelement.c: * gst/gstelement.h: * gst/gstevent.c: * gst/gstevent.h: * gst/gstmessage.c: * gst/gstmessage.h: * gst/gstpad.c: * gst/gstpad.h: * gst/gstpipeline.c: * gst/gstpipeline.h: * gst/gstprobe.h: * gst/gstqueue.c: * gst/gstqueue.h: * gst/gstscheduler.c: * gst/gstscheduler.h: * gst/gststructure.c: * gst/gststructure.h: * gst/gsttaginterface.h: * gst/gsttagsetter.h: * gst/gsttask.c: * gst/gsttask.h: * gst/gstthread.c: * gst/gstthread.h: * gst/gsttypes.h: * gst/schedulers/Makefile.am: * gst/schedulers/cothreads_compat.h: * gst/schedulers/entryscheduler.c: * gst/schedulers/faircothreads.c: * gst/schedulers/faircothreads.h: * gst/schedulers/fairscheduler.c: * gst/schedulers/gstbasicscheduler.c: * gst/schedulers/gstoptimalscheduler.c: * gst/schedulers/gthread-cothreads.h: * gst/schedulers/threadscheduler.c: * libs/gst/Makefile.am: * libs/gst/bytestream/bytestream.c: * libs/gst/bytestream/filepad.c: * libs/gst/dataprotocol/dataprotocol.c: * plugins/elements/Makefile.am: * plugins/elements/gstelements.c: * plugins/elements/gstfakesink.c: * plugins/elements/gstfakesrc.c: * plugins/elements/gstfakesrc.h: * plugins/elements/gstfilesrc.c: * plugins/elements/gstidentity.c: * plugins/elements/gstidentity.h: * plugins/elements/gstqueue.c: * plugins/elements/gstqueue.h: * plugins/elements/gsttee.c: * plugins/elements/gsttee.h: * tests/benchmarks/complexity.c: * tests/benchmarks/mass-elements.c: * tests/check/Makefile.am: * tests/complexity.c: * tests/mass_elements.c: * tests/old/testsuite/states/locked.c: * tests/old/testsuite/states/parent.c: * testsuite/states/locked.c: * testsuite/states/parent.c: * tools/gst-inspect.c: * tools/gst-launch.c: * tools/gst-md5sum.c: * tools/gst-typefind.c: * tools/gst-xmlinspect.c: Next big merge. Original commit message from CVS: Next big merge. Added GstBus for mainloop integration. Added GstMessage for sending notifications on the bus. Added GstTask as an abstraction for pipeline entry points. Removed GstThread. Removed Schedulers. Simplified GstQueue for multithreaded core. Made _link threadsafe, removed old capsnego. Added STREAM_LOCK and PREROLL_LOCK in GstPad. Added pad blocking functions. Reworked scheduling functions in GstPad to prepare for scheduling updates soon. Moved events out of data stream. Simplified GstEvent types. Added return values to push/pull. Removed clocking from GstElement. Added prototypes for state change function for next merge. Removed iterate from bins and state change management. Fixed some elements, disabled others for now. Fixed -inspect and -launch. Added check for GstBus. 2005-03-10 12:51:45 +0000 Wim Taymans Doc updates. Original commit message from CVS: * docs/design/part-MT-refcounting.txt: * docs/design/part-clocks.txt: * docs/design/part-gstelement.txt: * docs/design/part-gstobject.txt: * docs/design/part-standards.txt: * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func), (gst_bin_remove): * gst/gstbin.h: * gst/gstbuffer.c: * gst/gstcaps.h: * testsuite/clock/clock1.c: (main): * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait), (main): * testsuite/dlopen/loadgst.c: (do_test): * testsuite/refcounting/bin.c: (add_remove_test1), (add_remove_test2), (main): * testsuite/refcounting/element.c: (main): * testsuite/refcounting/element_pad.c: (main): * testsuite/refcounting/pad.c: (main): * tools/gst-launch.c: (sigint_handler_sighandler): * tools/gst-typefind.c: (main): Doc updates. Added doc about clock. removed gst_bin_iterate_recurse_up(), marked methods for removal. Fix more testsuites. 2005-03-09 17:28:52 +0000 Wim Taymans Fix _pad_get_direction wrt ghostpads. Original commit message from CVS: * gst/gstpad.c: (gst_pad_get_direction), (_gst_pad_default_fixate_foreach), (gst_pad_collectv), (gst_pad_collect_valist): * testsuite/bins/interface.c: (main): * testsuite/caps/audioscale.c: (test_caps): * testsuite/caps/caps.c: (test1), (test2), (test3): * testsuite/caps/deserialize.c: (main): * testsuite/caps/enumcaps.c: (main): * testsuite/caps/filtercaps.c: (main): * testsuite/caps/intersect2.c: (main): * testsuite/caps/random.c: (main): * testsuite/caps/renegotiate.c: (my_fixate), (main): * testsuite/caps/sets.c: (check_caps): * testsuite/caps/simplify.c: (check_caps), (main): * testsuite/caps/subtract.c: (check_caps): Fix _pad_get_direction wrt ghostpads. Fix caps testsuite. 2005-03-09 16:10:59 +0000 Wim Taymans * ChangeLog: * check/Makefile.am: * check/gst/gstbin.c: * check/gst/gstsystemclock.c: * gst/gstbin.c: * gst/gstbin.h: * gst/gstelement.c: * gst/gstelement.h: * gst/gstiterator.c: * gst/gstpad.c: * gst/gstpipeline.c: * gst/gstutils.h: * gst/schedulers/entryscheduler.c: * gst/schedulers/gstbasicscheduler.c: * tests/check/Makefile.am: * tests/check/gst/gstbin.c: * tests/check/gst/gstsystemclock.c: * tests/old/testsuite/bins/interface.c: * testsuite/bins/interface.c: Added GstBin test. Original commit message from CVS: Added GstBin test. Added GstSystemClock test. Implemented clock distribution code in GstBin. Implemented iterate sinks method for future use. Rearranged gstelement.h Fix GstIterator comparison bug. Moved some code to GstPipeline, mostly clocking related. 2005-03-09 11:08:18 +0000 Wim Taymans Bump version number, we're now 0.9.0 Original commit message from CVS: * configure.ac: * gst/gst_private.h: * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_by_name_recurse_up): * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref), (gst_clock_id_compare_func), (gst_clock_id_wait), (gst_clock_id_wait_async), (gst_clock_init), (gst_clock_adjust_unlocked), (gst_clock_get_time): * gst/gstelement.h: * gst/gstinfo.c: (_gst_debug_init): * gst/gstobject.h: * gst/gstpad.c: (_gst_pad_default_fixate_foreach), (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query): * gst/gstpad.h: Bump version number, we're now 0.9.0 Add future debugging category. Fix NULL _unref() in _get_by_name_recurse_up Rearrange gstpad.h. Update some docs. 2005-03-08 17:42:29 +0000 Wim Taymans * ChangeLog: * gst/elements/gstaggregator.c: * gst/elements/gstfakesink.c: * gst/elements/gstfakesrc.c: * gst/elements/gstfdsink.c: * gst/elements/gstfdsrc.c: * gst/elements/gstfilesink.c: * gst/elements/gstfilesrc.c: * gst/elements/gstidentity.c: * gst/elements/gstmd5sink.c: * gst/elements/gstmultifilesrc.c: * gst/elements/gstshaper.c: * gst/elements/gststatistics.c: * gst/elements/gsttee.c: * gst/gstelement.c: * gst/gstelement.h: * gst/gstqueue.c: * gst/gstthread.c: * gst/schedulers/gstbasicscheduler.c: * gst/schedulers/gstoptimalscheduler.c: * plugins/elements/gstaggregator.c: * plugins/elements/gstfakesink.c: * plugins/elements/gstfakesrc.c: * plugins/elements/gstfdsink.c: * plugins/elements/gstfdsrc.c: * plugins/elements/gstfilesink.c: * plugins/elements/gstfilesrc.c: * plugins/elements/gstidentity.c: * plugins/elements/gstmd5sink.c: * plugins/elements/gstmultifilesrc.c: * plugins/elements/gstqueue.c: * plugins/elements/gstshaper.c: * plugins/elements/gststatistics.c: * plugins/elements/gsttee.c: Remove threadsafe properties. Fix elements because GObject complains when installing a property before declaring a se... Original commit message from CVS: Remove threadsafe properties. Fix elements because GObject complains when installing a property before declaring a set/get_property handler. Rearrange gstelement.h file, use STATE macros for state locks. Free mutexes in the finalize method instead of dispose. 2005-03-08 15:57:15 +0000 Wim Taymans Added parentage check. Original commit message from CVS: * check/gst/gstobject.c: (START_TEST), (gst_object_suite): * gst/gstthread.c: (gst_thread_release_children_locks): Added parentage check. Fix build og GstThread again. 2005-03-08 14:38:06 +0000 Wim Taymans Docs updates, clean up some headers. Original commit message from CVS: * docs/design/part-MT-refcounting.txt: * docs/design/part-conventions.txt: * docs/design/part-gstobject.txt: * docs/design/part-relations.txt: * docs/design/part-standards.txt: * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse), (gst_bin_get_by_name), (gst_bin_get_by_interface), (gst_bin_iterate_all_by_interface): * gst/gstbuffer.h: * gst/gstclock.h: * gst/gstelement.c: (gst_element_class_init), (gst_element_change_state), (gst_element_set_loop_function): * gst/gstelement.h: * gst/gstiterator.c: * gst/gstobject.c: (gst_object_class_init), (gst_object_ref), (gst_object_unref), (gst_object_sink), (gst_object_dispose), (gst_object_dispatch_properties_changed), (gst_object_set_name), (gst_object_set_parent), (gst_object_unparent), (gst_object_check_uniqueness): * gst/gstobject.h: Docs updates, clean up some headers. Free iterators in GstBin. GstObject is now looking good. 2005-03-07 18:33:37 +0000 Wim Taymans check/: Added checks. Original commit message from CVS: * check/.cvsignore: * check/Makefile.am: * check/gst-libs/.cvsignore: * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main): * check/gst/.cvsignore: * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages), (START_TEST), (gstbus_suite), (main): * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main): * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref), (gst_data_suite), (main): * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST), (add_fold_func), (gstiterator_suite), (main): * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST), (thread_name_object), (thread_name_object_default), (gst_object_name_compare), (gst_object_suite), (main): * check/gst/gstpad.c: (START_TEST), (thread_link_unlink), (gst_pad_suite), (main): * check/gstcheck.c: (gst_check_log_message_func), (gst_check_log_critical_func), (gst_check_init): * check/gstcheck.h: * check/pipelines/simple_launch_lines.c: (setup_pipeline), (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main): Added checks. 2005-03-07 18:29:36 +0000 Wim Taymans gst/gstiterator.*: Added missing files. Original commit message from CVS: * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new), (gst_list_iterator_next), (gst_list_iterator_resync), (gst_list_iterator_free), (gst_iterator_new_list), (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync), (gst_iterator_free), (gst_iterator_push), (filter_next), (filter_resync), (filter_uninit), (filter_free), (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func), (gst_iterator_foreach), (find_custom_fold_func), (gst_iterator_find_custom): * gst/gstiterator.h: Added missing files. 2005-03-07 18:27:42 +0000 Wim Taymans * ChangeLog: * Makefile.am: * configure.ac: * docs/design/part-MT-refcounting.txt: * docs/design/part-conventions.txt: * docs/design/part-gstobject.txt: * docs/design/part-relations.txt: * examples/mixer/mixer.c: * examples/thread/thread.c: * gst/Makefile.am: * gst/autoplug/gstsearchfuncs.c: * gst/autoplug/gstspider.c: * gst/autoplug/gstspideridentity.c: * gst/elements/gstfakesrc.c: * gst/elements/gstidentity.c: * gst/elements/gsttee.c: * gst/elements/gsttypefindelement.c: * gst/gst.c: * gst/gst.h: * gst/gstbin.c: * gst/gstbin.h: * gst/gstbuffer.c: * gst/gstbuffer.h: * gst/gstcaps.c: * gst/gstcaps.h: * gst/gstclock.c: * gst/gstclock.h: * gst/gstcompat.h: * gst/gstcpu.c: * gst/gstdata.c: * gst/gstdata.h: * gst/gstelement.c: * gst/gstelement.h: * gst/gstevent.h: * gst/gstformat.c: * gst/gstformat.h: * gst/gstindex.c: * gst/gstinfo.c: * gst/gstinfo.h: * gst/gstmemchunk.c: * gst/gstobject.c: * gst/gstobject.h: * gst/gstpad.c: * gst/gstpad.h: * gst/gstpipeline.c: * gst/gstpipeline.h: * gst/gstplugin.c: * gst/gstpluginfeature.c: * gst/gstpluginfeature.h: * gst/gstprobe.c: * gst/gstquery.c: * gst/gstquery.h: * gst/gstqueue.c: * gst/gstscheduler.c: * gst/gststructure.c: * gst/gststructure.h: * gst/gstsystemclock.c: * gst/gstsystemclock.h: * gst/gsttag.c: * gst/gsttaginterface.c: * gst/gsttaglist.c: * gst/gsttagsetter.c: * gst/gstthread.c: * gst/gsttrashstack.h: * gst/gsttypefind.c: * gst/gsttypes.h: * gst/gstutils.c: * gst/gstutils.h: * gst/gstvalue.c: * gst/parse/grammar.y: * gst/schedulers/gstbasicscheduler.c: * gst/schedulers/gstoptimalscheduler.c: * libs/gst/bytestream/bytestream.c: * libs/gst/dataprotocol/dataprotocol.c: * plugins/elements/gstfakesrc.c: * plugins/elements/gstidentity.c: * plugins/elements/gstqueue.c: * plugins/elements/gsttee.c: * plugins/elements/gsttypefindelement.c: * po/nb.po: * po/ru.po: * tests/old/examples/mixer/mixer.c: * tests/old/examples/thread/thread.c: * tests/threadstate/threadstate2.c: * tools/gst-compprep.c: * tools/gst-inspect.c: * tools/gst-launch.c: * tools/gst-md5sum.c: * tools/gst-xmlinspect.c: First THREADED backport attempt, focusing on adding locks and making sure the API is threadsafe. Needs more work. Mor... Original commit message from CVS: First THREADED backport attempt, focusing on adding locks and making sure the API is threadsafe. Needs more work. More docs follow this week. 2005-02-25 00:10:05 +0000 Thomas Vander Stichele * gst/gstinfo.c: * gst/gstinfo.h: another no-debug build fix Original commit message from CVS: another no-debug build fix 2005-02-24 23:41:57 +0000 Thomas Vander Stichele * gst/schedulers/faircothreads.c: disable debug build fix Original commit message from CVS: disable debug build fix 2005-02-24 17:12:19 +0000 Andy Wingo tests/: New files, good for running complexity benchmarks. Original commit message from CVS: 2005-02-24 Andy Wingo * tests/bench-complexity.scm: * tests/complexity.gnuplot: New files, good for running complexity benchmarks. 2005-02-24 15:36:22 +0000 Andy Wingo tests/: New test, sets up N elements, at each level teeing into M streams per element. Eeeenteresting. Original commit message from CVS: 2005-02-24 Andy Wingo * tests/Makefile.am: * tests/complexity.c: New test, sets up N elements, at each level teeing into M streams per element. Eeeenteresting. 2005-02-24 12:31:12 +0000 Andy Wingo tests/mass_elements.gnuplot: gnuplot file for the mass_elements benchmark. Run as gnuplot mass_elements.gnuplot > foo... Original commit message from CVS: 2005-02-24 Andy Wingo * tests/mass_elements.gnuplot: gnuplot file for the mass_elements benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after running bench-mass_elements.scm. * tests/bench-mass_elements.scm: New script, runs mass_elements for various numbers of identities, outputting the results to a file. Requires guile 1.6. Just for testing. 2005-02-23 15:14:01 +0000 Thomas Vander Stichele * gst/schedulers/fairscheduler.c: one more fix Original commit message from CVS: one more fix 2005-02-23 15:06:36 +0000 Thomas Vander Stichele * ChangeLog: * gst/schedulers/fairscheduler.c: compile with debug disabled Original commit message from CVS: compile with debug disabled 2005-02-22 16:34:10 +0000 Thomas Vander Stichele * ChangeLog: * configure.ac: hunting season on 0.9 is now OPEN Original commit message from CVS: hunting season on 0.9 is now OPEN