1 2007-11-06 Jan Schmidt <jan.schmidt@sun.com>
3 * tests/check/gst/gstobject.c:
4 Disable silly racy test that always fails on this combination of CPU
5 and kernel.
7 2007-11-03 Tim-Philipp Müller <tim at centricular dot net>
9 Patch by: Murray Cumming <murrayc@murrayc.com>
11 * gst/gstobject.c:
12 Corrected the registration of the parent-set and parent-unset
13 signals: The parameter is a GstObject, not a GObject (#493134).
15 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
17 * gst/gst_private.h:
18 * gst/gstbuffer.h:
19 * gst/gstevent.h:
20 * gst/gstformat.h:
21 * gst/gstmessage.h:
22 * gst/gstplugin.h:
23 * gst/gstquery.h:
24 * gst/gsttaglist.h:
25 * gst/gstvalue.h:
26 Move declaration of private _gst_foo_initialize() functions into
27 our private header file where they should have been all along.
29 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
31 * docs/plugins/gstreamer-plugins-sections.txt:
32 * gst/gstdebugutils.h:
33 * gst/gstxml.h:
34 * plugins/elements/gstqueue.c:
35 gtk-doc fixes; trailing-comma-in-enum fix.
37 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
39 * gst/gst.c: (gst_deinit):
40 Clean up on deinit (not the external ones though, doesn't seem to be
41 needed for some reason).
43 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
45 * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
46 Remove __declspec(dllimport) for MSVC that was copied over into core
47 from a plugin, obviously without ever having been tested (note the
48 single underscore in _declspec in the initial commit), and that doesn't
49 really make sense. See #492077.
51 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
53 * gst/gst.c: (init_post):
54 * gst/gstevent.c: (_gst_event_initialize):
55 * gst/gstquery.c: (_gst_query_initialize):
56 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
57 g_type_class_ref() other types as well, see #349410 and #64764.
59 * gst/gstbuffer.c: (_gst_buffer_initialize):
60 * gst/gstmessage.c: (_gst_message_initialize):
61 Simplify existing g_type_class_ref().
63 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
65 * gst/gstformat.c: (_gst_format_initialize):
66 g_type_class_ref() our GstFormat type to make sure we avoid the
67 thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
68 bug #64764. Should fix intermittent tee unit test failures (#474823).
70 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
72 * tests/check/elements/tee.c: (test_num_buffers):
73 Simplify, simplify, simplify - or not. Rewrite unit test
74 not to use gst_parse_launch(); allow N sub-streams. Increasing
75 the number of sub-streams seems to reproduce #474823 more easily.
77 2007-10-31 Tim-Philipp Müller <tim at centricular dot net>
79 Patch by: Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
81 * gst/gsttrace.c:
82 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
83 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
84 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
85 Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
86 starting with 2.14.0, GLib won't provide a pipe() macro any longer,
87 so use _pipe() directly (#492077).
89 * win32/common/dirent.c: (_treaddir):
90 Add a couple of casts to make it build without warnings with MSVC.
92 * win32/common/libgstreamer.def:
93 Add some more symbols that need to be exported.
95 2007-10-31 Tim-Philipp Müller <tim at centricular dot net>
97 * tests/examples/metadata/read-metadata.c: (message_loop):
98 Use _KEEP as merge mode rather than _KEEP_ALL, so tags
99 arriving in a second or third tag message are added to
100 the tag list as well.
102 2007-10-31 Stefan Kost <ensonic@users.sf.net>
104 * libs/gst/base/gstbasesrc.c:
105 Its "Since:" and not "@Since:". And remove an superflous cast.
107 2007-10-30 Wim Taymans <wim.taymans@gmail.com>
109 * docs/libs/gstreamer-libs-sections.txt:
110 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
111 (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
112 (gst_base_sink_get_property), (gst_base_sink_render_object),
113 (gst_base_sink_preroll_object),
114 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
115 (gst_base_sink_change_state):
116 * libs/gst/base/gstbasesink.h:
117 Add a new last-buffer property that contains the last buffer used in
118 basesink for preroll or rendering. useful for making snapshots.
119 API: gst_base_sink_get_last_buffer()
120 API: GstBaseSink::last-buffer
122 2007-10-29 Stefan Kost <ensonic@users.sf.net>
124 * docs/gst/running.xml:
125 * gst/gst.c:
126 * gst/gstdebugutils.c:
127 * gst/gstdebugutils.h:
128 * tools/gst-launch.c:
129 Improve bin graph dumping, by using the envvar to specify a path.
130 Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
132 2007-10-29 Tim-Philipp Müller <tim at centricular dot net>
134 * plugins/elements/gsttypefindelement.c:
135 (gst_type_find_element_handle_event),
136 (gst_type_find_element_activate):
137 Post special error message if we can't determine the type of a stream
138 because it's empty.
140 2007-10-29 Stefan Kost <ensonic@users.sf.net>
142 * docs/gst/running.xml:
143 * gst/gstdebugutils.c:
144 Document new env-var. Add one log-line after dumpng a graph.
146 2007-10-26 Tim-Philipp Müller <tim at centricular dot net>
148 * configure.ac:
149 Ugly hack to put the (recently removed and non-portable, apparently)
150 -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
151 GNU ld, because without that 'make check' fails miserably on my debian
152 stable box. Someone with more knowledge of linker intricacies and
153 portability issues than me fix this properly please.
155 2007-10-25 Wim Taymans <wim.taymans@gmail.com>
157 * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
158 Reset last seen position after flushing so that we don't report the old
159 position anymore.
161 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
163 * gst/gstelementfactory.c: (gst_element_register):
164 * gst/gsturi.h:
165 Patch from Alessandro Decina adding get_type_full and
166 get_protocols_full private vfuncs to the URIHandler interface
167 to allow bindings to support creating URI handlers.
168 Partially fixes: #339279
169 API: GstURIHandlerInterface::get_type_full
170 API: GstURIHandlerInterface::get_protocols_full
172 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
174 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
175 (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
176 (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
177 Make it so that pads are considered linked until a buffer is pushed
178 and discovered otherwise. This avoids problems with decodebin2 hanging
179 after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
180 case.
182 Make sure we lock the multiqueue when updating the max-size properties.
184 Fix a crash on Solaris in a debug statement in get_request_pad that
185 passes a NULL string to GST_DEBUG.
187 * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
188 (run_output_order_test):
189 Fix the test to allow the first buffer on not-linked pads to come out
190 of sequence while multiqueue discovers that they are not-linked.
192 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
194 * configure.ac:
195 * libs/gst/check/Makefile.am:
196 Use a custom export symbol regex for libgstcheck, as it needs
197 to export symbols that don't match the standard GStreamer gst_*
198 pattern, and --export-dynamic is not portable (only works on
199 GNU ld)
201 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
202 (gst_check_setup_sink_pad):
203 Make sure to pass a message parameter to the fail_* macros.
205 * tests/check/gst/gstinfo.c: (GST_START_TEST):
206 Fix some compiler warnings.
208 2007-10-25 Tim-Philipp Müller <tim at centricular dot net>
210 * tests/check/gst/gststructure.c: (test_to_string):
211 Disable test that checks that white spaces are not allowed
212 in structure names or field names, since we need to
213 support that for now for backwards compatibility reasons.
215 2007-10-24 Tim-Philipp Müller <tim at centricular dot net>
217 * docs/gst/gstreamer-sections.txt:
218 * gst/gsttaglist.c:
219 * gst/gsttaglist.h:
220 API: add GST_TAG_ARTIST_SORTNAME
221 API: add GST_TAG_ALBUM_SORTNAME
222 API: add GST_TAG_TITLE_SORTNAME
223 Add tag variants for sorting (#414539).
225 2007-10-24 Tim-Philipp Müller <tim at centricular dot net>
227 * gst/gststructure.c:
228 Also allow white space for names so we don't break
229 backwards compatibility.
231 2007-10-22 Wim Taymans <wim.taymans@gmail.com>
233 * docs/design/part-TODO.txt:
234 * docs/design/part-segments.txt:
235 * docs/design/part-streams.txt:
236 Small updates.
238 2007-10-22 Edgard Lima <edgard.lima@indt.org.br>
240 * docs/gst/gstreamer-sections.txt:
241 Fixed documentation from my previous commit (added new API add
242 gst_value_set_structure(), add gst_value_get_structure() and
243 GST_VALUE_HOLDS_STRUCTURE).
245 2007-10-22 Stefan Kost <ensonic@users.sf.net>
247 * gst/gstdebugutils.c:
248 Reflow code to fix uninitialized variable warning.
250 2007-10-22 Edgard Lima <edgard.lima@indt.org.br>
252 * gst/gstcaps.c: (gst_caps_to_string),
253 (gst_caps_from_string_inplace):
254 * gst/gststructure.c: (gst_structure_get_abbrs),
255 (gst_structure_to_string), (gst_structure_from_string):
256 * gst/gstvalue.c: (gst_value_set_structure),
257 (gst_value_get_structure), (gst_value_serialize_structure),
258 (gst_value_deserialize_structure), (_gst_value_initialize):
259 * gst/gstvalue.h:
260 * tests/check/gst/gststructure.c: (GST_START_TEST),
261 (gst_structure_suite):
262 * tests/check/gst/gstvalue.c: (GST_START_TEST):
263 Added GstStructure to gst_value_table and its related functions.
264 Changed gst_structure_to_string to print ';' in the end.
265 Changed gst_caps_to_string to not print ';' beteween its
266 fields (structures) anymore and remove the lastes ';' from latest
267 structure. Now it is possible to have nested structures.
268 In addition, backward compatibilty is assured by accepting '\0' as
269 end delimiter. Fixes: #487969.
270 API: add gst_value_set_structure()
271 API: add gst_value_get_structure()
272 API: add GST_VALUE_HOLDS_STRUCTURE
274 2007-10-19 Tim-Philipp Müller <tim at centricular dot net>
276 * gst/gstbus.c:
277 When no GSource callback has been set up, tell developer
278 to use a function that actually exists.
280 2007-10-17 Stefan Kost <ensonic@users.sf.net>
282 * docs/gst/gstreamer-sections.txt:
283 * gst/Makefile.am:
284 * gst/gst.c:
285 * gst/gst.h:
286 * gst/gstdebugutils.c:
287 * gst/gstdebugutils.h:
288 * gst/gstinfo.c:
289 * gst/gstinfo.h:
290 * tools/gst-launch.c:
291 Allow dumping pipelines as dot graphs. Fixes #456573.
293 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
295 * gst/gststructure.c:
296 Allow '+' as well, it can be part of media or mime types
297 such as image/svg+xml.
299 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
301 * docs/gst/gstreamer-sections.txt:
302 * gst/gstbus.c:
303 * gst/gstbus.h:
304 API: add gst_bus_pop_filtered
305 API: add gst_bus_timed_pop_filtered
306 Two new functions for waiting for specific message types on the
307 bus for a specified amount of time without iterating any main
308 loops or main contexts.
310 * tests/check/gst/gstbus.c:
311 Some tests for the new functions.
313 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
315 * docs/libs/gstreamer-libs-sections.txt:
316 Make gtk-doc ignore stuff it should ignore.
318 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
320 * libs/gst/check/gstcheck.c:
321 * libs/gst/check/gstcheck.h:
322 Allow runtime selection of unit tests to run via the GST_CHECKS
323 environment variable (test case function names, comma-separated).
325 2007-10-16 Stefan Kost <ensonic@users.sf.net>
327 * gst/gststructure.c:
328 * tests/check/gst/gststructure.c:
329 Revert serialisation change and constrain structure-names after
330 consensus on irc. Update api documentation to reflect the change.
332 2007-10-16 Stefan Kost <ensonic@users.sf.net>
334 * gst/gststructure.c:
335 Improve serialization and fix tests.
337 * tests/check/gst/gststructure.c:
338 Add another test that covers why I actually did the previous structure
339 change.
341 2007-10-15 Wim Taymans <wim.taymans@gmail.com>
343 * tools/gst-inspect.c: (print_element_info):
344 Don't crash when inspecting an element.
346 2007-10-15 Tim-Philipp Müller <tim at centricular dot net>
348 * tests/check/gst/gststructure.c:
349 Add unit test for escaping of structure name when serialising
350 and deserialising to/from strings.
352 2007-10-15 Wim Taymans <wim.taymans@gmail.com>
354 * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
355 (gst_single_queue_new):
356 * plugins/elements/gstqueue.c: (gst_queue_init),
357 (gst_queue_push_one):
358 Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
359 upstream is tricked into thinking it can suggest a format downstream
360 while downstream does not support that format. The real problem is that
361 core calls acceptcaps when pushing a buffer with new caps, for which we
362 do a little workaround by setting the caps on the srcpad ourselves
363 before pushing the buffer (until this is figured out). Fixes #486758.
365 2007-10-15 Stefan Kost <ensonic@users.sf.net>
367 * gst/gststructure.c:
368 * gst/gstvalue.c:
369 Add some more comments and debug output. Quote structure name to fix
370 deserialisation of some strings.
372 2007-10-15 Stefan Kost <ensonic@users.sf.net>
374 * gst/gstbuffer.h:
375 Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
376 on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
378 2007-10-15 Stefan Kost <ensonic@users.sf.net>
380 * tools/gst-inspect.c:
381 Save approx. 400 1 byte allocs when printing. Use API to acces element
382 details.
384 * tools/gst-run.c:
385 Avoid a strdup.
387 * tools/gst-xmlinspect.c:
388 Use API to acces element details.
390 2007-10-15 Stefan Kost <ensonic@users.sf.net>
392 * gst/gstinfo.c:
393 Fix some spelling errors.
395 2007-10-14 Wim Taymans <wim.taymans@gmail.com>
397 * gst/gstbin.c: (bin_handle_async_done):
398 Correctly set the next state if all of our async children commited their
399 state. This makes sure we can actually cancel the state change in
400 progress. Fixes a regression in Rhythmbox when seeking.
402 2007-10-13 Tim-Philipp Müller <tim at centricular dot net>
404 * gst/gstbin.c:
405 Don't shadow local variable.
407 * gst/gstinfo.c:
408 Don't shadow global function name.
410 2007-10-13 Tim-Philipp Müller <tim at centricular dot net>
412 * gst/gstelementfactory.c:
413 * gst/gstpluginfeature.c:
414 * gst/gstpluginfeature.h:
415 * gst/gstregistrybinary.c:
416 * gst/gstregistryxml.c:
417 * gst/gsttypefind.c:
418 Use already-interned string for the private GstPluginFeature
419 plugin_name field.
421 2007-10-10 Tim-Philipp Müller <tim at centricular dot net>
423 * docs/libs/gstreamer-libs-sections.txt:
424 Add new API to docs; fixes the build.
426 2007-10-10 Wim Taymans <wim.taymans@gmail.com>
428 Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
430 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
431 (gst_base_sink_event):
432 * libs/gst/base/gstbasesink.h:
433 Add function to wait for EOS, subclasses can use this to correctly wait
434 for devices to drain before performing the EOS logic. Fixes #485343.
435 API: gst_base_sink_wait_eos()
437 2007-10-10 Tim-Philipp Müller <tim at centricular dot net>
439 * gst/gstplugin.h:
440 Cast description string constants in GST_PLUGIN_DEFINE macros
441 to a (gchar*) to make C++ code using these macros compile
442 without warning with g++-4.2 (see #462737). Even if slightly
443 ugly, this seems preferable to putting the description strings
444 into the GLib quark table or making the structure member a
445 const gchar * and doing casts in core code that allocs and
446 frees these strings, or requiring a cast in the C++ code.
448 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
450 * gst/gstinfo.h:
451 Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
452 to print the entire class/function signature into the log
453 file for C++ code. This only affects C++ code, for C code
454 everything remains the same.
456 2007-10-09 Wim Taymans <wim.taymans@gmail.com>
458 * gst/gstbin.c: (remove_from_queue):
459 Work around a problem with pipelines containing (semi)loops until a
460 proper, more complicated solution is ready. See #475455.
462 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
464 * gst/gstplugin.c:
465 * gst/gstplugin.h:
466 * gst/gstregistrybinary.c:
467 * gst/gstregistryxml.c:
468 Put more strings into the GLib quark table. No need to keep
469 a hundred-something copies of identical version strings,
470 license strings, package name strings and package origin
471 strings around.
473 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
475 * docs/manual/advanced-dataaccess.xml:
476 Don't imply that it's okay to unconditionally change
477 buffer data or buffer metadata in a pad probe callback,
478 and a bunch of other comments. Fixes #430031.
480 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
482 * win32/common/gstenumtypes.c:
483 * win32/common/gstenumtypes.h:
484 * win32/common/gstversion.h:
485 Update generated files.
487 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
489 * docs/manual/advanced-autoplugging.xml:
490 Prefix section with broken code with a warning (see #342432).
492 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
494 * docs/manual/appendix-integration.xml:
495 * docs/manual/basics-init.xml:
496 Call g_thread_init() before g_option_context_new() to
497 avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
499 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
501 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
502 (gst_base_sink_queue_object_unlocked),
503 (gst_base_sink_queue_object), (gst_base_sink_event),
504 (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
505 When we received EOS and are waiting for when to post the EOS message,
506 our state is prerolled and we should not return ASYNC.
507 Reorganize some code paths to implement this behavior.
509 * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
510 (gst_sinks_suite):
511 Add unit test to verify above EOS fix.
513 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
515 * plugins/elements/gsttypefindelement.c:
516 (gst_type_find_element_have_type), (gst_type_find_element_init),
517 (gst_type_find_element_setcaps), (gst_type_find_element_chain):
518 Move detecting the input caps of the sinkpad to the setcaps function.
519 This allows us to update the output caps when we receive new input caps
520 instead of always using the first detected caps.
522 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
524 * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
525 (gst_base_sink_get_position):
526 Don't try to preroll non-async elements after a flush.
527 Subtract latency form clock times when reporting position.
529 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
531 * gst/gstpad.c: (gst_pad_pause_task):
532 * gst/gstutils.c:
533 Small comment and documentation update.
535 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
537 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
538 (gst_base_src_set_live), (gst_base_src_is_live),
539 (gst_base_src_query_latency), (gst_base_src_perform_seek),
540 (gst_base_src_default_event), (gst_base_src_wait),
541 (gst_base_src_do_sync), (gst_base_src_get_range),
542 (gst_base_src_pad_get_range), (gst_base_src_loop),
543 (gst_base_src_unlock), (gst_base_src_unlock_stop),
544 (gst_base_src_set_flushing), (gst_base_src_set_playing),
545 (gst_base_src_activate_push), (gst_base_src_activate_pull),
546 (gst_base_src_change_state):
547 Rework the locking of basesrc in a similar fashion to basesink. We
548 basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
549 us to handle live sources and semi live ones much better.
550 Simplify flushing.
551 Fix unlocking when seeking, shutting down and pausing in live sources.
553 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
555 * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
556 Fix compilation again.
558 2007-10-03 Stefan Kost <ensonic@users.sf.net>
560 * gst/gstelement.c:
561 Use meaningful categories for the logs to clean the default one.
563 2007-10-03 Stefan Kost <ensonic@users.sf.net>
565 * tests/check/pipelines/cleanup.c:
566 Print message name and not just number.
568 2007-10-03 Stefan Kost <ensonic@users.sf.net>
570 * docs/design/draft-tagreading.txt:
571 Add some more thoughts.
573 2007-10-03 Stefan Kost <ensonic@users.sf.net>
575 * tests/check/pipelines/simple-launch-lines.c:
576 Print message name and not just number.
578 2007-10-03 Stefan Kost <ensonic@users.sf.net>
580 * libs/gst/base/gsttypefindhelper.c:
581 Speedup typefinding. This is work in progress (see #459862).
583 2007-10-03 Stefan Kost <ensonic@users.sf.net>
585 * gst/gstplugin.c:
586 Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
587 Spotted by Josep Torra Valles <josep@fluendo.com>.
589 2007-10-03 Tim-Philipp Müller <tim at centricular dot net>
591 * gst/gstclock.h:
592 Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
593 field has moved to GstObject.
595 2007-10-02 Wim Taymans <wim.taymans@gmail.com>
597 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
598 (gst_base_src_get_range), (gst_base_src_change_state):
599 Call unlock for live sources so that they can't get stuck in _create and
600 produce a buffer before they are set back to PLAYING.
602 2007-10-02 Edward Hervey <bilboed@bilboed.com>
604 * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
605 (gst_queue_locked_dequeue):
606 Comment the segment-related code... in the PROPER function.
607 See #482147 and my commit from yesterday.
609 2007-10-01 Wim Taymans <wim.taymans@gmail.com>
611 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
612 Also initialize the counter that calculates the first timestamp on a
613 buffer correctly for non-live sources.
615 2007-10-01 Edward Hervey <bilboed@bilboed.com>
617 * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
618 Disable code that's breaking the current-time-level reporting.
619 See #482147
621 2007-09-30 Sebastian Dröge <slomo@circular-chaos.org>
623 * docs/gst/gstreamer-sections.txt:
624 Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
625 as they shouldn't show up. Fixes the docs build.
627 2007-09-29 Sebastien Moutte <sebastien@moutte.net>
629 * gst/gstinfo.h:
630 Add an explicit variable importation needed on VS6 (only for MSC_VER)
631 Define M_PI which is used in files which are including gstinfo.h.
632 VS6 includes doesn't define it.
633 * win32/common/libgstbase.def:
634 * win32/common/libgstcontroller.def:
635 * win32/common/libgstreamer.def:
636 Add new exported functions and variables.
637 * win32/vs6/libgstcontroller.dsp:
638 * win32/vs6/libgstreamer.dsp:
639 Update the list of files to build.
641 2007-09-28 Wim Taymans <wim.taymans@gmail.com>
643 Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
645 * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
646 (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
647 (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
648 Improve debugging. Fixes #480858.
650 2007-09-28 Wim Taymans <wim.taymans@gmail.com>
652 Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
654 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
655 First patch of code cleanups, use the macros and right arguments in the
656 macros to signal and lock the queue. See #480858.
658 2007-09-26 Wim Taymans <wim.taymans@gmail.com>
660 * gst/gstbus.c: (poll_func):
661 Improve debugging when dealing with _poll().
663 2007-09-26 Tim-Philipp Müller <tim at centricular dot net>
665 * gst/gstregistryxml.c:
666 Fix memory leak I introduced a few days ago.
668 2007-09-26 Michael Smith <msmith@fluendo.com>
670 * gst/gstbuffer.c: (gst_buffer_finalize):
671 Make it once again possible to free GstBuffers in the default
672 build.
673 The poisoning scribbles on parts of the miniobject we need in
674 order to free it.
675 Fixes #480341
677 2007-09-25 Tim-Philipp Müller <tim at centricular dot net>
679 * docs/gst/gstreamer-sections.txt:
680 * gst/gsttaglist.c:
681 * gst/gsttaglist.h:
682 API: add GST_TAG_COMPOSER, fixes #459809.
684 2007-09-24 Sebastian Dröge <slomo@circular-chaos.org>
686 * gst/gstplugin.c:
687 * gst/gstplugin.h:
688 Add the 3-clause BSD license and the MIT/X11 license to the license
689 list. Fixes #479784.
691 2007-09-24 Tim-Philipp Müller <tim at centricular dot net>
693 * docs/faq/getting.xml:
694 Add Q+A about different GStreamer versions (#364056).
696 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
698 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
699 (gst_base_sink_event), (gst_base_sink_change_state):
700 Return correct gboolean from query function.
702 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
704 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
705 (gst_base_sink_event), (gst_base_sink_query),
706 (gst_base_sink_change_state):
707 Simplify latency query.
708 When not synchronizing, we can report latency without querying the peer
709 element.
711 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
713 * gst/gstobject.h:
714 * gst/gstvalue.c:
715 Fix small typos in the docs.
717 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
719 * docs/design/draft-latency.txt:
720 * docs/design/draft-push-pull.txt:
721 * docs/design/draft-tagreading.txt:
722 * docs/design/part-MT-refcounting.txt:
723 * docs/design/part-activation.txt:
724 * docs/design/part-block.txt:
725 * docs/design/part-element-source.txt:
726 * docs/design/part-events.txt:
727 * docs/design/part-gstbin.txt:
728 * docs/design/part-gstelement.txt:
729 * docs/design/part-gstobject.txt:
730 * docs/design/part-gstpipeline.txt:
731 * docs/design/part-messages.txt:
732 * docs/design/part-preroll.txt:
733 * docs/design/part-push-pull.txt:
734 * docs/design/part-qos.txt:
735 * docs/design/part-query.txt:
736 * docs/design/part-scheduling.txt:
737 * docs/design/part-seeking.txt:
738 * docs/design/part-segments.txt:
739 * docs/design/part-states.txt:
740 Documentation updates and typo fixes.
742 2007-09-23 Tim-Philipp Müller <tim at centricular dot net>
744 * plugins/elements/gstfakesink.c:
745 Add some debug text to error message to indicate that
746 we errored out on request.
748 * tools/gst-launch.c:
749 When the state change to PLAYING fails, check for an
750 error message on the bus and print it.
752 2007-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
754 translated by: Jorge González González <aloriel@gmail.com>
756 * po/LINGUAS:
757 * po/es.po:
758 Added Spanish translation.
760 2007-09-21 Wim Taymans <wim.taymans@gmail.com>
762 * plugins/elements/gstqueue.c: (gst_queue_push_one):
763 Fix printf arguments.
765 2007-09-20 Stefan Kost <ensonic@users.sf.net>
767 * tests/check/generic/states.c:
768 Improved state change unit test.
770 2007-09-20 Stefan Kost <ensonic@users.sf.net>
772 * gst/gstbin.h:
773 Move priv to the right place.
775 * gst/gstsystemclock.c:
776 Add FIXME: and improve log.
778 * tests/check/Makefile.am:
779 * tests/examples/manual/Makefile.am:
780 Work with all types of registries.
782 2007-09-19 Wim Taymans <wim.taymans@gmail.com>
784 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
785 Don't unref the event after pushing it. Fixes #478401.
787 2007-09-19 Stefan Kost <ensonic@users.sf.net>
789 * .cvsignore:
790 * tests/examples/manual/.cvsignore:
791 Ignore registries in any format.
793 2007-09-19 Tim-Philipp Müller <tim at centricular dot net>
795 * gst/glib-compat-private.h:
796 Add compatibility macro for g_intern_string() for
797 GLib-2.8 (any reason we can't just bump the
798 requirement to at least 2.10?)
800 * gst/gstpadtemplate.h:
801 * gst/gstelementfactory.c:
802 * gst/gstregistryxml.c:
803 * gst/gstregistrybinary.c:
804 Make GstStaticPadTemplate's templ_name field a const gchar * and fix
805 up the internal code accordingly. This shouldn't be a problem, since
806 there is no reason external code could ever assume the string in such
807 a structure is dynamically allocated unless it did that itself; the
808 use of g_strdup() is private to element factories. The new code also
809 saves some memory by putting pad template name strings into the GLib
810 quark table instead of allocating them dynamically.
811 Declaring this field constant fixes warnings with g++-4.2 when using
812 the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
814 2007-09-19 Stefan Kost <ensonic@users.sf.net>
816 * gst/gstelementfactory.c:
817 Release static caps. Fixes #475723.
819 2007-09-18 Tim-Philipp Müller <tim at centricular dot net>
821 * gst/gstinfo.c:
822 * gst/gstinfo.h:
823 Make some internal API take const gchar * instead of just
824 gchar * to avoid compiler warnings with g++-4.2.2 when
825 passing string constants (partially fixes #478092).
827 2007-09-17 Wim Taymans <wim.taymans@gmail.com>
829 * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
830 A latency query fails when one of the sinks fail.
832 * gst/gstelement.c: (gst_element_set_base_time):
833 Improve debugging.
835 2007-09-17 Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
837 * gst/gstbin.c: (gst_bin_continue_func):
838 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
839 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
840 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
842 Fix minor compilation warnings shown with Forte.
844 2007-09-17 Wim Taymans <wim.taymans@gmail.com>
846 * plugins/elements/gstqueue.c: (apply_buffer),
847 (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
848 Measure queue level based on the diff between head and tail timestamps
849 even when pushing the first buffer.
851 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
853 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
854 (gst_base_sink_event), (gst_base_sink_change_state):
855 Sinks that don't preroll can always be queried for the latency.
856 Don't post ASYNC start when we are not async.
858 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
860 * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
861 (gst_queue_handle_sink_event), (gst_queue_chain),
862 (gst_queue_push_one), (gst_queue_handle_src_query),
863 (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
864 * plugins/elements/gstqueue.h:
865 When downstream returns UNEXPECTED from pushing a buffer, don't try to
866 push more buffers but allow pushing of EOS and NEWSEGMENT.
867 Add some more debug info here and there. Fixes #476514.
869 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
871 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
872 (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
873 (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
874 (gst_base_sink_set_flushing), (gst_base_sink_query),
875 (gst_base_sink_change_state):
876 Latency query is allowed after we are prerolled. Introduce a new flag
877 for this and stop abusing other variables.
879 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
881 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
882 Push OOB events downstream when we get them in send_event. This allows
883 the application to insert events in the pipeline.
884 Add some more comments.
886 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
888 * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
889 (do_bin_latency), (gst_bin_change_state_func):
890 * gst/gstpipeline.c: (gst_pipeline_change_state):
891 Move latency query from GstPipeline to GstBin so that we can also
892 use it when async-handling is enabled on bins.
894 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
896 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
897 (gst_base_src_do_sync), (gst_base_src_change_state):
898 Update docs.
899 Clean up the timestamping and syncing code for pseudo live sources.
901 2007-09-13 Tim-Philipp Müller <tim at centricular dot net>
903 Patch by: Steve Fink <sphink gmail com>
905 * docs/manual/appendix-checklist.xml:
906 Mention less -R switch in the section about debug output (#474055).
908 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
910 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
911 Queue can latency to the pipeline up to the configured max size in time.
912 Report this fact in the latency query.
914 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
916 Patch by: Sebastien Moutte <sebastien at moutte dot net>
918 * libs/gst/controller/gstinterpolation.c:
919 * libs/gst/controller/gstlfocontrolsource.c:
920 Use gst_guint64_to_gdouble() when converting from a uint64 or
921 GstClockTime to double to fix the build on win32. Fixes #474371.
923 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
925 * gst/gstbuffer.c: (gst_buffer_finalize):
926 Implement poisoning for GstBuffer if --enable-poisoning is specified.
927 When finalizing a buffer the complete struct is filled with 0xff,
928 thus making a use of the buffer after the final unref impossible.
930 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
932 * tests/check/libs/controller.c: (GST_START_TEST):
933 Use fail_unless_equals_int(a, b) instead of
934 fail_unless_equals (a == b) to get better output on failures.
936 2007-09-12 Tim-Philipp Müller <tim at centricular dot net>
938 * tests/check/gst/gsturi.c:
939 Also check for the other file URI variant on win32.
941 2007-09-12 Tim-Philipp Müller <tim at centricular dot net>
943 * gst/gsturi.c: (gst_uri_get_location):
944 If there's no hostname, we want to return 'c:/foo/bar.txt'
945 and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
947 * tests/check/gst/gsturi.c:
948 Unit test for the above and a few more things.
950 2007-09-11 Wim Taymans <wim.taymans@gmail.com>
952 * docs/design/part-live-source.txt:
953 Add docs on how live sources should timestamp.
955 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
956 Add some more debug info.
957 For subclasses that are live and like to sync, add aditional startup
958 latency to sync time and timestamps so that we timstamp according to the
959 design doc.
961 2007-09-11 Tim-Philipp Müller <tim at centricular dot net>
963 * gst/gstbuffer.c:
964 Also do a g_type_class_ref() for the subbuffer type in
965 the init function.
967 2007-09-11 Wim Taymans <wim.taymans@gmail.com>
969 * docs/gst/gstreamer-sections.txt:
970 * gst/gstpad.c: (gst_pad_peer_query):
971 * gst/gstpad.h:
972 Add function to perform a query on the peer of a pad.
973 API: gst_pad_peer_query()
975 2007-09-11 Stefan Kost <ensonic@users.sf.net>
977 * tests/check/gst/gstsystemclock.c:
978 Cleanup the test a little (use gst-logging and not g_message). Improve
979 test to check if a wait reached the target.
981 2007-09-11 Tim-Philipp Müller <tim at centricular dot net>
983 * docs/libs/gstreamer-libs-sections.txt:
984 Add new API to docs and fix the build.
986 2007-09-10 Wim Taymans <wim.taymans@gmail.com>
988 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
989 (gst_base_src_init), (gst_base_src_set_do_timestamp),
990 (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
991 (gst_base_src_get_property), (gst_base_src_do_sync):
992 * libs/gst/base/gstbasesrc.h:
993 Add property to make the basesrc timestamp buffers based on the current
994 running time.
995 API: GstBaseSrc::do-timestamp
996 API: gst_base_src_set_do_timestamp()
997 API: gst_base_src_get_do_timestamp()
999 2007-09-08 Tim-Philipp Müller <tim at centricular dot net>
1001 * docs/random/release:
1002 Really make sure translations are up-to-date before
1003 a release (#465010).
1005 2007-09-07 Sebastian Dröge <slomo@circular-chaos.org>
1007 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1008 Always destroy the timer, also in error cases.
1010 2007-09-05 Wim Taymans <wim.taymans@gmail.com>
1012 * docs/manual/highlevel-xml.xml:
1013 Fix XML example code. Fixes #472714.
1015 2007-09-05 Wim Taymans <wim.taymans@gmail.com>
1017 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
1018 (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
1019 (gst_base_sink_query):
1020 Protect eos and have_preroll with the OBJECT lock so we don't need to
1021 take the PREROLL lock when querying the latency. Fixes #473846.
1023 2007-09-05 Stefan Kost <ensonic@users.sf.net>
1025 * gst/gstelement.c:
1026 Give some log-messages a category.
1028 2007-09-04 Wim Taymans <wim.taymans@gmail.com>
1030 * gst/gststructure.c:
1031 (gst_structure_fixate_field_nearest_fraction):
1032 Fix fraction list fixation code. Take the fraction with the smallest
1033 difference with the target instead of the first one in the list.
1035 * tests/check/gst/gststructure.c: (GST_START_TEST),
1036 (gst_structure_suite):
1037 Added test to verify correct fraction list fixation behaviour.
1039 2007-09-02 Tim-Philipp Müller <tim at centricular dot net>
1041 * win32/common/libgstreamer.def:
1042 Export gst_bus_add_signal_watch too.
1044 2007-08-30 Wim Taymans <wim.taymans@gmail.com>
1046 * docs/libs/gstreamer-libs-sections.txt:
1047 Add new methods to docs.
1049 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1050 (gst_base_sink_init), (gst_base_sink_set_ts_offset),
1051 (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
1052 (gst_base_sink_get_property), (gst_base_sink_wait_clock):
1053 * libs/gst/base/gstbasesink.h:
1054 Add ts-offset property to fine-tune the synchronisation.
1055 API: GstBaseSink::ts-offset property
1056 API: gst_base_sink_set_ts_offset()
1057 API: gst_base_sink_get_ts_offset()
1059 2007-08-29 Wim Taymans <wim.taymans@gmail.com>
1061 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1062 (gst_base_sink_init), (gst_base_sink_set_sync),
1063 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
1064 (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
1065 (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
1066 (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
1067 (gst_base_sink_get_property), (gst_base_sink_change_state):
1068 * libs/gst/base/gstbasesink.h:
1069 Add async property to instruct the sink never to inform the parent about
1070 ASYNC state changes, update docs.
1071 Check argument with g_return_* for the public functions.
1072 API: GstBaseSink::async property
1073 API: gst_base_sink_set_async_enabled()
1074 API: gst_base_sink_is_async_enabled()
1076 2007-08-28 Wim Taymans <wim.taymans@gmail.com>
1078 * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
1079 Improve debugging.
1081 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
1082 (gst_base_src_default_query), (gst_base_src_wait),
1083 (gst_base_src_do_sync), (gst_base_src_change_state):
1084 Rearrange some code so that we can add support for measuring the
1085 startup latency.
1087 2007-08-27 Stefan Kost <ensonic@users.sf.net>
1089 * docs/random/ensonic/dynlink.txt:
1090 More thoughs on this.
1092 * plugins/elements/gstcapsfilter.c:
1093 Add bugzilla ticket number to FIXME comment.
1095 2007-08-24 Wim Taymans <wim.taymans@gmail.com>
1097 * docs/design/part-TODO.txt:
1098 * docs/design/part-block.txt:
1099 Update some docs.
1101 2007-08-24 Jan Schmidt <thaytan@mad.scientist.com>
1103 * gst/Makefile.am:
1104 Revert patch which uses $(gst_headers) instead of $^ because it
1105 breaks make dist.
1107 2007-08-24 Jan Schmidt <thaytan@mad.scientist.com>
1109 * tests/check/gst/gstbin.c: (GST_START_TEST):
1110 Fix leaks in the new unit test.
1112 2007-08-23 Tim-Philipp Müller <tim at centricular dot net>
1114 * gst/gst.c:
1115 Don't use GST_INFO before the debug system is actually initialised
1116 (shouldn't do any harm, but won't print anything either, so we can
1117 just as well remove it).
1119 * gst/gstinfo.h:
1120 GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
1121 compilers that don't support variadic macros (such as MSVC), should
1122 check for debug_level <= __gst_debug_min as well, since that's the
1123 function called from all the level-specific GST_CAT_*_LOG_OBJECT()
1124 inline helper functions. Should improve performance a bit, but also
1125 makes sure uses of GST_INFO et.al are ignored if the debugging
1126 system isn't initialised yet (instead of printing an assertion
1127 failure).
1129 2007-08-23 Stefan Kost <ensonic@users.sf.net>
1131 patch by: David Nečas <yeti@physics.muni.cz>
1133 * gst/Makefile.am:
1134 Replace some non portable makefile constructs.
1136 2007-08-21 Stefan Kost <ensonic@users.sf.net>
1138 * common/gtk-doc-plugins.mak:
1139 Grrrrr. Don't remove the types file on make clean.
1141 2007-08-20 Wim Taymans <wim.taymans@gmail.com>
1143 * tools/gst-launch.1.in:
1144 Add colorspace to example pipeline. Fixes #458274.
1146 2007-08-20 Tim-Philipp Müller <tim at centricular dot net>
1148 * docs/random/release:
1149 The release manager should run 'make download-po' before making a
1150 release to make sure translations are up-to-date.
1152 * po/LINGUAS:
1153 * po/be.po:
1154 * po/pl.po:
1155 * po/rw.po:
1156 Add some new translations.
1158 2007-08-17 Wim Taymans <wim.taymans@gmail.com>
1160 * tools/gst-launch.c: (event_loop), (main):
1161 Don´t try to do any state management when a live pipeline posts
1162 buffering messages.
1163 Also make the buffering string translatable.
1165 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
1167 * gst/gstbin.c: (is_eos), (gst_bin_add_func),
1168 (bin_handle_async_start), (gst_bin_handle_message_func):
1169 Improve debugging.
1170 When adding elements, insert messages into the bus of the newly added
1171 element and make sure the element is the source of the message. This
1172 allows the parent bin to intercept the message and do the
1173 right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
1174 messages to the app (which is not allowed).
1175 Update some docs.
1177 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1178 Fix testsuite so that is does not work around messages that should not
1179 have been posted in the first place.
1181 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
1183 * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
1184 (update_degree), (gst_bin_sort_iterator_next):
1185 Fix annoying bug in the sorted iterator where a sink that is not really
1186 a sink (when it has downstream links) screwed up the iterator.
1188 * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1189 Unit test to verify the fix.
1191 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
1193 * gst/gstmessage.h:
1194 Add some more docs for the messages.
1196 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1197 (gst_base_sink_query):
1198 Add some more debugging.
1200 * tools/gst-launch.c: (event_loop):
1201 When interrupting, don't try to set pipeline to PAUSED twice.
1203 2007-08-14 Wim Taymans <wim.taymans@gmail.com>
1206 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
1207 (bin_handle_async_start), (gst_bin_handle_message_func):
1208 Move ASYNC_START message posting to where it belongs, similar to
1209 async_done.
1210 Don't post ASYNC_START when we are in error.
1211 Post ASYNC_START when we added an async element to a bin.
1213 2007-08-14 Julien MOUTTE <julien@moutte.net>
1215 * gst/gstindex.c: (gst_index_add_association): Fix index entry
1216 generation from vargs. Fixes #466595.
1218 2007-08-14 Wim Taymans <wim.taymans@gmail.com>
1220 * gst/gstbin.c: (gst_bin_element_set_state):
1221 Always change the state of a NO_PREROLL element even if it has ASYNC
1222 elements inside (in case of a bin).
1224 * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
1225 Unit test for this case.
1227 2007-08-13 Stefan Kost <ensonic@users.sf.net>
1229 * libs/gst/check/gstbufferstraw.c:
1230 * libs/gst/check/gstcheck.h:
1231 * libs/gst/controller/gstcontroller.c:
1232 * libs/gst/controller/gstcontrolsource.h:
1233 * libs/gst/controller/gstlfocontrolsource.h:
1234 * plugins/elements/gstcapsfilter.h:
1235 * plugins/elements/gstfdsink.h:
1236 * plugins/elements/gstfdsrc.h:
1237 Add more missing docs.
1239 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
1241 * gst/gststructure.c:
1242 Add Since tag to docs.
1244 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
1246 * docs/gst/gstreamer-sections.txt:
1247 * gst/gststructure.c: (gst_structure_get_uint):
1248 * gst/gststructure.h:
1249 Add function to get uint from a structure.
1250 API: gst_structure_get_uint()
1252 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
1254 * gst/gstcaps.c: (gst_caps_set_simple_valist),
1255 (gst_caps_intersect):
1256 Fix proper check for simple caps.
1258 2007-08-10 Stefan Kost <ensonic@users.sf.net>
1260 * docs/gst/Makefile.am:
1261 * docs/libs/Makefile.am:
1262 Remove cruft and do some cleanups.
1264 * docs/gst/gstreamer-docs.sgml:
1265 * docs/libs/gstreamer-libs-docs.sgml:
1266 Prepare for comming gtkdoc features (rebase against online docs).
1268 2007-08-10 Michael Smith <msmith@fluendo.com>
1270 * docs/gst/gstreamer-sections.txt:
1271 Add gst_registry_add_path to docs.
1273 2007-08-10 Michael Smith <msmith@fluendo.com>
1275 * gst/gstregistry.h:
1276 Add gst_registry_add_path, which was missing from this header.
1278 2007-08-10 Tim-Philipp Müller <tim at centricular dot net>
1280 * libs/gst/controller/gstlfocontrolsource.c:
1281 Printf format fix.
1283 2007-08-09 Philippe Kalaf <philippe.kalaf@collabora.co.uk>
1285 * libs/gst/base/gstbasesink.c:
1286 Don't send an async_start message during downwards state change if
1287 target state is less than READY
1289 2007-08-09 Thomas Vander Stichele <thomas at apestaart dot org>
1291 translated by: Gabor Kelemen <kelemeng@gnome.hu>
1293 * po/LINGUAS:
1294 * po/hu.po:
1295 Added Hungarian translation.
1297 2007-08-09 Thomas Vander Stichele <thomas at apestaart dot org>
1299 * po/fi.po:
1300 * po/it.po:
1301 * po/nl.po:
1302 * po/sv.po:
1303 * po/uk.po:
1304 Updated translations.
1306 2007-08-07 Jan Schmidt <thaytan@mad.scientist.com>
1308 * libs/gst/controller/Makefile.am:
1309 Dist gstlfocontrolsourceprivate.h
1311 2007-08-07 Jan Schmidt <thaytan@mad.scientist.com>
1313 * docs/libs/gstreamer-libs.types:
1314 Don't register the enum type gst_lfo_waveform_get_type() in the
1315 .types file - only GObject derived types belong.
1317 2007-08-07 Wim Taymans <wim.taymans@gmail.com>
1319 Patch by: <arenevier at fdn dot fr>
1321 * gst/gstbuffer.h:
1322 Remove comma from last element in enum to avoid compile errors when
1323 using -pendantic. Fixes #464366.
1325 2007-08-07 Wim Taymans <wim.taymans@gmail.com>
1327 * docs/design/part-TODO.txt:
1328 Add some more TODO items
1330 * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
1331 Improve debugging.
1333 * gst/gstcaps.c: (gst_caps_intersect):
1334 Optimize trivial intersection case between identical caps pointers.
1336 * gst/gstelement.c: (gst_element_continue_state),
1337 (gst_element_set_state_func):
1338 * gst/gstpad.c:
1339 Fix spelling and grammar mistakes.
1341 2007-08-05 Stefan Kost <ensonic@users.sf.net>
1343 * po/POTFILES.in:
1344 * po/POTFILES.skip:
1345 Update POTFILES. Fixes #461599.
1347 2007-08-03 Sebastian Dröge <slomo@circular-chaos.org>
1349 * gst/gst.c:
1350 Fix confusing typo in debug output.
1352 2007-08-03 Sebastian Dröge <slomo@circular-chaos.org>
1354 reviewed by: Stefan Kost <ensonic@users.sf.net>
1356 * libs/gst/controller/Makefile.am:
1357 * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
1358 (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
1359 (gst_lfo_control_source_new),
1360 (gst_lfo_control_source_set_waveform),
1361 (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
1362 (gst_lfo_control_source_finalize),
1363 (gst_lfo_control_source_dispose),
1364 (gst_lfo_control_source_set_property),
1365 (gst_lfo_control_source_get_property),
1366 (gst_lfo_control_source_class_init):
1367 * libs/gst/controller/gstlfocontrolsource.h:
1368 * libs/gst/controller/gstlfocontrolsourceprivate.h:
1369 API: Add GstLFOControlSource, a control source that gives values
1370 for specific timestamps based on several periodic waveforms.
1371 Fixes #459717.
1373 * tests/check/libs/controller.c: (GST_START_TEST),
1374 (gst_controller_suite):
1375 * docs/libs/gstreamer-libs-docs.sgml:
1376 * docs/libs/gstreamer-libs-sections.txt:
1377 * docs/libs/gstreamer-libs.types:
1378 Add documentation and unit tests for GstLFOControlSource.
1380 2007-08-03 Jan Schmidt <thaytan@mad.scientist.com>
1382 * configure.ac:
1383 Back to CVS
1385 === release 0.10.14 ===
1387 2007-08-03 Jan Schmidt <thaytan@mad.scientist.com>
1389 * configure.ac:
1390 releasing 0.10.14, "Breathing Vacuum"
1392 2007-08-02 Tim-Philipp Müller <tim at centricular dot net>
1394 * gst/gstelement.c: (gst_element_class_set_details_simple):
1395 * gst/gstelement.h:
1396 Make strings passed to gst_element_class_set_details_simple()
1397 constant, as they should be (#462752).
1399 2007-08-02 Wim Taymans <wim.taymans@gmail.com>
1401 * gst/gstbin.c: (gst_bin_change_state_func),
1402 (bin_handle_async_done), (gst_bin_handle_message_func):
1403 Don't forget about the fact that some element went ASYNC even after a
1404 resync. This makes us post the ASYNC_DONE message correctly.
1405 Fixes #462558.
1407 2007-07-31 Jan Schmidt <thaytan@mad.scientist.com>
1409 * gst/gstregistry.c: (gst_registry_add_feature):
1410 When replacing an existing feature in the registry, make sure to
1411 continue holding a reference until we've replaced the name string
1412 within our feature hash table. Make sure to use g_hash_table_replace
1413 instead of g_hash_table_insert to ensure the new name string is used
1414 as a key instead of the old one that we're about to free.
1415 Fixes: #462085
1417 2007-07-31 Jan Schmidt <thaytan@mad.scientist.com>
1419 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
1420 (gst_plugin_feature_set_name):
1421 Revert patch from #459466 until after the release and we can work
1422 out exactly what the problem is (if any).
1424 2007-07-26 Tim-Philipp Müller <tim at centricular dot net>
1426 * docs/gst/gstreamer-sections.txt:
1427 * gst/gsttaglist.c:
1428 * gst/gsttaglist.h:
1429 API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
1431 2007-07-26 Jan Schmidt <thaytan@mad.scientist.com>
1433 * docs/libs/Makefile.am:
1434 Include our build-prefix libs and includes before the generic ones to
1435 avoid linking against the installed libs when we want the build-tree
1436 ones.
1438 2007-07-26 Tim-Philipp Müller <tim at centricular dot net>
1440 Patch by: Steve Fink <sphink gmail com>
1442 * docs/pwg/building-testapp.xml:
1443 Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
1444 if people try to build or install the example from the plugin
1445 template against a GStreamer from package using the configure
1446 defaults.
1448 2007-07-25 Tim-Philipp Müller <tim at centricular dot net>
1450 Patch by: Steve Fink <sphink gmail com>
1452 * tools/gst-inspect.1.in:
1453 Document --print-all and --print-plugin-auto-install-info command
1454 line options in man page.
1456 2007-07-25 Wim Taymans <wim.taymans@gmail.com>
1458 * docs/gst/gstreamer-sections.txt:
1459 Add docs for new api function.
1461 2007-07-25 Wim Taymans <wim.taymans@gmail.com>
1463 * gst/gstelementfactory.c: (gst_element_factory_has_interface):
1464 * gst/gstelementfactory.h:
1465 API: gst_element_factory_has_interface()
1466 Added method to check if an element factory implements a named
1467 interface.
1469 2007-07-25 Stefan Kost <ensonic@users.sf.net>
1471 * configure.ac:
1472 * docs/gst/gstreamer.types.in:
1473 Another conditional doc check.
1475 * gst/gstmessage.c:
1476 * gst/gstparamspecs.h:
1477 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1478 * gst/gstvalue.c:
1479 * gst/gstxml.h:
1480 API-doc fixes.
1482 2007-07-24 Stefan Kost <ensonic@users.sf.net>
1484 * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
1485 (gst_registry_binary_load_feature),
1486 (gst_registry_binary_load_plugin),
1487 (gst_registry_binary_read_cache):
1488 Print error just once and with additional info.
1490 2007-07-24 Stefan Kost <ensonic@users.sf.net>
1492 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
1493 (helper_find_suggest), (helper_find_get_length),
1494 (gst_type_find_helper_get_range), (buf_helper_find_suggest),
1495 (gst_type_find_helper_for_buffer):
1496 Cleanup the typefindhelper code and add private doc comments.
1498 2007-07-24 Edward Hervey <bilboed@bilboed.com>
1500 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
1501 (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
1502 Fix capsfilter for cases where the caps set on capsfilter will provide
1503 additional information.
1504 Fixes #449197
1506 2007-07-24 Stefan Kost <ensonic@users.sf.net>
1508 * gst/gsttypefindfactory.c:
1509 Fix docs that recommened wrong function to use.
1511 2007-07-23 Stefan Kost <ensonic@users.sf.net>
1513 * tools/gst-inspect.c: (print_plugin_features):
1514 Also give media-type for typefinders in element output.
1516 2007-07-23 Stefan Kost <ensonic@users.sf.net>
1518 * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
1519 (gst_registry_remove_features_for_plugin_unlocked),
1520 (gst_registry_add_feature), (gst_registry_remove_feature),
1521 (gst_registry_lookup_feature_locked):
1522 * gst/gstregistry.h:
1523 Speed up gst_registry_lookup_feature_locked() by using a hashmap.
1524 Fixes #459501.
1526 2007-07-23 Stefan Kost <ensonic@users.sf.net>
1528 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
1529 (gst_plugin_feature_set_name):
1530 Avoid double memory usage for pluginfeature names. Fixes #459466.
1532 2007-07-22 Tim-Philipp Müller <tim at centricular dot net>
1534 * gst/gstpad.h:
1535 Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
1536 driving the pipeline may need to explicitly check for NOT_LINKED as
1537 well, since IS_FATAL doesn't cover that.
1539 2007-07-22 Tim-Philipp Müller <tim at centricular dot net>
1541 * docs/pwg/advanced-types.xml:
1542 Fix typo and duplicate entry in video formats list.
1544 2007-07-22 Sebastian Dröge <slomo@circular-chaos.org>
1546 * libs/gst/controller/gstinterpolation.c:
1547 Also round to the nearest int when using cubic interpolation.
1549 2007-07-19 Jan Schmidt <thaytan@noraisin.net>
1551 * libs/gst/controller/gstinterpolation.c:
1552 When linearly interpolating integer types, round to the nearest int
1553 by adding 0.5. Don't do it for float/double types.
1554 Fixes the failing controller test on my machine, which is somehow
1555 rounding differently than on the buildbots.
1557 2007-07-20 Stefan Kost <ensonic@users.sf.net>
1559 * tools/gst-plot-timeline.py:
1560 Better log parsing (categories can have -). Adjust text vs. lines, so
1561 that they span the same y-range.
1563 2007-07-20 Stefan Kost <ensonic@users.sf.net>
1565 * docs/random/ensonic/audiobaseclasses.txt:
1566 * docs/random/ensonic/dynlink.txt:
1567 * docs/random/ensonic/profiling.txt:
1568 Save my thoughts.
1570 * docs/random/moving-plugins:
1571 Add note to use g_assert type macros.
1573 2007-07-20 Stefan Kost <ensonic@users.sf.net>
1575 * configure.ac:
1576 * libs/gst/check/Makefile.am:
1577 Add libm check as we use in for plugins.
1579 2007-07-18 Jan Schmidt <thaytan@noraisin.net>
1581 * gst/gstbin.c: (gst_bin_continue_func):
1582 Check that the state_cookie hasn't changed since the continue_func
1583 was scheduled. Avoids problems where the state changes back to
1584 something it shouldn't be because it was changed in the meantime.
1586 2007-07-17 Stefan Kost <ensonic@users.sf.net>
1588 * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
1589 (gst_registry_binary_save_string),
1590 (gst_registry_binary_save_pad_template),
1591 (gst_registry_binary_save_feature),
1592 (gst_registry_binary_save_plugin),
1593 (gst_registry_binary_load_feature),
1594 (gst_registry_binary_load_plugin),
1595 (gst_registry_binary_read_cache):
1596 Fix memory leak. Be less verbose in the log.
1598 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
1600 * tests/check/elements/.cvsignore:
1601 Add file to cvsignore as commanded.
1603 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
1605 * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
1606 (mq_dummypad_event), (run_output_order_test):
1607 Use a GStaticMutex to protect all cases where libcheck
1608 fail_if/fail_unless macros might be called from multiple threads
1609 simultaneously to avoid errors like:
1610 "check_pack.c:107: :-1081725400:Bad message type arg"
1612 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
1614 * tests/check/pipelines/stress.c: (GST_START_TEST):
1615 Make sure we set the pipeline back to the NULL state before
1616 dropping our final reference.
1618 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
1620 * tests/check/elements/tee.c: (GST_START_TEST):
1621 Make the tee stress-test a little less stressful so it doesn't just
1622 time out on slow-machines, and remove a small race when it's starting
1623 up by adding a get_state() call.
1625 2007-07-16 Stefan Kost <ensonic@users.sf.net>
1627 * gst/gst.c:
1628 Avoid reading registry twice on startup. Fixes #457322.
1630 2007-07-13 Jan Schmidt <thaytan@mad.scientist.com>
1632 * pkgconfig/gstreamer-check-uninstalled.pc.in:
1633 * pkgconfig/gstreamer-check.pc.in:
1634 Substitute the CFLAGS for libcheck into our .pc file too so that
1635 dependent modules will pick it up properly if libcheck is installed
1636 into some other prefix.
1638 2007-07-13 Jan Schmidt <thaytan@mad.scientist.com>
1640 * configure.ac:
1641 Revert the pkg-config check for libcheck, since it pulls in the
1642 wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
1643 a proper solution, either from the check project, or something else.
1645 2007-07-12 Stefan Kost <ensonic@users.sf.net>
1647 * configure.ac:
1648 Use pkg-config to locate check.
1650 2007-07-10 Stefan Kost <ensonic@users.sf.net>
1652 * gst/gsttaglist.c:
1653 Fix doc syntax.
1655 * gst/gstutils.c:
1656 * gst/gstutils.h:
1657 Add deprecation guards.
1659 * libs/gst/base/gstcollectpads.h:
1660 Don't document object (this is implicitly private).
1662 2007-07-08 Tim-Philipp Müller <tim at centricular dot net>
1664 * gst/gststructure.c: (gst_structure_parse_value):
1665 When deserialising foo=bar without a type cast, check if it's a
1666 boolean before falling back to a string type, otherwise things like
1667 audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
1668 because the filtercaps end up having a signed=(string)true field,
1669 which causes problems later when intersection caps.
1671 * tests/check/gst/gststructure.c: (GST_START_TEST):
1672 Add a unit test for this.
1674 2007-07-06 Sebastian Dröge <slomo@circular-chaos.org>
1676 Reviewed by: Stefan Kost <ensonic@users.sf.net>
1678 * libs/gst/controller/Makefile.am:
1679 * libs/gst/controller/gstcontroller.c:
1680 (gst_controlled_property_add_interpolation_control_source),
1681 (gst_controlled_property_new), (gst_controlled_property_free),
1682 (gst_controller_find_controlled_property),
1683 (gst_controller_new_valist), (gst_controller_new_list),
1684 (gst_controller_new), (gst_controller_remove_properties_valist),
1685 (gst_controller_remove_properties_list),
1686 (gst_controller_remove_properties),
1687 (gst_controller_set_property_disabled),
1688 (gst_controller_set_disabled), (gst_controller_set_control_source),
1689 (gst_controller_get_control_source), (gst_controller_get),
1690 (gst_controller_sync_values), (gst_controller_get_value_array),
1691 (_gst_controller_dispose), (gst_controller_get_type),
1692 (gst_controlled_property_set_interpolation_mode),
1693 (gst_controller_set), (gst_controller_set_from_list),
1694 (gst_controller_unset), (gst_controller_unset_all),
1695 (gst_controller_get_all), (gst_controller_set_interpolation_mode):
1696 * libs/gst/controller/gstcontroller.h:
1697 * libs/gst/controller/gstcontrollerprivate.h:
1698 * libs/gst/controller/gstcontrolsource.c:
1699 (gst_control_source_class_init), (gst_control_source_init),
1700 (gst_control_source_get_value),
1701 (gst_control_source_get_value_array), (gst_control_source_bind):
1702 * libs/gst/controller/gstcontrolsource.h:
1703 * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
1704 (gst_object_get_control_source):
1705 * libs/gst/controller/gstinterpolation.c:
1706 (gst_interpolation_control_source_find_control_point_node),
1707 (gst_interpolation_control_source_get_first_value),
1708 (_interpolate_none_get), (interpolate_none_get),
1709 (interpolate_none_get_boolean_value_array),
1710 (interpolate_none_get_enum_value_array),
1711 (interpolate_none_get_string_value_array),
1712 (_interpolate_trigger_get), (interpolate_trigger_get),
1713 (interpolate_trigger_get_boolean_value_array),
1714 (interpolate_trigger_get_enum_value_array),
1715 (interpolate_trigger_get_string_value_array):
1716 * libs/gst/controller/gstinterpolationcontrolsource.c:
1717 (gst_control_point_free), (gst_interpolation_control_source_reset),
1718 (gst_interpolation_control_source_new),
1719 (gst_interpolation_control_source_set_interpolation_mode),
1720 (gst_interpolation_control_source_bind),
1721 (gst_control_point_compare), (gst_control_point_find),
1722 (gst_interpolation_control_source_set_internal),
1723 (gst_interpolation_control_source_set),
1724 (gst_interpolation_control_source_set_from_list),
1725 (gst_interpolation_control_source_unset),
1726 (gst_interpolation_control_source_unset_all),
1727 (gst_interpolation_control_source_get_all),
1728 (gst_interpolation_control_source_get_count),
1729 (gst_interpolation_control_source_init),
1730 (gst_interpolation_control_source_finalize),
1731 (gst_interpolation_control_source_dispose),
1732 (gst_interpolation_control_source_class_init):
1733 * libs/gst/controller/gstinterpolationcontrolsource.h:
1734 * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
1735 API: Refactor GstController into the core controller which can take
1736 a GstControlSource for providing actual values for timestamps.
1737 Implement a interpolation control source and use this for backward
1738 compatibility, deprecate a bunch of functions that are now handled
1739 by GstControlSource or GstInterpolationControlSource.
1740 Make it possible to disable the controller completely or only for
1741 specific properties. Fixes #450711.
1742 * docs/libs/gstreamer-libs-docs.sgml:
1743 * docs/libs/gstreamer-libs-sections.txt:
1744 * docs/libs/gstreamer-libs.types:
1745 Add new functions and classes to the docs.
1746 * tests/check/libs/controller.c: (GST_START_TEST),
1747 (gst_controller_suite):
1748 * tests/examples/controller/audio-example.c: (main):
1749 Port unit test and example to the new API and add some new
1750 unit tests.
1752 2007-07-05 Wim Taymans <wim.taymans@gmail.com>
1754 Patch by: Mark Nauwelaerts <manauw at skynet be>
1756 * plugins/elements/gstmultiqueue.c:
1757 (gst_multi_queue_get_internal_links), (apply_buffer),
1758 (single_queue_overrun_cb), (gst_single_queue_new):
1759 Implement non-default GstPadIntLinkFunction for multiqueue pads so that
1760 the pipeline layout can be tracked correctly. Fixes #453732.
1762 2007-07-05 Stefan Kost <ensonic@users.sf.net>
1764 * docs/gst/Makefile.am:
1765 * docs/libs/Makefile.am:
1766 * docs/plugins/Makefile.am:
1767 Simplify --extra-dir as gtkdoc scans recursively.
1769 2007-07-03 Wim Taymans <wim.taymans@gmail.com>
1771 * tools/gst-launch.c: (main):
1772 When we got an error, there is no point in waiting for preroll when
1773 shutting down.
1775 2007-07-03 Wim Taymans <wim.taymans@gmail.com>
1777 * plugins/elements/gsttee.c: (gst_tee_base_init),
1778 (gst_tee_request_new_pad), (gst_tee_release_pad),
1779 (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
1780 (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
1781 (gst_tee_chain):
1782 Be a lot smarter when deciding what srcpad to use for proxying
1783 the buffer_alloc. Also handle pad added/removed when doing so.
1784 Fixes #357959.
1785 Keep track of what pads we already pushed on in case we have pads
1786 added/removed while pushing. Fixes #374639
1788 * tests/check/Makefile.am:
1789 * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
1790 (tee_suite):
1791 Added unit test for pad resync.
1793 2007-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
1795 * po/nl.po:
1796 * po/sv.po:
1797 Updated translations.
1799 2007-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
1801 translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
1803 * po/LINGUAS:
1804 * po/fi.po:
1805 Added new Finnish translation.
1807 2007-06-28 Wim Taymans <wim@fluendo.com>
1809 * plugins/elements/gstmultiqueue.c: (apply_buffer),
1810 (single_queue_overrun_cb):
1811 When figuring out when a queue is filled, use our internal time estimate
1812 based on segments, just like check_full does.
1814 2007-06-27 Stefan Kost <ensonic@users.sf.net>
1816 * gst/gstminiobject.c: (gst_mini_object_get_type):
1817 Remove 3 do-nothing methods.
1819 2007-06-27 Wim Taymans <wim@fluendo.com>
1821 Patch by: Tim Angus <tim at ngus dot net>
1823 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
1824 (gst_capsfilter_set_property):
1825 Take a reference instead of a copy when setting "caps".
1826 Fix documentation to clarify this behaviour. Fixes #449414.
1828 2007-06-27 Stefan Kost <ensonic@users.sf.net>
1830 * gst/gstindexfactory.c: (gst_index_factory_get_type):
1831 * gst/gstplugin.c: (gst_plugin_init):
1832 * gst/gstpluginfeature.c: (gst_plugin_feature_init):
1833 * gst/gstquery.c: (gst_query_get_type):
1834 * gst/gstregistry.c: (gst_registry_init):
1835 * gst/gsturi.c: (gst_uri_handler_base_init):
1836 Remove empty instance_init() functions to save relocs and lessen the
1837 noise. Remove some of the function prototypes that are doubled by
1838 G_DEFINE_TYPE.
1840 2007-06-27 Wim Taymans <wim@fluendo.com>
1842 Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
1844 * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
1845 Add peer and direction in the XML serialisation of ghostpads.
1846 Fixes #449226.
1848 2007-06-26 Stefan Kost <ensonic@users.sf.net>
1850 * configure.ac:
1851 Preserve useful information, thanks Tim.
1853 2007-06-26 Jan Schmidt <thaytan@noraisin.net>
1855 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
1856 (gst_single_queue_flush), (apply_segment), (apply_buffer),
1857 (gst_single_queue_push_one), (gst_multi_queue_loop),
1858 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
1859 (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
1860 (compute_high_id), (gst_single_queue_new):
1861 * plugins/elements/gstmultiqueue.h:
1862 Take the multiqueue lock when updating the fill level so we don't get
1863 confused.
1865 After applying a buffer or event on the src pad segment, make sure to
1866 call gst_data_queue_limits_changed() to get the data queue to unblock
1867 and check the filled state again.
1869 Rework the not-linked pad handling so the logic is that not-linked
1870 pads can push as fast as they like, but only so they never get
1871 ahead of any linked pads.
1873 * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
1874 (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
1875 (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
1877 Add a test to check that not-linked pads always stay behind
1878 linked pads.
1880 Fixes: #430682
1882 2007-06-26 Jan Schmidt <thaytan@mad.scientist.com>
1884 * docs/random/release:
1885 Some updates to the release procedure.
1887 2007-06-26 Stefan Kost <ensonic@users.sf.net>
1889 * gst/gstelementfactory.c: (__gst_element_details_clear):
1890 Microoptimization that saves stunning 80 bytes.
1892 2007-06-25 Stefan Kost <ensonic@users.sf.net>
1894 * docs/plugins/gstreamer-plugins.args:
1895 * docs/plugins/inspect/plugin-coreelements.xml:
1896 * docs/plugins/inspect/plugin-coreindexers.xml:
1897 Update docs with caps info.
1899 2007-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
1901 * po/it.po:
1902 Updated Italian translation.
1904 2007-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
1906 * ChangeLog:
1907 * po/vi.po:
1908 Update Vietnamese translations.
1910 2007-06-21 Tim-Philipp Müller <tim at centricular dot net>
1912 * libs/gst/base/gstbasesink.c:
1913 Remove unused signal enum.
1915 2007-06-21 Jan Schmidt <thaytan@mad.scientist.com>
1917 * docs/gst/gstreamer-sections.txt:
1918 * gst/gstelement.c:
1919 * gst/gstutils.c: (gst_type_register_static_full):
1920 Beef up and include the docs for gst_type_register_static_full and
1921 gst_element_class_set_details_simple and add the API keyword
1922 in the ChangeLog.
1924 2007-06-21 Jan Schmidt <thaytan@mad.scientist.com>
1926 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
1927 (update_time_level), (gst_single_queue_push_one),
1928 (gst_multi_queue_chain), (gst_multi_queue_sink_event),
1929 (single_queue_overrun_cb), (single_queue_underrun_cb),
1930 (single_queue_check_full):
1931 Fix setting max-* properties after adding queues.
1932 Use IS_FILLED for checking visible items.
1933 Signal overrun if multiple queues overrun.
1934 Add extra debug output.
1935 Patch by: Wim Taymans <wim@fluendo.com>
1937 2007-06-21 Stefan Kost <ensonic@users.sf.net>
1939 * gst/gstelement.c: (gst_element_class_set_details_simple):
1940 * gst/gstelement.h:
1941 * gst/gstutils.c: (gst_type_register_static_full):
1942 * gst/gstutils.h:
1943 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
1944 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
1945 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
1946 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
1947 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
1948 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
1949 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
1950 * plugins/elements/gstidentity.c: (gst_identity_base_init):
1951 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
1952 * plugins/elements/gstqueue.c: (gst_queue_base_init),
1953 (apply_buffer), (gst_queue_chain):
1954 * plugins/elements/gsttee.c: (gst_tee_base_init):
1955 * plugins/elements/gsttypefindelement.c:
1956 (gst_type_find_element_base_init),
1957 (gst_type_find_element_class_init):
1958 Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
1959 API: add gst_type_register_static_full
1960 API: add gst_element_class_set_details_simple
1962 2007-06-21 Tim-Philipp Müller <tim at centricular dot net>
1964 * docs/pwg/advanced-types.xml:
1965 Fix typo in iana.org URI.
1967 2007-06-19 Andy Wingo <wingo@pobox.com>
1969 * tests/check/pipelines/simple-launch-lines.c
1970 (test_state_change_returns): Enable pull-mode tests now that
1971 basesink has been fixed.
1973 * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
1974 Changed from gst_base_sink_is_prerolled, reversing the sense of
1975 the return value. Returns FALSE also if the sink is in pull mode,
1976 in which case it needs no preroll.
1977 (gst_base_sink_query, gst_base_sink_change_state): Update for
1978 needs_preroll change.
1979 (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
1980 chaining up, in which we return SUCCESS directly if we activated
1981 in pull mode instead of ASYNC. Involves countering an async_start
1982 message sent before chaining up; not sure if this is correct, in
1983 an ideal world we only send async-start when activating in push
1984 mode.
1986 * tests/check/pipelines/simple-launch-lines.c
1987 (test_state_change_returns): New test, partially disabled until
1988 basesink is fixed.
1990 2007-06-19 Wim Taymans <wim@fluendo.com>
1992 * plugins/elements/gstmultiqueue.c: (apply_buffer),
1993 (gst_multi_queue_sink_event):
1994 Fix event leak.
1996 2007-06-19 Wim Taymans <wim@fluendo.com>
1998 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1999 (gst_bin_change_state_func), (bin_push_state_continue),
2000 (bin_handle_async_start), (bin_handle_async_done),
2001 (gst_bin_handle_message_func):
2002 Move the common code for posting state-change messages into
2003 one function.
2004 Broadcast the state signal after we posted the messages.
2005 Mark the bin as busy when it's doing a state-change.
2006 Make sure async-start/done messages don't interfere with the bin's
2007 state when it's busy.
2008 After the state change, let the bin check which elements completed the
2009 state change while it was busy so that it can update its state.
2011 2007-06-19 Jan Schmidt <thaytan@mad.scientist.com>
2013 * docs/random/release:
2014 Add a note about updating the doap file to the release checklist
2016 2007-06-18 Wim Taymans <wim@fluendo.com>
2018 * plugins/elements/gstmultiqueue.c: (apply_buffer),
2019 (gst_single_queue_push_one), (gst_multi_queue_chain),
2020 (gst_multi_queue_sink_event):
2021 Make sure we don't reference the buffer/event after we have given away
2022 ownership in the queue.
2024 2007-06-18 Wim Taymans <wim@fluendo.com>
2026 * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
2027 (gst_multi_queue_chain), (gst_multi_queue_sink_event):
2028 Update queue state _after_ adding the item in the queue because else we
2029 could end up being full without the element added yet.
2031 2007-06-18 Wim Taymans <wim@fluendo.com>
2033 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
2034 (gst_bin_remove_func), (gst_bin_get_state_func),
2035 (gst_bin_element_set_state), (gst_bin_continue_func),
2036 (bin_push_state_continue), (bin_handle_async_start),
2037 (bin_handle_async_done), (gst_bin_handle_message_func):
2038 * gst/gstbin.h:
2039 Immediatly commit the toplevel bin state when receiving an async-done
2040 message. This enables us to avoid spawning a thread to commit the state
2041 in some common cases and it also avoids some races.
2042 Avoid spawning a state thread when adding/removing async elements to a
2043 toplevel bin. Instead we immediatly update the bin state.
2044 Get rid of iterating all the children when getting the state in the bin
2045 because it is now always up-to-date.
2046 Fix bug where locked elements would always return _SUCCESS even it they
2047 returned NO_PREROLL before being locked.
2048 Fix the order of the state_change, async-start/done messages that was
2049 sometimes incorrect.
2050 Mark the state_dirty field as deprecated, we don't need it anymore as we
2051 are always up-to-date.
2053 * gst/gstelement.c: (gst_element_get_state_func),
2054 (gst_element_continue_state):
2055 Small debug inprovements.
2056 Return the previous element state return when nothing is pending instead
2057 of blindly returning SUCCESS.
2059 * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
2060 (gst_sinks_suite):
2061 Add a whole bunch of new testcases.
2063 2007-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
2065 * po/uk.po:
2066 * po/vi.po:
2067 Update translations.
2069 2007-06-15 Jan Schmidt <thaytan@mad.scientist.com>
2071 * gst/gstpad.c:
2072 Fix typo in the docs.
2074 2007-06-15 Wim Taymans <wim@fluendo.com>
2076 * docs/libs/gstreamer-libs-sections.txt:
2077 Add docs for new methods.
2079 2007-06-15 Wim Taymans <wim@fluendo.com>
2081 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
2082 (gst_multi_queue_item_new):
2083 Don't use GSlice because we don't depend on >= 2.10 yet.
2085 2007-06-15 Wim Taymans <wim@fluendo.com>
2087 * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
2088 (update_time_level), (apply_segment), (apply_buffer),
2089 (gst_single_queue_push_one), (gst_multi_queue_item_new),
2090 (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
2091 (gst_multi_queue_sink_event), (single_queue_overrun_cb),
2092 (single_queue_underrun_cb), (single_queue_check_full):
2093 Remove debug printf.
2095 2007-06-15 Wim Taymans <wim@fluendo.com>
2097 * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
2098 (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
2099 (gst_data_queue_set_flushing), (gst_data_queue_push),
2100 (gst_data_queue_pop), (gst_data_queue_drop_head),
2101 (gst_data_queue_limits_changed), (gst_data_queue_get_level):
2102 * libs/gst/base/gstdataqueue.h:
2103 Various cleanups.
2104 Added methods to get the current levels and to inform the queue that the
2105 'full' limits changed.
2107 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
2108 (gst_multi_queue_finalize), (gst_multi_queue_set_property),
2109 (gst_single_queue_flush), (update_time_level), (apply_segment),
2110 (apply_buffer), (gst_single_queue_push_one),
2111 (gst_multi_queue_item_steal_object),
2112 (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
2113 (gst_multi_queue_loop), (gst_multi_queue_chain),
2114 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
2115 (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
2116 (gst_multi_queue_src_query), (single_queue_overrun_cb),
2117 (single_queue_underrun_cb), (single_queue_check_full),
2118 (gst_single_queue_new):
2119 Keep track of time in the queue by measuring the difference between
2120 running_time on input and output. This gives more accurate results and
2121 can compensate for segments correctly.
2122 Make a queue by default only 5 buffers deep. We will now increase the
2123 buffer size depending on the filledness of the other queues.
2124 Factor out commong flush code.
2125 Make sure we don't add additional refcounts to buffers when we can avoid
2126 it.
2127 Propagate GstFlowReturn differently.
2128 Use GSlice for intermediate GstMultiQueueItems.
2129 Keep track of EOS.
2130 Resize queues on over and underruns based on filled level of other
2131 queues.
2132 When checking if the queue is filled, prefer to measure in time if we
2133 can and fall back to bytes when no time is known.
2135 * plugins/elements/gstqueue.c:
2136 Fix return value.
2138 2007-06-15 Wim Taymans <wim@fluendo.com>
2140 * libs/gst/base/gstbasetransform.c:
2141 (gst_base_transform_sink_event):
2142 Work around the brokenness of the event vmethod in basetransform. Prefer
2143 to return TRUE when the subclass returned FALSE (meaning don't forward
2144 the event).
2146 * libs/gst/base/gstbasetransform.h:
2147 Clarify the docs.
2149 2007-06-15 Wim Taymans <wim@fluendo.com>
2151 * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
2152 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
2153 (gst_base_src_default_query), (gst_base_src_get_range),
2154 (gst_base_src_start):
2155 * tests/check/pipelines/parse-launch.c: (setup_pipeline):
2156 Improve debugging.
2158 2007-06-15 Stefan Kost <ensonic@users.sf.net>
2160 * docs/pwg/advanced-types.xml:
2161 Added more formats to caps table.
2163 2007-06-15 Stefan Kost <ensonic@users.sf.net>
2165 * tools/gst-launch.c: (main):
2166 Remove crufy code. GOption does not need this workaround.
2168 2007-06-14 Stefan Kost <ensonic@users.sf.net>
2170 * libs/gst/controller/gstcontroller.c:
2171 (gst_controlled_property_set_interpolation_mode):
2172 Fix wrong getter for enums in controller.
2174 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
2176 * libs/gst/check/gstcheck.c: (gst_check_init):
2177 Intercept criticals and warnings in the Gst-Phonon log domain, so
2178 ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
2179 well.
2181 2007-06-14 Edward Hervey <edward@fluendo.com>
2183 * gst/gstparamspecs.c: (_gst_param_fraction_validate):
2184 Since this file doesn't include "gst.h" it will not go through the
2185 macros that disable GST_LOG if debugging was disabled.
2187 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
2189 * libs/gst/check/Makefile.am:
2190 * libs/gst/check/gstcheck.h:
2191 * pkgconfig/gstreamer-check-uninstalled.pc.in:
2192 * pkgconfig/gstreamer-check.pc.in:
2193 Ugly 'fix' for the controller unit test on the p5 bot: in
2194 fail_unless_equals_float() check whether the values are 'almost
2195 equal' by allowing a small absolute error, which should be good
2196 enough for our use cases (normal numbers and values close to 0).
2197 Proper fixage left to floating point arithmetic aficionados.
2199 2007-06-14 Stefan Kost <ensonic@users.sf.net>
2201 * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
2202 (gst_base_sink_render_object), (gst_base_sink_get_position):
2203 Add two breaks thats where missing.
2205 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
2207 * docs/libs/gstreamer-libs-sections.txt:
2208 * libs/gst/check/gstcheck.h:
2209 API: add fail_unless_equals_float() and assert_equals_float().
2210 Add documentation for some of the macros.
2212 * tests/check/libs/controller.c: (GST_START_TEST):
2213 Use newly-added asserts.
2215 2007-06-14 Stefan Kost <ensonic@users.sf.net>
2217 * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
2218 Show the caps change in the log to help spotting the case of not
2219 exactly matching caps.
2221 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
2223 * docs/pwg/building-boiler.xml:
2224 Fix typos, spotted by Thijs Vermeir (#447190).
2226 2007-06-13 Jan Schmidt <thaytan@mad.scientist.com>
2228 * docs/plugins/tmpl/.cvsignore:
2229 Ignore file to keep the buildbots happy
2231 2007-06-13 Jan Schmidt <thaytan@mad.scientist.com>
2233 * docs/plugins/Makefile.am:
2234 * docs/plugins/gstreamer-plugins-docs.sgml:
2235 * docs/plugins/gstreamer-plugins-sections.txt:
2236 Pull fdsink into the docs too.
2238 2007-06-11 Sebastian Dröge <slomo@circular-chaos.org>
2240 * libs/gst/controller/gstinterpolation.c:
2241 Actually use the new functions with min/max checks for the trigger and
2242 none interpolation modes for get() and get_value_array() instead of
2243 just the latter.
2245 2007-06-10 Sebastian Dröge <slomo@circular-chaos.org>
2247 * libs/gst/controller/gstcontroller.c:
2248 (gst_controlled_property_free):
2249 Unset the minimum and maximum GValues when freeing the corresponding
2250 GstControllerProperty struct.
2252 2007-06-09 Sebastian Dröge <slomo@circular-chaos.org>
2254 * libs/gst/controller/gstcontroller.c:
2255 (gst_controlled_property_new):
2256 * libs/gst/controller/gstcontrollerprivate.h:
2257 * libs/gst/controller/gstinterpolation.c:
2258 (gst_controlled_property_find_control_point_node),
2259 (interpolate_none_get), (interpolate_none_get_enum_value_array),
2260 (interpolate_none_get_string_value_array),
2261 (interpolate_trigger_get),
2262 (interpolate_trigger_get_enum_value_array),
2263 (interpolate_trigger_get_string_value_array):
2264 Protect against values larger or smaller than the minimum or maximum
2265 allowed value for the property when using values that can be compared.
2267 Optimize trigger interpolator a bit by taking the last requested value
2268 into account instead of always looping through the complete list.
2270 Fix coding style a bit, everywhere else we use "return foo" instead
2271 of "return (foo)".
2273 * tests/check/libs/controller.c: (GST_START_TEST),
2274 (gst_controller_suite):
2275 Add unit test for the protection against too large or too small
2276 values.
2278 2007-06-08 Sebastian Dröge <slomo@circular-chaos.org>
2280 * docs/random/slomo/controller.txt:
2281 Add some thoughts about the future of the controller.
2283 2007-06-08 Wim Taymans <wim@fluendo.com>
2285 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
2286 Don't overflow in retimestamping code.
2288 2007-06-07 Sebastien Moutte <sebastien@moutte.net>
2290 * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
2291 Use gst_util_guint64_to_gdouble for conversions.
2292 * win32/common/libgstreamer.def:
2293 Add new exported functions.
2295 2007-06-07 Tim-Philipp Müller <tim at centricular dot net>
2297 * gst/gstutils.c:
2298 Small docs addition.
2300 2007-06-07 Stefan Kost <ensonic@users.sf.net>
2302 * README:
2303 Remove that test line again.
2305 2007-06-07 Stefan Kost <ensonic@users.sf.net>
2307 * README:
2308 Test commit mail sending.
2310 2007-06-07 Stefan Kost <ensonic@users.sf.net>
2312 * configure.ac:
2313 Fix typo and test commit mail sending.
2315 2007-06-07 Stefan Kost <ensonic@users.sf.net>
2317 * tests/examples/controller/audio-example.c:
2318 Improve comment and test commit mail sending.
2320 2007-06-07 Wim Taymans <wim@fluendo.com>
2322 * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
2323 (gst_bin_remove_func), (gst_bin_element_set_state),
2324 (bin_handle_async_start), (bin_handle_async_done),
2325 (gst_bin_handle_message_func):
2326 Add helper function to find messages.
2327 Generate the async-done messages together with the state change
2328 messages.
2329 Small cleanups in handling toplevel bins.
2331 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
2333 * libs/gst/base/gstdataqueue.c:
2334 * libs/gst/base/gstdataqueue.h:
2335 * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
2336 (gst_multi_queue_item_new), (gst_multi_queue_chain),
2337 (gst_multi_queue_sink_event):
2338 * tests/check/elements/multiqueue.c: (multiqueue_suite):
2339 Fix multiqueue leaking buffers and events when downstream or the
2340 queue are flushing. Make refcounting assumptions explicit and
2341 document them (shouldn't break existing code that uses it other than
2342 maybe leak miniobjects, but that already happens anyway). Add unit
2343 test for the most common flushing case. Fixes #423700.
2345 2007-06-06 Sebastian Dröge <slomo@circular-chaos.org>
2347 * libs/gst/controller/gstcontroller.c:
2348 Clarify docs: The get_all, get_value_array(s) functions
2349 don't modify the GObject properties.
2351 2007-06-06 Sebastian Dröge <slomo@circular-chaos.org>
2353 * libs/gst/controller/gstcontroller.c:
2354 (gst_controlled_property_set_interpolation_mode),
2355 (gst_controlled_property_prepend_default),
2356 (gst_controlled_property_new), (gst_controller_set_unlocked),
2357 (gst_controller_set), (gst_controller_set_from_list),
2358 (gst_controller_unset), (gst_controller_unset_all):
2359 * libs/gst/controller/gstcontrollerprivate.h:
2360 * libs/gst/controller/gstinterpolation.c:
2361 Factor out the 'set' logic into gst_controller_set_unlocked for the
2362 gst_controller_set and gst_controller_set_from_list functions.
2364 To make life of the interpolators easier always add a control point
2365 at timestamp zero with the default value.
2367 In the linear interpolator make things more obvious by better variable
2368 naming (slope).
2370 Implement cubic interpolation mode (by using a natural cubic spline)
2371 and map the quadratic interpolation mode to this too (as quadratic
2372 doesn't make much sense, see discussion on the list).
2374 * tests/check/libs/controller.c: (GST_START_TEST),
2375 (gst_controller_suite):
2376 Add unit test for the cubic interpolation mode and check everywhere
2377 if the interpolation mode could be set as expected.
2379 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
2381 * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
2382 Don't use GLib-2.10 functions, we still depend on
2383 GLib-how-old-is-it-again-2.8.
2385 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
2387 * docs/gst/gstreamer-sections.txt:
2388 * gst/Makefile.am:
2389 * gst/gst.c:
2390 * gst/gst.h:
2391 * gst/gstparamspecs.c: (_gst_param_fraction_init),
2392 (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
2393 (_gst_param_fraction_values_cmp),
2394 (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
2395 * gst/gstparamspecs.h:
2396 * gst/gstvalue.c:
2397 * tests/check/Makefile.am:
2398 * tests/check/gst/.cvsignore:
2399 * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
2400 (gst_dummy_obj_class_init), (gst_dummy_obj_init),
2401 (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
2402 (GST_START_TEST), (gst_param_spec_suite):
2403 API: add GstParamSpecFraction, so elements can have fraction
2404 properties without lots of painful string parsing (#444648).
2406 2007-06-05 Wim Taymans <wim@fluendo.com>
2408 * gst/gstobject.c: (gst_object_class_init):
2409 Fix signal signature.
2411 * gst/gstsegment.c:
2412 Add small clarification in the api docs.
2414 * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
2415 States are protected with object lock.
2417 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
2419 * AUTHORS:
2420 I should probably be listed as an author by now.
2422 * docs/random/release:
2423 Update the release doc
2425 2007-06-05 Tim-Philipp Müller <tim at centricular dot net>
2427 * gst/gstvalue.c:
2428 Make docs for gst_value_compare() mention return enums that
2429 actually exist.
2431 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
2433 * configure.ac:
2434 Back to CVS
2436 === release 0.10.13 ===
2438 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
2440 * configure.ac:
2441 releasing 0.10.13, "With or without you"
2443 2007-05-25 Wim Taymans <wim@fluendo.com>
2445 * gst/gstbin.c: (bin_handle_async_done):
2446 Make sure that the child bin stops after completing the async state
2447 change so that the parent can continue the state change to PLAYING.
2448 Fixes #441159.
2450 2007-05-25 Wim Taymans <wim@fluendo.com>
2452 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
2453 (unref_data), (gst_collect_pads_remove_pad),
2454 (gst_collect_pads_check_pads):
2455 Use additional refcounting to avoid crashes when dynamically adding and
2456 removing pads. Fixes #420206.
2458 2007-05-24 Wim Taymans <wim@fluendo.com>
2460 * tools/gst-launch.c: (event_loop):
2461 When buffering goes from a two digit to a single digit number, make sure
2462 to remove the old second digit by writing a blank over it.
2464 2007-05-24 Tim-Philipp Müller <tim at centricular dot net>
2466 * libs/gst/base/gstdataqueue.c:
2467 Eliminate tabs and trailing comma in enum list; fix some typos.
2469 2007-05-24 Wim Taymans <wim@fluendo.com>
2471 * tests/check/gst/gstbin.c: (GST_START_TEST):
2472 Allow refcount of 3 and 4 because some state thread might still be busy
2473 with it.
2475 2007-05-24 Tim-Philipp Müller <tim at centricular dot net>
2477 * plugins/elements/Makefile.am:
2478 * plugins/elements/gstmultiqueue.h:
2479 * plugins/elements/gstqueue.h:
2480 These are not installed headers, no need for padding.
2482 2007-05-24 Wim Taymans <wim@fluendo.com>
2484 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
2485 (gst_bin_continue_func):
2486 Enable latency for next release.
2487 Restore STATE_LOCK around recalc_state that was left out during the
2488 rewrite and could result in racy behaviour when _get_state and
2489 recalc_state are run concurrently. See #440463.
2491 2007-05-23 Wim Taymans <wim@fluendo.com>
2493 * tests/check/gst/gstsystemclock.c: (store_callback),
2494 (GST_START_TEST):
2495 Improve test_async_order to also work when both timers are already
2496 expired when we get scheduled to check it.
2498 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
2500 * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
2501 (gst_bin_set_property), (gst_bin_get_property),
2502 (gst_bin_remove_func), (gst_bin_handle_message_func):
2503 * gst/gstbin.h:
2504 'private' is a c++ keyword, let's not use that in header files,
2505 otherwise c++ compilers will throw a tantrum.
2507 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
2509 * plugins/elements/gstelements.c:
2510 * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
2511 (gst_file_sink_get_current_offset):
2512 * plugins/indexers/gstindexers.c: (plugin_init):
2513 Use #ifdef for HAVE_XYZ for consistency.
2515 * tests/check/Makefile.am:
2516 * tests/check/elements/.cvsignore:
2517 * tests/check/elements/filesink.c: (setup_filesink),
2518 (cleanup_filesink), (GST_START_TEST), (filesink_suite):
2519 Add some unit tests for filesink.
2521 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
2523 Patch by: Mark Nauwelaerts <manauw at skynet be>
2525 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
2526 (gst_file_sink_query), (gst_file_sink_do_seek),
2527 (gst_file_sink_get_current_offset), (gst_file_sink_render):
2528 * plugins/elements/gstfilesink.h:
2529 Fix position reporting; rename data_written member to current_pos to
2530 reflect its real meaning (fixes #412648).
2532 2007-05-22 Edward Hervey <edward@fluendo.com>
2534 * docs/gst/gstreamer-sections.txt:
2535 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
2536 (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
2537 (gst_bin_remove_func), (gst_bin_handle_message_func):
2538 * gst/gstbin.h:
2539 Add a property for bins that handle the state change of their childs.
2540 Fixes #435880
2542 2007-05-22 Sebastian Dröge <slomo@circular-chaos.org>
2544 * libs/gst/controller/gstinterpolation.c:
2545 Use an array of the correct type when using _get_value_array with
2546 linear interpolation.
2548 2007-05-22 Stefan Kost <ensonic@users.sf.net>
2550 * gst/gstelement.c (gst_element_requires_clock,
2551 gst_element_provides_clock, gst_element_request_pad,
2552 gst_element_class_set_details, gst_element_class_set_details_simple,
2553 gst_element_default_send_event, gst_element_abort_state,
2554 gst_element_continue_state, gst_element_set_state,
2555 gst_element_set_state_func, iterator_activate_fold_with_resync):
2556 * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
2557 gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
2558 gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
2559 gst_pad_get_range, gst_pad_pull_range):
2560 * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
2561 GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
2562 GstPadActivateModeFunction, GstPadChainFunction,
2563 GstPadGetCapsFunction, GstPadAcceptCapsFunction,
2564 GstPadFixateCapsFunction, GstPadTemplate):
2565 * gst/gstpipeline.c (gst_pipeline_change_state,
2566 gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
2567 gst_pipeline_set_clock, gst_pipeline_auto_clock,
2568 gst_pipeline_get_delay):
2569 Whitespace and docs fixes.
2571 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
2573 * libs/gst/controller/gstinterpolation.c:
2574 (interpolate_trigger_get_enum_value_array),
2575 (interpolate_trigger_get_string_value_array):
2576 Add support for retrieving value arrays when using the trigger
2577 interpolation mode.
2579 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
2581 * libs/gst/controller/gstcontroller.c:
2582 (gst_controller_get_value_array):
2583 * libs/gst/controller/gstcontroller.h:
2584 Clarify the docs of gst_controller_get_value_array(): The array where
2585 the values should be written to must be allocated as there seems to be
2586 no way to get the size of a random GType. This doesn't change any
2587 behaviour. Also fix some typos all over the place and remove an unused,
2588 commented function that is not necessary as g_object_set() could be
2589 used instead.
2590 * tests/check/libs/controller.c: (GST_START_TEST),
2591 (gst_controller_suite):
2592 Add unit test for gst_controller_get_value_array().
2594 2007-05-21 Jan Schmidt <thaytan@mad.scientist.com>
2596 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
2598 Disable part of the gst_buffer_try_new_and_alloc test, because
2599 it can happily succeed on 64-bit systems where there's more address
2600 space available.
2602 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
2604 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
2605 Add unit test for the improved caps checking from bug #421543.
2607 2007-05-21 Wim Taymans <wim@fluendo.com>
2609 * docs/design/part-synchronisation.txt:
2610 Small addition.
2612 * gst/gstbin.c: (gst_bin_query):
2613 * plugins/elements/gstqueue.c: (apply_segment):
2614 Improve debugging.
2616 * gst/gstmessage.h:
2617 Improve docs.
2619 2007-05-21 Wim Taymans <wim@fluendo.com>
2621 * gst/gstpad.c: (gst_pad_get_caps_unlocked),
2622 (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
2623 (gst_pad_configure_src):
2624 Added simple version of improved caps checking. It was previously
2625 assumed that a setcaps function would check the validity of the caps but
2626 people prefer us to check caps against the template automatically.
2627 Fixes #421543.
2629 2007-05-21 Wim Taymans <wim@fluendo.com>
2631 * libs/gst/base/gstbasetransform.h:
2632 Fix macro for locking/unlocking the transform lock.
2634 2007-05-19 Tim-Philipp Müller <tim at centricular dot net>
2636 * docs/plugins/tmpl/.cvsignore:
2637 Ignore more.
2639 2007-05-18 Edward Hervey <edward@fluendo.com>
2641 * plugins/elements/gstqueue.c: (gst_queue_loop):
2642 Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
2643 for the subtle art of warning a potentially blocking thread that it
2644 should check the source pad return value, and relay the information
2645 upstream.
2647 2007-05-18 Edward Hervey <edward@fluendo.com>
2649 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
2650 Release the queue lock !
2652 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
2654 * docs/libs/gstreamer-libs-sections.txt:
2655 Add the two new controller functions to the appropiate places.
2657 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
2659 reviewed by: Stefan Kost <ensonic@users.sf.net>
2661 * libs/gst/controller/gstcontroller.c:
2662 (gst_controller_suggest_next_sync), (gst_controller_sync_values),
2663 (_gst_controller_get_property), (_gst_controller_set_property),
2664 (_gst_controller_init), (_gst_controller_class_init):
2665 * libs/gst/controller/gstcontroller.h:
2666 * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
2667 (gst_object_get_control_rate), (gst_object_set_control_rate):
2668 API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
2669 Add API that provides sync suggestion timestamps for elements that
2670 call gst_object_sync_values() from which those elements can subdivide
2671 their processing loop to get the best results for the controlled
2672 properties. For now it just suggests last_sync + control_rate as
2673 new timestamp but this will be improved in the future.
2675 While doing that change the control-rate property to a GstClockTime
2676 from guint and change it's meaning from samples to nanoseconds as
2677 the GstController doesn't know anything about sampling rate. Strictly
2678 speaking this breaks ABI but as the control-rate property didn't do
2679 anything in the past and as such couldn't be used this should be no
2680 problem.
2682 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
2684 reviewed by: Stefan Kost <ensonic@users.sf.net>
2686 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
2687 (gst_controller_unset_all):
2688 * libs/gst/controller/gstcontrollerprivate.h:
2689 * libs/gst/controller/gstinterpolation.c:
2690 (gst_controlled_property_find_control_point_node):
2691 Save last synced value from the list to continue searching from there
2692 in future syncs. This speeds everything up a bit.
2694 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
2696 reviewed by: Stefan Kost <ensonic@users.sf.net>
2698 * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
2699 (gst_control_point_find), (gst_controlled_property_new),
2700 (gst_control_point_free), (gst_controlled_property_free),
2701 (gst_controller_set), (gst_controller_set_from_list),
2702 (gst_controller_unset), (gst_controller_unset_all),
2703 (gst_controller_sync_values):
2704 * libs/gst/controller/gstcontroller.h:
2705 * libs/gst/controller/gstcontrollerprivate.h:
2706 * libs/gst/controller/gstinterpolation.c:
2707 (gst_controlled_property_find_control_point_node),
2708 (interpolate_none_get), (interpolate_trigger_get):
2709 Add a new private GstControlPoint struct which "inherits" from
2710 GstTimedValue to allow different interpolators to store internal
2711 values next to each control point. From the outside everything is
2712 still a GstControlPoint so we don't loose binary compatibility.
2713 Also fixup all the GValue handling to not leak GValues or list nodes.
2714 * tests/check/libs/controller.c: (GST_START_TEST):
2715 Free the list nodes and GValues in the controller_misc test.
2717 2007-05-17 Edward Hervey <edward@fluendo.com>
2719 * gst/gstsegment.c:
2720 Small doc fix.
2722 2007-05-16 Tim-Philipp Müller <tim at centricular dot net>
2724 * gst/gstplugin.c: (gst_plugin_load_file):
2725 If we fail to load a plugin because of unresolved symbols or missing
2726 libraries and spew a warning to stderr, we may just as well mention
2727 which plugin it was that failed to load.
2729 2007-05-13 David Schleef <ds@schleef.org>
2731 * docs/Makefile.am: the gtk-doc makefile snippet correctly
2732 handles the case when ENABLE_GTK_DOC is false, and installs
2733 the prebuilt documentation. So gtk-doc subdirs are
2734 unconditionally enabled. Fixes: #349099.
2736 2007-05-13 David Schleef <ds@schleef.org>
2738 * gst/gstutils.h: Reword some documentation.
2740 2007-05-12 David Schleef <ds@schleef.org>
2742 * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
2743 do anything with the passed "module" parameter, so remove it.
2744 Allows removal of additional vestigal code.
2746 2007-05-12 David Schleef <ds@schleef.org>
2748 * gst/gstplugin.c:
2749 Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
2750 Switch to using g_stat() because it's more portable.
2752 2007-05-12 David Schleef <ds@schleef.org>
2754 * gst/gst.c:
2755 Add GST_DISABLE_OPTION_PARSING, in order to disable option
2756 parsing for embedded systems.
2757 * gst/gstelementfactory.c:
2758 Allow gst_element_register() to be called with plugin==NULL.
2759 Did nobody notice that static elements were broken?
2761 2007-05-12 Wim Taymans <wim@fluendo.com>
2763 * tools/gst-launch.c: (event_loop):
2764 Give more interesting info when buffering starts and stops.
2765 Fix case where buffering starts but we fail to update the buffering flag
2766 because the target state is not PLAYING.
2768 2007-05-12 Wim Taymans <wim@fluendo.com>
2770 * plugins/elements/gstqueue.c: (gst_queue_init),
2771 (gst_queue_finalize), (update_time_level), (apply_segment),
2772 (apply_buffer), (gst_queue_locked_flush),
2773 (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
2774 (gst_queue_handle_sink_event), (gst_queue_chain),
2775 (gst_queue_push_one), (gst_queue_loop):
2776 * plugins/elements/gstqueue.h:
2777 Refactor an cleanup queue a bit.
2778 Do better time level calculations that also work when the srcpad is not
2779 yet running.
2780 Remove some unneeded debug lines.
2782 * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
2783 Added testcase for time level measurement.
2784 Try to make some stuff more racefree.
2786 2007-05-11 Tim-Philipp Müller <tim at centricular dot net>
2788 * gst/gsturi.c: (gst_element_make_from_uri):
2789 Don't leak plugin feature.
2791 * tests/check/Makefile.am:
2792 * tests/check/gst/.cvsignore:
2793 * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
2794 Add brain-dead unit test.
2796 2007-05-11 Tim-Philipp Müller <tim at centricular dot net>
2798 Patch by: Jeroen Wouters <woutersj at gmail com>
2800 * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
2801 Treat protocol strings in a case-insensitive way (#437563).
2803 2007-05-11 Michael Smith <msmith@fluendo.com>
2805 * gst/gstplugin.c: (gst_plugin_load_file):
2806 * gst/gstregistry.c: (gst_registry_scan_path_level):
2807 Don't print a g_warning for any failure to load a shared object.
2808 Instead, push this down into gstplugin.c, and warn _only_ if we
2809 failed to open the module (i.e. failure to link).
2810 Avoids warnings on normal, working, non-plugin .so files.
2812 2007-05-11 Stefan Kost <ensonic@users.sf.net>
2814 * gst/gstplugin.c (gst_plugin_load_file):
2815 * gst/gstregistry.c (GST_CAT_DEFAULT,
2816 gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
2817 Print a g_warning if there was an error when loading a plugins during
2818 registry scan. The shuld help beginners starting with gst-plugin
2819 template.
2821 2007-05-10 Wim Taymans <wim@fluendo.com>
2823 * plugins/elements/gstqueue.c: (gst_queue_class_init),
2824 (update_time_level), (gst_queue_locked_flush),
2825 (gst_queue_handle_sink_event), (gst_queue_chain),
2826 (gst_queue_push_one), (gst_queue_loop):
2827 * plugins/elements/gstqueue.h:
2828 Be smarter when calculating the current amount of data in the queue by
2829 measuring the difference between start and end timestamps (in running
2830 time) inside the queue. Fixes #432876.
2831 API: GstQueue::pushing to notify elements that we are pushing data again
2832 since the running signal is rather broken for this purpose.
2834 2007-05-10 Stefan Kost <ensonic@users.sf.net>
2836 * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
2837 gst_queue_base_init, gst_queue_init):
2838 use GST_BOILERPLATE
2840 2007-05-09 Sebastien Moutte <sebastien@moutte.net>
2842 * win32/common/libgstreamer.def:
2843 Add new exported functions.
2844 * win32/vs6/grammar.dsp:
2845 Use grammar pre-generated files.
2847 2007-05-09 Tim-Philipp Müller <tim at centricular dot net>
2849 Based on patch by: Peter Kjellerstedt <pkj at axis com>
2851 * gst/Makefile.am:
2852 * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
2853 * gst/gstparse.h:
2854 * gst/gstutils.c: (gst_parse_bin_from_description):
2855 * gst/gstutils.h:
2856 Maintain API and ABI when --disable-parse is used. Now that
2857 we have an appropriate error code, we can just return NULL and the
2858 appropriate error when gst_parse_launch() is used despite it having
2859 been disabled (#342564).
2861 * tests/check/Makefile.am:
2862 * tests/check/pipelines/.cvsignore:
2863 * tests/check/pipelines/parse-disabled.c:
2864 Make sure these functions exist and return NULL plus a GError when
2865 --disable-parse is used.
2867 2007-05-09 Tim-Philipp Müller <tim at centricular dot net>
2869 * tests/benchmarks/complexity.c: (main):
2870 * tests/benchmarks/mass-elements.c: (main):
2871 Set a good example and don't leak messages.
2873 2007-05-06 Stefan Kost <ensonic@users.sf.net>
2875 * docs/gst/Makefile.am:
2876 * docs/libs/Makefile.am:
2877 Correct fixxrefs options.
2879 * docs/plugins/Makefile.am:
2880 * docs/plugins/gstreamer-plugins-docs.sgml:
2881 * docs/plugins/gstreamer-plugins-sections.txt:
2882 * plugins/elements/Makefile.am:
2883 * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
2884 * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
2885 GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
2886 GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
2887 GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
2888 _GstCapsFilterClass, trans_class):
2889 * plugins/elements/gstelements.c (name, rank, type, _elements):
2890 * plugins/elements/gstidentity.c
2891 (gst_identity_check_imperfect_timestamp,
2892 gst_identity_check_imperfect_offset):
2893 Document capsfilter and add doc-blurb to identity.
2895 2007-05-04 Tim-Philipp Müller <tim at centricular dot net>
2897 * libs/gst/controller/gstcontroller.c:
2898 (gst_controlled_property_set_interpolation_mode):
2899 * libs/gst/controller/gstinterpolation.c:
2900 Don't crash if someone tries to set an interpolation mode that
2901 is invalid or that isn't supported yet. Fixes #422295.
2903 * tests/check/libs/controller.c: (GST_START_TEST),
2904 (gst_controller_suite):
2905 Add a test case for the above.
2907 2007-05-03 Edward Hervey <edward@fluendo.com>
2909 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2910 Properly set the last_stop position on GstSegment. This will only happen
2911 if there is a buffer to push out.
2913 2007-05-03 Wim Taymans <wim@fluendo.com>
2915 * libs/gst/base/gstbasetransform.c:
2916 (gst_base_transform_buffer_alloc):
2917 always_in_place does not mean that the sink and source caps are the
2918 same! Make sure we don't blindly proxy the buffer_alloc in this case.
2920 2007-05-03 Wim Taymans <wim@fluendo.com>
2922 * docs/libs/gstreamer-libs-sections.txt:
2923 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
2924 (gst_base_src_default_query), (gst_base_src_get_range):
2925 * libs/gst/base/gstbasesrc.h:
2926 API: gst_base_src_query_latency(). Added method so that subclasses can
2927 easily get the latency values of the base source class.
2929 2007-05-02 Zaheer Abbas Merali <<zaheerabbas at merali dot org>>
2931 * tools/gst-inspect.c (print_implementation_info):
2932 Remove 0.8 cruft.
2934 2007-05-02 Tim-Philipp Müller <tim at centricular dot net>
2936 * tools/Makefile.am:
2937 * tools/gst-launch.1.in:
2938 Don't create a customised man page based on the host architecture,
2939 describe the default registry path generically. That way the man
2940 page is the same for all architectures and packagers have one
2941 multilib issue less to deal with. Fixes #434926.
2943 2007-05-02 Wim Taymans <wim@fluendo.com>
2945 * gst/gstpad.c:
2946 Fix documentation as spotted by rg on IRC.
2948 2007-04-29 Stefan Kost <ensonic@users.sf.net>
2950 * gst/gstutils.c:
2951 Improve docs for gst_element_{link,unlink}.
2953 2007-04-28 Tim-Philipp Müller <tim at centricular dot net>
2955 * docs/design/part-events.txt:
2956 * docs/design/part-overview.txt:
2957 * gst/gstevent.c:
2958 * gst/gsturi.c:
2959 * gst/gsturi.h:
2960 * libs/gst/base/gstbasesink.c:
2961 Typo fixes; minor docs addition.
2963 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
2965 * docs/gst/gstreamer-sections.txt:
2966 * gst/gsturi.c: (get_element_factories_from_uri_protocol),
2967 (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
2968 * gst/gsturi.h:
2969 API: Add gst_uri_protocol_is_supported(), which checks if a sink
2970 or src that supports a given URI protocol exists.
2972 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
2974 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
2975 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
2976 Set the location to NULL if "file://" is set as URI. Otherwise
2977 some random previous URI would still be set if "file://" is
2978 set on an already used filesink/filesrc.
2980 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
2982 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
2983 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
2984 Special case the "file://" URI as as this is used by some
2985 applications to test with gst_element_make_from_uri if there's
2986 an element that supports the URI protocol.
2987 Also move the g_path_is_absolute() check for the location part
2988 of the URI to also check this for "file://localhost/bla" URIs.
2990 2007-04-26 Tim-Philipp Müller <tim at centricular dot net>
2992 * docs/gst/gstreamer-sections.txt:
2993 * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
2994 * gst/gstbuffer.h:
2995 * tests/check/gst/gstbuffer.c: (GST_START_TEST),
2996 (gst_buffer_suite):
2997 API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
2999 2007-04-26 Stefan Kost <ensonic@users.sf.net>
3001 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
3002 (gst_registry_binary_load_pad_template),
3003 (gst_registry_binary_load_plugin),
3004 (gst_registry_binary_read_cache):
3005 * gst/gstregistrybinary.h:
3006 Implement no-mmap alternative for registry reading. Do code cleanups.
3007 Add more comments about avoiding strdups for all text data. Comments
3008 welcome.
3010 2007-04-25 Stefan Kost <ensonic@users.sf.net>
3012 * gst/gstregistrybinary.h (GstBinaryPluginElement,
3013 GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
3014 GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
3015 Comment structs and reformat to fix the build (that stuff should go
3016 into a priv. header).
3018 2007-04-25 Stefan Kost <ensonic@users.sf.net>
3020 * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
3021 (gst_registry_binary_load_feature):
3022 * gst/gstregistrybinary.h:
3023 Refactor so that we can implement multiple features. Add support for
3024 TypeFindFactory features.
3026 2007-04-24 Stefan Kost <ensonic@users.sf.net>
3028 Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
3030 * configure.ac:
3031 Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
3033 2007-04-23 Stefan Kost <ensonic@users.sf.net>
3035 * gst/gstbin.c: (gst_bin_element_set_state),
3036 (iterator_activate_fold_with_resync), (gst_bin_continue_func),
3037 (bin_handle_async_done), (gst_bin_handle_message_func):
3038 Fix build with --gst-disable-gst-debug
3040 2007-04-21 Tim-Philipp Müller <tim at centricular dot net>
3042 * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
3043 Make sure streaming has finished before calling the ::stop() vfunc,
3044 since that vfunc might clear state which is being used in the
3045 streaming thread. This fixes a race that caused crashes in
3046 audioresample when shutting down a pipeline (#420106).
3048 2007-04-20 Stefan Kost <ensonic@users.sf.net>
3050 * docs/gst/gstreamer-sections.txt:
3051 That was one byte missing.
3053 2007-04-20 Stefan Kost <ensonic@users.sf.net>
3055 * configure.ac:
3056 * docs/gst/gstreamer-sections.txt:
3057 * gst/Makefile.am:
3058 * gst/gstconfig.h.in:
3059 * gst/gstobject.c: (gst_object_class_init),
3060 (gst_signal_object_class_init):
3061 * gst/gstobject.h:
3062 2nd attempt to have a xml-less build as a joined effort of #413123
3063 and #421480.
3065 2007-04-20 Stefan Kost <ensonic@users.sf.net>
3067 * docs/design/draft-tagreading.txt:
3068 Added open issues/thoughts to draft.
3070 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
3072 * gst/parse/grammar.tab.pre.c:
3073 * gst/parse/grammar.tab.pre.h:
3074 * gst/parse/lex._gst_parse_yy.pre.c:
3075 Update the prebuild parser sources.
3077 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
3079 * gst/parse/Makefile.am:
3080 And now fix the building of the flex sources. Now everything should
3081 work as expected.
3083 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
3085 * gst/parse/Makefile.am:
3086 Now hopefully fix the build failures by setting proper rule
3087 dependencies and moving instead of copying.
3089 2007-04-19 Stefan Kost <ensonic@users.sf.net>
3091 * tests/benchmarks/complexity.gnuplot:
3092 * tests/benchmarks/complexity.scm:
3093 * tests/benchmarks/mass-elements.gnuplot:
3094 * tests/benchmarks/mass-elements.scm:
3095 Total licensification.
3097 2007-04-19 Stefan Kost <ensonic@users.sf.net>
3099 * gst/parse/Makefile.am:
3100 Fix the build by correcting the rule that gave wrong files to flex.
3102 2007-04-19 Stefan Kost <ensonic@users.sf.net>
3104 * tests/benchmarks/complexity.c:
3105 * tests/benchmarks/mass-elements.c:
3106 Change licence to LGPL as granted by Benjamin and Andy.
3108 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
3110 * gst/parse/Makefile.am:
3111 Add correct grammar.tab.h dependency if compiling without new enough
3112 flex. Fixes #431150.
3114 2007-04-18 Sebastian Dröge <slomo@circular-chaos.org>
3116 * gst/parse/Makefile.am:
3117 Fix typo and use outdated sources if the flex/bison sources are newer
3118 than the pregenerated ones but flex is too old. Print a warning in
3119 that case. This should fix the build on the build bot.
3121 2007-04-18 Sebastian Dröge <slomo@circular-chaos.org>
3123 Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
3124 * gst/parse/Makefile.am:
3125 * gst/parse/grammar.y:
3126 * gst/parse/parse.l:
3127 Make the parser reentrant and recursively callable. This requires flex
3128 >= 2.5.31, for older versions pregenerated sources are used as we
3129 can't bump the build dependency. Finally fixes #349180.
3131 * gst/gstparse.c: (gst_parse_launch):
3132 Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
3133 now anyway.
3135 * docs/gst/Makefile.am:
3136 * docs/gst/Makefile.am:
3137 * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
3138 (__gst_parse_strfree), (__gst_parse_link_new),
3139 (__gst_parse_link_free), (__gst_parse_chain_new),
3140 (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
3141 (gst_parse_element_set), (gst_parse_free_link),
3142 (gst_parse_found_pad), (gst_parse_perform_delayed_link),
3143 (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
3144 (_gst_parse_launch):
3145 * gst/parse/grammar.tab.pre.h:
3146 * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
3147 (yy_get_previous_state), (yy_try_NUL_trans), (input),
3148 (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
3149 (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
3150 (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
3151 (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
3152 (_gst_parse_yypop_buffer_state),
3153 (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
3154 (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
3155 (yy_fatal_error), (_gst_parse_yyget_extra),
3156 (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
3157 (_gst_parse_yyget_in), (_gst_parse_yyget_out),
3158 (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
3159 (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
3160 (_gst_parse_yyset_column), (_gst_parse_yyset_in),
3161 (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
3162 (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
3163 (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
3164 (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
3165 (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
3166 (_gst_parse_yyfree):
3167 If the installed flex version is too old use pre-generated parser
3168 sources. These pre-generated parser sources are always updated when
3169 the actual flex/bison sources change but require everybody who wants
3170 to change something in the parser to have flex >= 2.5.31 installed.
3172 2007-04-18 Stefan Kost <ensonic@users.sf.net>
3174 * common/m4/gst-gettext.m4:
3175 * gst/gst-i18n-lib.h:
3176 Make --disable-nls to work
3178 2007-04-17 Wim Taymans <wim@fluendo.com>
3180 * gst/gstconfig.h.in:
3181 Revert previous change that broke the build.
3183 2007-04-17 Stefan Kost <ensonic@users.sf.net>
3185 * configure.ac:
3186 * gst/Makefile.am:
3187 * gst/gstconfig.h.in:
3188 Drop libxml2 dependency when building with
3189 --enable-binary-registry --disable-loadsave
3191 2007-04-16 Tim-Philipp Müller <tim at centricular dot net>
3193 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
3194 (gst_registry_binary_read_cache):
3195 * gst/gstregistrybinary.h:
3196 Remove unnecessary <sys/mman.h> include which broke the win32 build
3197 with MingW; move includes from header file to .c file, even if the
3198 header file isn't installed; use g_strerror() where UTF-8 strings
3199 are expected, such as in GST_DEBUG messages.
3201 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
3203 * docs/libs/gstreamer-libs-sections.txt:
3204 Remove bogus addition for API I didn't end up keeping.
3206 * libs/gst/base/gstbasesrc.h:
3207 Mention Since: 0.10.13 in the documentation.
3209 Add the API keyword to the previous ChangeLog entry.
3211 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
3213 * docs/libs/gstreamer-libs-sections.txt:
3214 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3215 (gst_base_src_default_prepare_seek_segment),
3216 (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
3217 * libs/gst/base/gstbasesrc.h:
3218 Allow basesrc derived classes to execute seeks in other formats
3219 by providing a prepare_seek_segment vmethod. Sub-classes can choose
3220 to prepare the GstSegment in any format that their perform_seek method
3221 will be able to understand. The default implementation provides the
3222 old behaviour of attempting to convert the seek offsets to the
3223 configured native format.
3225 API: basesrc::prepare_seek_segment vmethod.
3227 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
3229 * gst/gstelement.c: (gst_element_get_state_func):
3230 Don't output the same debug statement twice.
3232 * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
3233 (gst_adapter_peek), (gst_adapter_take_buffer):
3234 Optimise the case where we have buffers at the head of the queue that
3235 can be joined quickly (because they're contiguous sub-buffers) by
3236 merging them together rather than copying data out into new memory.
3238 * gst/parse/grammar.y:
3239 * tests/check/pipelines/parse-launch.c:
3240 Fix a leak in an error path for parse_launch, and add a check
3241 for it to the testsuite.
3243 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
3245 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
3246 Don't deadlock when releasing a pad - gst_pad_set_active may try
3247 and take the multiqueue lock too.
3249 2007-04-12 Tim-Philipp Müller <tim at centricular dot net>
3251 * gst/gsterror.c: (_gst_core_errors_init):
3252 * gst/gsterror.h:
3253 API: add GST_CORE_ERROR_DISABLED (#392804).
3255 2007-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
3257 * docs/faq/gst-uninstalled:
3258 don't get empty paths on the PATH variables
3259 * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
3260 Don't format for the uncommon terminal width of 84 characters.
3262 2007-04-06 Wim Taymans <wim@fluendo.com>
3264 * gst/gstpipeline.c: (reset_stream_time),
3265 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
3266 Only try to select a different pipeline clock when we went back to
3267 PAUSED and not when we merely got flushed.
3269 2007-04-05 Michael Smith <msmith@fluendo.com>
3271 * tools/gst-launch.1.in:
3272 fractions are better supported in gstreamer than ractions, so
3273 suggest using those.
3275 2007-04-05 Thomas Vander Stichele <thomas at apestaart dot org>
3277 Submitted by: Mogens Jaeger <mogens@jaeger.tf>
3279 * po/LINGUAS:
3280 * po/da.po:
3281 Added Danish translation.
3283 2007-04-05 Wim Taymans <wim@fluendo.com>
3285 * libs/gst/base/gstbasesink.c:
3286 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
3287 Fix leak caused when refusing newsegment after EOS.
3289 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
3290 (gst_fake_sink_init), (gst_fake_sink_set_property),
3291 (gst_fake_sink_get_property), (gst_fake_sink_preroll),
3292 (gst_fake_sink_render), (gst_fake_sink_change_state):
3293 * plugins/elements/gstfakesink.h:
3294 Add num-buffers property to make the element generate EOS after a
3295 configurable amount of buffers.
3296 API: fakesink::num-buffers property.
3298 * tests/check/elements/fakesink.c: (GST_START_TEST),
3299 (fakesink_suite):
3300 Fix GstBus leak in test.
3301 Test for fakesink num-buffers.
3303 2007-04-05 Wim Taymans <wim@fluendo.com>
3305 * libs/gst/base/gstbasesink.c:
3306 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
3307 (gst_base_sink_change_state):
3308 Don't accept anything after an EOS, return UNEXPECTED instead.
3310 * tests/check/elements/fakesink.c: (GST_START_TEST),
3311 (fakesink_suite):
3312 Unit test for new EOS behaviour.
3314 2007-04-05 Wim Taymans <wim@fluendo.com>
3316 * gst/gstelement.c: (gst_element_get_request_pad):
3317 Make padtemplates also work when they don't contain %s or %d.
3319 2007-04-05 Wim Taymans <wim@fluendo.com>
3321 * docs/gst/gstreamer-sections.txt:
3322 * gst/gstclock.c: (gst_clock_adjust_unlocked),
3323 (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
3324 * gst/gstclock.h:
3325 Improve _adjust_unlocked() so that it overflows less.
3326 Add gst_clock_unadjust_unlocked to convert from external time to
3327 internal time based on calibration.
3328 Add some more debug.
3329 API: GstClock::gst_clock_unadjust_unlocked()
3331 2007-04-03 Wim Taymans <wim@fluendo.com>
3333 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
3335 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
3336 Deactivate pads and free GstSingleQueue with gst_single_queue_free()
3337 when releasing sink pad. Fixes #425400.
3339 2007-04-02 Stefan Kost <ensonic@users.sf.net>
3341 * docs/random/ensonic/dynlink.txt:
3342 More work on proposal for new core api.
3344 * docs/libs/gstreamer-libs-sections.txt:
3345 * libs/gst/base/gstbasetransform.h:
3346 API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
3348 * libs/gst/controller/gstcontroller.c:
3349 (on_object_controlled_property_changed),
3350 (gst_controller_sync_values),
3351 (gst_controller_set_interpolation_mode):
3352 * libs/gst/controller/gstcontroller.h:
3353 Less verbose logging add docs for unimplemented parts and correctly
3354 return when using unavailable parts.
3356 2007-03-29 Jan Schmidt <thaytan@mad.scientist.com>
3358 * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
3359 Move all the debug to the CLOCK category, and associate it with
3360 the clock object.
3362 2007-03-29 Jan Schmidt <thaytan@mad.scientist.com>
3364 * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
3365 Make take_buffer a bit quicker by removing redundant checks
3366 caused by calling gst_adapter_take.
3368 2007-03-28 Tim-Philipp Müller <tim at centricular dot net>
3370 * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
3371 Don't leak GCond.
3373 * tests/check/Makefile.am:
3374 * tests/check/elements/.cvsignore:
3375 * tests/check/elements/multiqueue.c: (setup_multiqueue),
3376 (GST_START_TEST), (multiqueue_suite):
3377 Add some dead simple unit tests for the 'multiqueue' element
3378 (some bits don't work yet and are disabled for now).
3380 2007-03-28 Tim-Philipp Müller <tim at centricular dot net>
3382 * gst/gstelement.c: (gst_element_get_request_pad),
3383 (gst_element_class_get_request_pad_template):
3384 Make gst_element_get_request_pad() create request pads only for
3385 request pad templates and not for, say, sometimes pad templates.
3387 2007-03-28 Stefan Kost <ensonic@users.sf.net>
3389 * docs/design/draft-klass.txt:
3390 Add example that needs more thinking.
3392 * docs/design/draft-missing-plugins.txt:
3393 More thoughts about wrapper plugins.
3395 * docs/random/ensonic/embedded.txt:
3396 * docs/random/ensonic/profiling.txt:
3397 More design work.
3399 2007-03-25 Wim Taymans <wim@fluendo.com>
3401 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
3402 (gst_base_src_loop):
3403 Only push the segment events in the PLAYING state for live sources.
3405 2007-03-23 Jan Schmidt <thaytan@mad.scientist.com>
3407 * gst/gstpipeline.c: (gst_pipeline_change_state):
3408 Modify the clock distribution path in PAUSED->PLAYING so that we
3409 never attempt to choose a new clock unless we're actually leaving
3410 the PAUSED state for the first time. This prevents choosing a
3411 different clock when the state_change gets called for a 2nd time due
3412 to some element doing an async state change.
3414 2007-03-22 Sebastian Dröge <slomo@circular-chaos.org>
3416 * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
3417 (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
3418 (gst_pad_chain_unchecked), (gst_pad_push):
3419 Revert last commit. This needs some more thoughts.
3421 2007-03-22 Sebastian Dröge <slomo@circular-chaos.org>
3423 * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
3424 (gst_pad_chain_unchecked), (gst_pad_push):
3425 Check in set_caps if the caps are compatible with the pad and remove
3426 two functions that are redundant now. Fixes #421543.
3428 2007-03-22 Wim Taymans <wim@fluendo.com>
3430 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
3431 (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
3432 Unref some more to make valgrind happy.
3434 2007-03-22 Wim Taymans <wim@fluendo.com>
3436 * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
3437 (gst_system_clock_id_wait_jitter),
3438 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
3439 Fix anoying regression that survived a few releases. When adding an
3440 async entry while blocking on a sync entry, the sync entry will unblock
3441 but still be busy, so it should continue to wait instead of returning
3442 _BUSY to the app.
3443 Add some comments here and there.
3445 * tests/check/gst/gstsystemclock.c: (mixed_thread),
3446 (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
3447 Add testcase for this.
3449 2007-03-22 Wim Taymans <wim@fluendo.com>
3451 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3452 Handle errors from the clock sync better, only UNSCHEDULED indicates a
3453 WRONG_STATE and can silently pause the task. All other cases should
3454 error out.
3456 2007-03-22 Wim Taymans <wim@fluendo.com>
3458 Patch by: Ville Syrjala <syrjala at sci dot fi>
3460 * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
3461 Fix possible deadlock if pad eventfunc is not specified. Fixes #421177.
3462 Improve debugging.
3464 2007-03-21 Michael Smith <msmith@fluendo.com>
3466 * docs/pwg/advanced-types.xml:
3467 Fix some errors in the typefinding docs pointed out on irc.
3469 2007-03-21 Jan Schmidt <thaytan@mad.scientist.com>
3471 * libs/gst/base/gstbasesrc.c:
3472 Clarify FIXME comment in the face of having added unlock_stop()
3474 2007-03-21 Wim Taymans <wim@fluendo.com>
3476 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
3477 Prepare for release where we warn against possible app breakage in the
3478 case of live pipelines along with an env var to enable/disable live
3479 preroll mode (GST_COMPAT=[no-]live-preroll).
3481 2007-03-20 Zaheer Abbas Merali <zaheerabbas at merali dot org>
3483 * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
3484 So we should use correct constants for checking for None offset.
3486 2007-03-20 Wim Taymans <wim@fluendo.com>
3488 * docs/design/part-block.txt:
3489 Mention the fact that the newly switched element should be set to at
3490 least PAUSED.
3492 2007-03-20 Wim Taymans <wim@fluendo.com>
3494 * gst/gst.c:
3495 Fix compilation with registry disabled as spotted by Saur.
3497 2007-03-20 Wim Taymans <wim@fluendo.com>
3499 Patch by: Olivier Crete <tester at tester dot ca>
3501 * gst/gstelement.c: (gst_element_sync_state_with_parent):
3502 Look at the pending state too when syncing the element state to the
3503 parent. Fixes #420133.
3505 2007-03-19 Jan Schmidt <thaytan@mad.scientist.com>
3507 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
3508 (gst_base_sink_change_state):
3509 * libs/gst/base/gstbasesink.h:
3510 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3511 (gst_base_src_default_event), (gst_base_src_unlock_stop),
3512 (gst_base_src_deactivate):
3513 * libs/gst/base/gstbasesrc.h:
3514 Add ::unlock_stop to basesrc and basesink. This allows an opportunity
3515 for sub-classes to correctly clear any state they set trying to
3516 unlock, such as clearing out unlock commands from a command fd.
3517 API: basesrc::unlock_stop
3518 API: basesink::unlock_stop
3520 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
3521 (gst_fd_sink_render), (gst_fd_sink_unlock),
3522 (gst_fd_sink_unlock_stop):
3523 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
3524 (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
3525 (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
3527 Implement unlock_stop in fdsrc and fdsink.
3528 Implement seeking in fdsrc when a seekable fd is passed, as in