1 2007-11-03 Tim-Philipp Müller <tim at centricular dot net>
3 Patch by: Murray Cumming <murrayc@murrayc.com>
5 * gst/gstobject.c:
6 Corrected the registration of the parent-set and parent-unset
7 signals: The parameter is a GstObject, not a GObject (#493134).
9 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
11 * gst/gst_private.h:
12 * gst/gstbuffer.h:
13 * gst/gstevent.h:
14 * gst/gstformat.h:
15 * gst/gstmessage.h:
16 * gst/gstplugin.h:
17 * gst/gstquery.h:
18 * gst/gsttaglist.h:
19 * gst/gstvalue.h:
20 Move declaration of private _gst_foo_initialize() functions into
21 our private header file where they should have been all along.
23 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
25 * docs/plugins/gstreamer-plugins-sections.txt:
26 * gst/gstdebugutils.h:
27 * gst/gstxml.h:
28 * plugins/elements/gstqueue.c:
29 gtk-doc fixes; trailing-comma-in-enum fix.
31 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
33 * gst/gst.c: (gst_deinit):
34 Clean up on deinit (not the external ones though, doesn't seem to be
35 needed for some reason).
37 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
39 * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
40 Remove __declspec(dllimport) for MSVC that was copied over into core
41 from a plugin, obviously without ever having been tested (note the
42 single underscore in _declspec in the initial commit), and that doesn't
43 really make sense. See #492077.
45 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
47 * gst/gst.c: (init_post):
48 * gst/gstevent.c: (_gst_event_initialize):
49 * gst/gstquery.c: (_gst_query_initialize):
50 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
51 g_type_class_ref() other types as well, see #349410 and #64764.
53 * gst/gstbuffer.c: (_gst_buffer_initialize):
54 * gst/gstmessage.c: (_gst_message_initialize):
55 Simplify existing g_type_class_ref().
57 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
59 * gst/gstformat.c: (_gst_format_initialize):
60 g_type_class_ref() our GstFormat type to make sure we avoid the
61 thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
62 bug #64764. Should fix intermittent tee unit test failures (#474823).
64 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
66 * tests/check/elements/tee.c: (test_num_buffers):
67 Simplify, simplify, simplify - or not. Rewrite unit test
68 not to use gst_parse_launch(); allow N sub-streams. Increasing
69 the number of sub-streams seems to reproduce #474823 more easily.
71 2007-10-31 Tim-Philipp Müller <tim at centricular dot net>
73 Patch by: Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
75 * gst/gsttrace.c:
76 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
77 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
78 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
79 Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
80 starting with 2.14.0, GLib won't provide a pipe() macro any longer,
81 so use _pipe() directly (#492077).
83 * win32/common/dirent.c: (_treaddir):
84 Add a couple of casts to make it build without warnings with MSVC.
86 * win32/common/libgstreamer.def:
87 Add some more symbols that need to be exported.
89 2007-10-31 Tim-Philipp Müller <tim at centricular dot net>
91 * tests/examples/metadata/read-metadata.c: (message_loop):
92 Use _KEEP as merge mode rather than _KEEP_ALL, so tags
93 arriving in a second or third tag message are added to
94 the tag list as well.
96 2007-10-31 Stefan Kost <ensonic@users.sf.net>
98 * libs/gst/base/gstbasesrc.c:
99 Its "Since:" and not "@Since:". And remove an superflous cast.
101 2007-10-30 Wim Taymans <wim.taymans@gmail.com>
103 * docs/libs/gstreamer-libs-sections.txt:
104 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
105 (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
106 (gst_base_sink_get_property), (gst_base_sink_render_object),
107 (gst_base_sink_preroll_object),
108 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
109 (gst_base_sink_change_state):
110 * libs/gst/base/gstbasesink.h:
111 Add a new last-buffer property that contains the last buffer used in
112 basesink for preroll or rendering. useful for making snapshots.
113 API: gst_base_sink_get_last_buffer()
114 API: GstBaseSink::last-buffer
116 2007-10-29 Stefan Kost <ensonic@users.sf.net>
118 * docs/gst/running.xml:
119 * gst/gst.c:
120 * gst/gstdebugutils.c:
121 * gst/gstdebugutils.h:
122 * tools/gst-launch.c:
123 Improve bin graph dumping, by using the envvar to specify a path.
124 Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
126 2007-10-29 Tim-Philipp Müller <tim at centricular dot net>
128 * plugins/elements/gsttypefindelement.c:
129 (gst_type_find_element_handle_event),
130 (gst_type_find_element_activate):
131 Post special error message if we can't determine the type of a stream
132 because it's empty.
134 2007-10-29 Stefan Kost <ensonic@users.sf.net>
136 * docs/gst/running.xml:
137 * gst/gstdebugutils.c:
138 Document new env-var. Add one log-line after dumpng a graph.
140 2007-10-26 Tim-Philipp Müller <tim at centricular dot net>
142 * configure.ac:
143 Ugly hack to put the (recently removed and non-portable, apparently)
144 -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
145 GNU ld, because without that 'make check' fails miserably on my debian
146 stable box. Someone with more knowledge of linker intricacies and
147 portability issues than me fix this properly please.
149 2007-10-25 Wim Taymans <wim.taymans@gmail.com>
151 * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
152 Reset last seen position after flushing so that we don't report the old
153 position anymore.
155 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
157 * gst/gstelementfactory.c: (gst_element_register):
158 * gst/gsturi.h:
159 Patch from Alessandro Decina adding get_type_full and
160 get_protocols_full private vfuncs to the URIHandler interface
161 to allow bindings to support creating URI handlers.
162 Partially fixes: #339279
163 API: GstURIHandlerInterface::get_type_full
164 API: GstURIHandlerInterface::get_protocols_full
166 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
168 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
169 (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
170 (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
171 Make it so that pads are considered linked until a buffer is pushed
172 and discovered otherwise. This avoids problems with decodebin2 hanging
173 after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
174 case.
176 Make sure we lock the multiqueue when updating the max-size properties.
178 Fix a crash on Solaris in a debug statement in get_request_pad that
179 passes a NULL string to GST_DEBUG.
181 * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
182 (run_output_order_test):
183 Fix the test to allow the first buffer on not-linked pads to come out
184 of sequence while multiqueue discovers that they are not-linked.
186 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
188 * configure.ac:
189 * libs/gst/check/Makefile.am:
190 Use a custom export symbol regex for libgstcheck, as it needs
191 to export symbols that don't match the standard GStreamer gst_*
192 pattern, and --export-dynamic is not portable (only works on
193 GNU ld)
195 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
196 (gst_check_setup_sink_pad):
197 Make sure to pass a message parameter to the fail_* macros.
199 * tests/check/gst/gstinfo.c: (GST_START_TEST):
200 Fix some compiler warnings.
202 2007-10-25 Tim-Philipp Müller <tim at centricular dot net>
204 * tests/check/gst/gststructure.c: (test_to_string):
205 Disable test that checks that white spaces are not allowed
206 in structure names or field names, since we need to
207 support that for now for backwards compatibility reasons.
209 2007-10-24 Tim-Philipp Müller <tim at centricular dot net>
211 * docs/gst/gstreamer-sections.txt:
212 * gst/gsttaglist.c:
213 * gst/gsttaglist.h:
214 API: add GST_TAG_ARTIST_SORTNAME
215 API: add GST_TAG_ALBUM_SORTNAME
216 API: add GST_TAG_TITLE_SORTNAME
217 Add tag variants for sorting (#414539).
219 2007-10-24 Tim-Philipp Müller <tim at centricular dot net>
221 * gst/gststructure.c:
222 Also allow white space for names so we don't break
223 backwards compatibility.
225 2007-10-22 Wim Taymans <wim.taymans@gmail.com>
227 * docs/design/part-TODO.txt:
228 * docs/design/part-segments.txt:
229 * docs/design/part-streams.txt:
230 Small updates.
232 2007-10-22 Edgard Lima <edgard.lima@indt.org.br>
234 * docs/gst/gstreamer-sections.txt:
235 Fixed documentation from my previous commit (added new API add
236 gst_value_set_structure(), add gst_value_get_structure() and
237 GST_VALUE_HOLDS_STRUCTURE).
239 2007-10-22 Stefan Kost <ensonic@users.sf.net>
241 * gst/gstdebugutils.c:
242 Reflow code to fix uninitialized variable warning.
244 2007-10-22 Edgard Lima <edgard.lima@indt.org.br>
246 * gst/gstcaps.c: (gst_caps_to_string),
247 (gst_caps_from_string_inplace):
248 * gst/gststructure.c: (gst_structure_get_abbrs),
249 (gst_structure_to_string), (gst_structure_from_string):
250 * gst/gstvalue.c: (gst_value_set_structure),
251 (gst_value_get_structure), (gst_value_serialize_structure),
252 (gst_value_deserialize_structure), (_gst_value_initialize):
253 * gst/gstvalue.h:
254 * tests/check/gst/gststructure.c: (GST_START_TEST),
255 (gst_structure_suite):
256 * tests/check/gst/gstvalue.c: (GST_START_TEST):
257 Added GstStructure to gst_value_table and its related functions.
258 Changed gst_structure_to_string to print ';' in the end.
259 Changed gst_caps_to_string to not print ';' beteween its
260 fields (structures) anymore and remove the lastes ';' from latest
261 structure. Now it is possible to have nested structures.
262 In addition, backward compatibilty is assured by accepting '\0' as
263 end delimiter. Fixes: #487969.
264 API: add gst_value_set_structure()
265 API: add gst_value_get_structure()
266 API: add GST_VALUE_HOLDS_STRUCTURE
268 2007-10-19 Tim-Philipp Müller <tim at centricular dot net>
270 * gst/gstbus.c:
271 When no GSource callback has been set up, tell developer
272 to use a function that actually exists.
274 2007-10-17 Stefan Kost <ensonic@users.sf.net>
276 * docs/gst/gstreamer-sections.txt:
277 * gst/Makefile.am:
278 * gst/gst.c:
279 * gst/gst.h:
280 * gst/gstdebugutils.c:
281 * gst/gstdebugutils.h:
282 * gst/gstinfo.c:
283 * gst/gstinfo.h:
284 * tools/gst-launch.c:
285 Allow dumping pipelines as dot graphs. Fixes #456573.
287 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
289 * gst/gststructure.c:
290 Allow '+' as well, it can be part of media or mime types
291 such as image/svg+xml.
293 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
295 * docs/gst/gstreamer-sections.txt:
296 * gst/gstbus.c:
297 * gst/gstbus.h:
298 API: add gst_bus_pop_filtered
299 API: add gst_bus_timed_pop_filtered
300 Two new functions for waiting for specific message types on the
301 bus for a specified amount of time without iterating any main
302 loops or main contexts.
304 * tests/check/gst/gstbus.c:
305 Some tests for the new functions.
307 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
309 * docs/libs/gstreamer-libs-sections.txt:
310 Make gtk-doc ignore stuff it should ignore.
312 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
314 * libs/gst/check/gstcheck.c:
315 * libs/gst/check/gstcheck.h:
316 Allow runtime selection of unit tests to run via the GST_CHECKS
317 environment variable (test case function names, comma-separated).
319 2007-10-16 Stefan Kost <ensonic@users.sf.net>
321 * gst/gststructure.c:
322 * tests/check/gst/gststructure.c:
323 Revert serialisation change and constrain structure-names after
324 consensus on irc. Update api documentation to reflect the change.
326 2007-10-16 Stefan Kost <ensonic@users.sf.net>
328 * gst/gststructure.c:
329 Improve serialization and fix tests.
331 * tests/check/gst/gststructure.c:
332 Add another test that covers why I actually did the previous structure
333 change.
335 2007-10-15 Wim Taymans <wim.taymans@gmail.com>
337 * tools/gst-inspect.c: (print_element_info):
338 Don't crash when inspecting an element.
340 2007-10-15 Tim-Philipp Müller <tim at centricular dot net>
342 * tests/check/gst/gststructure.c:
343 Add unit test for escaping of structure name when serialising
344 and deserialising to/from strings.
346 2007-10-15 Wim Taymans <wim.taymans@gmail.com>
348 * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
349 (gst_single_queue_new):
350 * plugins/elements/gstqueue.c: (gst_queue_init),
351 (gst_queue_push_one):
352 Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
353 upstream is tricked into thinking it can suggest a format downstream
354 while downstream does not support that format. The real problem is that
355 core calls acceptcaps when pushing a buffer with new caps, for which we
356 do a little workaround by setting the caps on the srcpad ourselves
357 before pushing the buffer (until this is figured out). Fixes #486758.
359 2007-10-15 Stefan Kost <ensonic@users.sf.net>
361 * gst/gststructure.c:
362 * gst/gstvalue.c:
363 Add some more comments and debug output. Quote structure name to fix
364 deserialisation of some strings.
366 2007-10-15 Stefan Kost <ensonic@users.sf.net>
368 * gst/gstbuffer.h:
369 Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
370 on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
372 2007-10-15 Stefan Kost <ensonic@users.sf.net>
374 * tools/gst-inspect.c:
375 Save approx. 400 1 byte allocs when printing. Use API to acces element
376 details.
378 * tools/gst-run.c:
379 Avoid a strdup.
381 * tools/gst-xmlinspect.c:
382 Use API to acces element details.
384 2007-10-15 Stefan Kost <ensonic@users.sf.net>
386 * gst/gstinfo.c:
387 Fix some spelling errors.
389 2007-10-14 Wim Taymans <wim.taymans@gmail.com>
391 * gst/gstbin.c: (bin_handle_async_done):
392 Correctly set the next state if all of our async children commited their
393 state. This makes sure we can actually cancel the state change in
394 progress. Fixes a regression in Rhythmbox when seeking.
396 2007-10-13 Tim-Philipp Müller <tim at centricular dot net>
398 * gst/gstbin.c:
399 Don't shadow local variable.
401 * gst/gstinfo.c:
402 Don't shadow global function name.
404 2007-10-13 Tim-Philipp Müller <tim at centricular dot net>
406 * gst/gstelementfactory.c:
407 * gst/gstpluginfeature.c:
408 * gst/gstpluginfeature.h:
409 * gst/gstregistrybinary.c:
410 * gst/gstregistryxml.c:
411 * gst/gsttypefind.c:
412 Use already-interned string for the private GstPluginFeature
413 plugin_name field.
415 2007-10-10 Tim-Philipp Müller <tim at centricular dot net>
417 * docs/libs/gstreamer-libs-sections.txt:
418 Add new API to docs; fixes the build.
420 2007-10-10 Wim Taymans <wim.taymans@gmail.com>
422 Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
424 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
425 (gst_base_sink_event):
426 * libs/gst/base/gstbasesink.h:
427 Add function to wait for EOS, subclasses can use this to correctly wait
428 for devices to drain before performing the EOS logic. Fixes #485343.
429 API: gst_base_sink_wait_eos()
431 2007-10-10 Tim-Philipp Müller <tim at centricular dot net>
433 * gst/gstplugin.h:
434 Cast description string constants in GST_PLUGIN_DEFINE macros
435 to a (gchar*) to make C++ code using these macros compile
436 without warning with g++-4.2 (see #462737). Even if slightly
437 ugly, this seems preferable to putting the description strings
438 into the GLib quark table or making the structure member a
439 const gchar * and doing casts in core code that allocs and
440 frees these strings, or requiring a cast in the C++ code.
442 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
444 * gst/gstinfo.h:
445 Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
446 to print the entire class/function signature into the log
447 file for C++ code. This only affects C++ code, for C code
448 everything remains the same.
450 2007-10-09 Wim Taymans <wim.taymans@gmail.com>
452 * gst/gstbin.c: (remove_from_queue):
453 Work around a problem with pipelines containing (semi)loops until a
454 proper, more complicated solution is ready. See #475455.
456 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
458 * gst/gstplugin.c:
459 * gst/gstplugin.h:
460 * gst/gstregistrybinary.c:
461 * gst/gstregistryxml.c:
462 Put more strings into the GLib quark table. No need to keep
463 a hundred-something copies of identical version strings,
464 license strings, package name strings and package origin
465 strings around.
467 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
469 * docs/manual/advanced-dataaccess.xml:
470 Don't imply that it's okay to unconditionally change
471 buffer data or buffer metadata in a pad probe callback,
472 and a bunch of other comments. Fixes #430031.
474 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
476 * win32/common/gstenumtypes.c:
477 * win32/common/gstenumtypes.h:
478 * win32/common/gstversion.h:
479 Update generated files.
481 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
483 * docs/manual/advanced-autoplugging.xml:
484 Prefix section with broken code with a warning (see #342432).
486 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
488 * docs/manual/appendix-integration.xml:
489 * docs/manual/basics-init.xml:
490 Call g_thread_init() before g_option_context_new() to
491 avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
493 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
495 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
496 (gst_base_sink_queue_object_unlocked),
497 (gst_base_sink_queue_object), (gst_base_sink_event),
498 (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
499 When we received EOS and are waiting for when to post the EOS message,
500 our state is prerolled and we should not return ASYNC.
501 Reorganize some code paths to implement this behavior.
503 * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
504 (gst_sinks_suite):
505 Add unit test to verify above EOS fix.
507 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
509 * plugins/elements/gsttypefindelement.c:
510 (gst_type_find_element_have_type), (gst_type_find_element_init),
511 (gst_type_find_element_setcaps), (gst_type_find_element_chain):
512 Move detecting the input caps of the sinkpad to the setcaps function.
513 This allows us to update the output caps when we receive new input caps
514 instead of always using the first detected caps.
516 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
518 * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
519 (gst_base_sink_get_position):
520 Don't try to preroll non-async elements after a flush.
521 Subtract latency form clock times when reporting position.
523 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
525 * gst/gstpad.c: (gst_pad_pause_task):
526 * gst/gstutils.c:
527 Small comment and documentation update.
529 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
531 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
532 (gst_base_src_set_live), (gst_base_src_is_live),
533 (gst_base_src_query_latency), (gst_base_src_perform_seek),
534 (gst_base_src_default_event), (gst_base_src_wait),
535 (gst_base_src_do_sync), (gst_base_src_get_range),
536 (gst_base_src_pad_get_range), (gst_base_src_loop),
537 (gst_base_src_unlock), (gst_base_src_unlock_stop),
538 (gst_base_src_set_flushing), (gst_base_src_set_playing),
539 (gst_base_src_activate_push), (gst_base_src_activate_pull),
540 (gst_base_src_change_state):
541 Rework the locking of basesrc in a similar fashion to basesink. We
542 basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
543 us to handle live sources and semi live ones much better.
544 Simplify flushing.
545 Fix unlocking when seeking, shutting down and pausing in live sources.
547 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
549 * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
550 Fix compilation again.
552 2007-10-03 Stefan Kost <ensonic@users.sf.net>
554 * gst/gstelement.c:
555 Use meaningful categories for the logs to clean the default one.
557 2007-10-03 Stefan Kost <ensonic@users.sf.net>
559 * tests/check/pipelines/cleanup.c:
560 Print message name and not just number.
562 2007-10-03 Stefan Kost <ensonic@users.sf.net>
564 * docs/design/draft-tagreading.txt:
565 Add some more thoughts.
567 2007-10-03 Stefan Kost <ensonic@users.sf.net>
569 * tests/check/pipelines/simple-launch-lines.c:
570 Print message name and not just number.
572 2007-10-03 Stefan Kost <ensonic@users.sf.net>
574 * libs/gst/base/gsttypefindhelper.c:
575 Speedup typefinding. This is work in progress (see #459862).
577 2007-10-03 Stefan Kost <ensonic@users.sf.net>
579 * gst/gstplugin.c:
580 Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
581 Spotted by Josep Torra Valles <josep@fluendo.com>.
583 2007-10-03 Tim-Philipp Müller <tim at centricular dot net>
585 * gst/gstclock.h:
586 Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
587 field has moved to GstObject.
589 2007-10-02 Wim Taymans <wim.taymans@gmail.com>
591 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
592 (gst_base_src_get_range), (gst_base_src_change_state):
593 Call unlock for live sources so that they can't get stuck in _create and
594 produce a buffer before they are set back to PLAYING.
596 2007-10-02 Edward Hervey <bilboed@bilboed.com>
598 * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
599 (gst_queue_locked_dequeue):
600 Comment the segment-related code... in the PROPER function.
601 See #482147 and my commit from yesterday.
603 2007-10-01 Wim Taymans <wim.taymans@gmail.com>
605 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
606 Also initialize the counter that calculates the first timestamp on a
607 buffer correctly for non-live sources.
609 2007-10-01 Edward Hervey <bilboed@bilboed.com>
611 * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
612 Disable code that's breaking the current-time-level reporting.
613 See #482147
615 2007-09-30 Sebastian Dröge <slomo@circular-chaos.org>
617 * docs/gst/gstreamer-sections.txt:
618 Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
619 as they shouldn't show up. Fixes the docs build.
621 2007-09-29 Sebastien Moutte <sebastien@moutte.net>
623 * gst/gstinfo.h:
624 Add an explicit variable importation needed on VS6 (only for MSC_VER)
625 Define M_PI which is used in files which are including gstinfo.h.
626 VS6 includes doesn't define it.
627 * win32/common/libgstbase.def:
628 * win32/common/libgstcontroller.def:
629 * win32/common/libgstreamer.def:
630 Add new exported functions and variables.
631 * win32/vs6/libgstcontroller.dsp:
632 * win32/vs6/libgstreamer.dsp:
633 Update the list of files to build.
635 2007-09-28 Wim Taymans <wim.taymans@gmail.com>
637 Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
639 * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
640 (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
641 (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
642 Improve debugging. Fixes #480858.
644 2007-09-28 Wim Taymans <wim.taymans@gmail.com>
646 Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
648 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
649 First patch of code cleanups, use the macros and right arguments in the
650 macros to signal and lock the queue. See #480858.
652 2007-09-26 Wim Taymans <wim.taymans@gmail.com>
654 * gst/gstbus.c: (poll_func):
655 Improve debugging when dealing with _poll().
657 2007-09-26 Tim-Philipp Müller <tim at centricular dot net>
659 * gst/gstregistryxml.c:
660 Fix memory leak I introduced a few days ago.
662 2007-09-26 Michael Smith <msmith@fluendo.com>
664 * gst/gstbuffer.c: (gst_buffer_finalize):
665 Make it once again possible to free GstBuffers in the default
666 build.
667 The poisoning scribbles on parts of the miniobject we need in
668 order to free it.
669 Fixes #480341
671 2007-09-25 Tim-Philipp Müller <tim at centricular dot net>
673 * docs/gst/gstreamer-sections.txt:
674 * gst/gsttaglist.c:
675 * gst/gsttaglist.h:
676 API: add GST_TAG_COMPOSER, fixes #459809.
678 2007-09-24 Sebastian Dröge <slomo@circular-chaos.org>
680 * gst/gstplugin.c:
681 * gst/gstplugin.h:
682 Add the 3-clause BSD license and the MIT/X11 license to the license
683 list. Fixes #479784.
685 2007-09-24 Tim-Philipp Müller <tim at centricular dot net>
687 * docs/faq/getting.xml:
688 Add Q+A about different GStreamer versions (#364056).
690 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
692 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
693 (gst_base_sink_event), (gst_base_sink_change_state):
694 Return correct gboolean from query function.
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_query),
700 (gst_base_sink_change_state):
701 Simplify latency query.
702 When not synchronizing, we can report latency without querying the peer
703 element.
705 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
707 * gst/gstobject.h:
708 * gst/gstvalue.c:
709 Fix small typos in the docs.
711 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
713 * docs/design/draft-latency.txt:
714 * docs/design/draft-push-pull.txt:
715 * docs/design/draft-tagreading.txt:
716 * docs/design/part-MT-refcounting.txt:
717 * docs/design/part-activation.txt:
718 * docs/design/part-block.txt:
719 * docs/design/part-element-source.txt:
720 * docs/design/part-events.txt:
721 * docs/design/part-gstbin.txt:
722 * docs/design/part-gstelement.txt:
723 * docs/design/part-gstobject.txt:
724 * docs/design/part-gstpipeline.txt:
725 * docs/design/part-messages.txt:
726 * docs/design/part-preroll.txt:
727 * docs/design/part-push-pull.txt:
728 * docs/design/part-qos.txt:
729 * docs/design/part-query.txt:
730 * docs/design/part-scheduling.txt:
731 * docs/design/part-seeking.txt:
732 * docs/design/part-segments.txt:
733 * docs/design/part-states.txt:
734 Documentation updates and typo fixes.
736 2007-09-23 Tim-Philipp Müller <tim at centricular dot net>
738 * plugins/elements/gstfakesink.c:
739 Add some debug text to error message to indicate that
740 we errored out on request.
742 * tools/gst-launch.c:
743 When the state change to PLAYING fails, check for an
744 error message on the bus and print it.
746 2007-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
748 translated by: Jorge González González <aloriel@gmail.com>
750 * po/LINGUAS:
751 * po/es.po:
752 Added Spanish translation.
754 2007-09-21 Wim Taymans <wim.taymans@gmail.com>
756 * plugins/elements/gstqueue.c: (gst_queue_push_one):
757 Fix printf arguments.
759 2007-09-20 Stefan Kost <ensonic@users.sf.net>
761 * tests/check/generic/states.c:
762 Improved state change unit test.
764 2007-09-20 Stefan Kost <ensonic@users.sf.net>
766 * gst/gstbin.h:
767 Move priv to the right place.
769 * gst/gstsystemclock.c:
770 Add FIXME: and improve log.
772 * tests/check/Makefile.am:
773 * tests/examples/manual/Makefile.am:
774 Work with all types of registries.
776 2007-09-19 Wim Taymans <wim.taymans@gmail.com>
778 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
779 Don't unref the event after pushing it. Fixes #478401.
781 2007-09-19 Stefan Kost <ensonic@users.sf.net>
783 * .cvsignore:
784 * tests/examples/manual/.cvsignore:
785 Ignore registries in any format.
787 2007-09-19 Tim-Philipp Müller <tim at centricular dot net>
789 * gst/glib-compat-private.h:
790 Add compatibility macro for g_intern_string() for
791 GLib-2.8 (any reason we can't just bump the
792 requirement to at least 2.10?)
794 * gst/gstpadtemplate.h:
795 * gst/gstelementfactory.c:
796 * gst/gstregistryxml.c:
797 * gst/gstregistrybinary.c:
798 Make GstStaticPadTemplate's templ_name field a const gchar * and fix
799 up the internal code accordingly. This shouldn't be a problem, since
800 there is no reason external code could ever assume the string in such
801 a structure is dynamically allocated unless it did that itself; the
802 use of g_strdup() is private to element factories. The new code also
803 saves some memory by putting pad template name strings into the GLib
804 quark table instead of allocating them dynamically.
805 Declaring this field constant fixes warnings with g++-4.2 when using
806 the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
808 2007-09-19 Stefan Kost <ensonic@users.sf.net>
810 * gst/gstelementfactory.c:
811 Release static caps. Fixes #475723.
813 2007-09-18 Tim-Philipp Müller <tim at centricular dot net>
815 * gst/gstinfo.c:
816 * gst/gstinfo.h:
817 Make some internal API take const gchar * instead of just
818 gchar * to avoid compiler warnings with g++-4.2.2 when
819 passing string constants (partially fixes #478092).
821 2007-09-17 Wim Taymans <wim.taymans@gmail.com>
823 * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
824 A latency query fails when one of the sinks fail.
826 * gst/gstelement.c: (gst_element_set_base_time):
827 Improve debugging.
829 2007-09-17 Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
831 * gst/gstbin.c: (gst_bin_continue_func):
832 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
833 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
834 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
836 Fix minor compilation warnings shown with Forte.
838 2007-09-17 Wim Taymans <wim.taymans@gmail.com>
840 * plugins/elements/gstqueue.c: (apply_buffer),
841 (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
842 Measure queue level based on the diff between head and tail timestamps
843 even when pushing the first buffer.
845 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
847 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
848 (gst_base_sink_event), (gst_base_sink_change_state):
849 Sinks that don't preroll can always be queried for the latency.
850 Don't post ASYNC start when we are not async.
852 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
854 * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
855 (gst_queue_handle_sink_event), (gst_queue_chain),
856 (gst_queue_push_one), (gst_queue_handle_src_query),
857 (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
858 * plugins/elements/gstqueue.h:
859 When downstream returns UNEXPECTED from pushing a buffer, don't try to
860 push more buffers but allow pushing of EOS and NEWSEGMENT.
861 Add some more debug info here and there. Fixes #476514.
863 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
865 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
866 (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
867 (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
868 (gst_base_sink_set_flushing), (gst_base_sink_query),
869 (gst_base_sink_change_state):
870 Latency query is allowed after we are prerolled. Introduce a new flag
871 for this and stop abusing other variables.
873 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
875 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
876 Push OOB events downstream when we get them in send_event. This allows
877 the application to insert events in the pipeline.
878 Add some more comments.
880 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
882 * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
883 (do_bin_latency), (gst_bin_change_state_func):
884 * gst/gstpipeline.c: (gst_pipeline_change_state):
885 Move latency query from GstPipeline to GstBin so that we can also
886 use it when async-handling is enabled on bins.
888 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
890 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
891 (gst_base_src_do_sync), (gst_base_src_change_state):
892 Update docs.
893 Clean up the timestamping and syncing code for pseudo live sources.
895 2007-09-13 Tim-Philipp Müller <tim at centricular dot net>
897 Patch by: Steve Fink <sphink gmail com>
899 * docs/manual/appendix-checklist.xml:
900 Mention less -R switch in the section about debug output (#474055).
902 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
904 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
905 Queue can latency to the pipeline up to the configured max size in time.
906 Report this fact in the latency query.
908 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
910 Patch by: Sebastien Moutte <sebastien at moutte dot net>
912 * libs/gst/controller/gstinterpolation.c:
913 * libs/gst/controller/gstlfocontrolsource.c:
914 Use gst_guint64_to_gdouble() when converting from a uint64 or
915 GstClockTime to double to fix the build on win32. Fixes #474371.
917 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
919 * gst/gstbuffer.c: (gst_buffer_finalize):
920 Implement poisoning for GstBuffer if --enable-poisoning is specified.
921 When finalizing a buffer the complete struct is filled with 0xff,
922 thus making a use of the buffer after the final unref impossible.
924 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
926 * tests/check/libs/controller.c: (GST_START_TEST):
927 Use fail_unless_equals_int(a, b) instead of
928 fail_unless_equals (a == b) to get better output on failures.
930 2007-09-12 Tim-Philipp Müller <tim at centricular dot net>
932 * tests/check/gst/gsturi.c:
933 Also check for the other file URI variant on win32.
935 2007-09-12 Tim-Philipp Müller <tim at centricular dot net>
937 * gst/gsturi.c: (gst_uri_get_location):
938 If there's no hostname, we want to return 'c:/foo/bar.txt'
939 and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
941 * tests/check/gst/gsturi.c:
942 Unit test for the above and a few more things.
944 2007-09-11 Wim Taymans <wim.taymans@gmail.com>
946 * docs/design/part-live-source.txt:
947 Add docs on how live sources should timestamp.
949 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
950 Add some more debug info.
951 For subclasses that are live and like to sync, add aditional startup
952 latency to sync time and timestamps so that we timstamp according to the
953 design doc.
955 2007-09-11 Tim-Philipp Müller <tim at centricular dot net>
957 * gst/gstbuffer.c:
958 Also do a g_type_class_ref() for the subbuffer type in
959 the init function.
961 2007-09-11 Wim Taymans <wim.taymans@gmail.com>
963 * docs/gst/gstreamer-sections.txt:
964 * gst/gstpad.c: (gst_pad_peer_query):
965 * gst/gstpad.h:
966 Add function to perform a query on the peer of a pad.
967 API: gst_pad_peer_query()
969 2007-09-11 Stefan Kost <ensonic@users.sf.net>
971 * tests/check/gst/gstsystemclock.c:
972 Cleanup the test a little (use gst-logging and not g_message). Improve
973 test to check if a wait reached the target.
975 2007-09-11 Tim-Philipp Müller <tim at centricular dot net>
977 * docs/libs/gstreamer-libs-sections.txt:
978 Add new API to docs and fix the build.
980 2007-09-10 Wim Taymans <wim.taymans@gmail.com>
982 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
983 (gst_base_src_init), (gst_base_src_set_do_timestamp),
984 (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
985 (gst_base_src_get_property), (gst_base_src_do_sync):
986 * libs/gst/base/gstbasesrc.h:
987 Add property to make the basesrc timestamp buffers based on the current
988 running time.
989 API: GstBaseSrc::do-timestamp
990 API: gst_base_src_set_do_timestamp()
991 API: gst_base_src_get_do_timestamp()
993 2007-09-08 Tim-Philipp Müller <tim at centricular dot net>
995 * docs/random/release:
996 Really make sure translations are up-to-date before
997 a release (#465010).
999 2007-09-07 Sebastian Dröge <slomo@circular-chaos.org>
1001 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1002 Always destroy the timer, also in error cases.
1004 2007-09-05 Wim Taymans <wim.taymans@gmail.com>
1006 * docs/manual/highlevel-xml.xml:
1007 Fix XML example code. Fixes #472714.
1009 2007-09-05 Wim Taymans <wim.taymans@gmail.com>
1011 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
1012 (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
1013 (gst_base_sink_query):
1014 Protect eos and have_preroll with the OBJECT lock so we don't need to
1015 take the PREROLL lock when querying the latency. Fixes #473846.
1017 2007-09-05 Stefan Kost <ensonic@users.sf.net>
1019 * gst/gstelement.c:
1020 Give some log-messages a category.
1022 2007-09-04 Wim Taymans <wim.taymans@gmail.com>
1024 * gst/gststructure.c:
1025 (gst_structure_fixate_field_nearest_fraction):
1026 Fix fraction list fixation code. Take the fraction with the smallest
1027 difference with the target instead of the first one in the list.
1029 * tests/check/gst/gststructure.c: (GST_START_TEST),
1030 (gst_structure_suite):
1031 Added test to verify correct fraction list fixation behaviour.
1033 2007-09-02 Tim-Philipp Müller <tim at centricular dot net>
1035 * win32/common/libgstreamer.def:
1036 Export gst_bus_add_signal_watch too.
1038 2007-08-30 Wim Taymans <wim.taymans@gmail.com>
1040 * docs/libs/gstreamer-libs-sections.txt:
1041 Add new methods to docs.
1043 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1044 (gst_base_sink_init), (gst_base_sink_set_ts_offset),
1045 (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
1046 (gst_base_sink_get_property), (gst_base_sink_wait_clock):
1047 * libs/gst/base/gstbasesink.h:
1048 Add ts-offset property to fine-tune the synchronisation.
1049 API: GstBaseSink::ts-offset property
1050 API: gst_base_sink_set_ts_offset()
1051 API: gst_base_sink_get_ts_offset()
1053 2007-08-29 Wim Taymans <wim.taymans@gmail.com>
1055 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1056 (gst_base_sink_init), (gst_base_sink_set_sync),
1057 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
1058 (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
1059 (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
1060 (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
1061 (gst_base_sink_get_property), (gst_base_sink_change_state):
1062 * libs/gst/base/gstbasesink.h:
1063 Add async property to instruct the sink never to inform the parent about
1064 ASYNC state changes, update docs.
1065 Check argument with g_return_* for the public functions.
1066 API: GstBaseSink::async property
1067 API: gst_base_sink_set_async_enabled()
1068 API: gst_base_sink_is_async_enabled()
1070 2007-08-28 Wim Taymans <wim.taymans@gmail.com>
1072 * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
1073 Improve debugging.
1075 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
1076 (gst_base_src_default_query), (gst_base_src_wait),
1077 (gst_base_src_do_sync), (gst_base_src_change_state):
1078 Rearrange some code so that we can add support for measuring the
1079 startup latency.
1081 2007-08-27 Stefan Kost <ensonic@users.sf.net>
1083 * docs/random/ensonic/dynlink.txt:
1084 More thoughs on this.
1086 * plugins/elements/gstcapsfilter.c:
1087 Add bugzilla ticket number to FIXME comment.
1089 2007-08-24 Wim Taymans <wim.taymans@gmail.com>
1091 * docs/design/part-TODO.txt:
1092 * docs/design/part-block.txt:
1093 Update some docs.
1095 2007-08-24 Jan Schmidt <thaytan@mad.scientist.com>
1097 * gst/Makefile.am:
1098 Revert patch which uses $(gst_headers) instead of $^ because it
1099 breaks make dist.
1101 2007-08-24 Jan Schmidt <thaytan@mad.scientist.com>
1103 * tests/check/gst/gstbin.c: (GST_START_TEST):
1104 Fix leaks in the new unit test.
1106 2007-08-23 Tim-Philipp Müller <tim at centricular dot net>
1108 * gst/gst.c:
1109 Don't use GST_INFO before the debug system is actually initialised
1110 (shouldn't do any harm, but won't print anything either, so we can
1111 just as well remove it).
1113 * gst/gstinfo.h:
1114 GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
1115 compilers that don't support variadic macros (such as MSVC), should
1116 check for debug_level <= __gst_debug_min as well, since that's the
1117 function called from all the level-specific GST_CAT_*_LOG_OBJECT()
1118 inline helper functions. Should improve performance a bit, but also
1119 makes sure uses of GST_INFO et.al are ignored if the debugging
1120 system isn't initialised yet (instead of printing an assertion
1121 failure).
1123 2007-08-23 Stefan Kost <ensonic@users.sf.net>
1125 patch by: David Nečas <yeti@physics.muni.cz>
1127 * gst/Makefile.am:
1128 Replace some non portable makefile constructs.
1130 2007-08-21 Stefan Kost <ensonic@users.sf.net>
1132 * common/gtk-doc-plugins.mak:
1133 Grrrrr. Don't remove the types file on make clean.
1135 2007-08-20 Wim Taymans <wim.taymans@gmail.com>
1137 * tools/gst-launch.1.in:
1138 Add colorspace to example pipeline. Fixes #458274.
1140 2007-08-20 Tim-Philipp Müller <tim at centricular dot net>
1142 * docs/random/release:
1143 The release manager should run 'make download-po' before making a
1144 release to make sure translations are up-to-date.
1146 * po/LINGUAS:
1147 * po/be.po:
1148 * po/pl.po:
1149 * po/rw.po:
1150 Add some new translations.
1152 2007-08-17 Wim Taymans <wim.taymans@gmail.com>
1154 * tools/gst-launch.c: (event_loop), (main):
1155 Don´t try to do any state management when a live pipeline posts
1156 buffering messages.
1157 Also make the buffering string translatable.
1159 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
1161 * gst/gstbin.c: (is_eos), (gst_bin_add_func),
1162 (bin_handle_async_start), (gst_bin_handle_message_func):
1163 Improve debugging.
1164 When adding elements, insert messages into the bus of the newly added
1165 element and make sure the element is the source of the message. This
1166 allows the parent bin to intercept the message and do the
1167 right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
1168 messages to the app (which is not allowed).
1169 Update some docs.
1171 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1172 Fix testsuite so that is does not work around messages that should not
1173 have been posted in the first place.
1175 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
1177 * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
1178 (update_degree), (gst_bin_sort_iterator_next):
1179 Fix annoying bug in the sorted iterator where a sink that is not really
1180 a sink (when it has downstream links) screwed up the iterator.
1182 * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1183 Unit test to verify the fix.
1185 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
1187 * gst/gstmessage.h:
1188 Add some more docs for the messages.
1190 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1191 (gst_base_sink_query):
1192 Add some more debugging.
1194 * tools/gst-launch.c: (event_loop):
1195 When interrupting, don't try to set pipeline to PAUSED twice.
1197 2007-08-14 Wim Taymans <wim.taymans@gmail.com>
1200 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
1201 (bin_handle_async_start), (gst_bin_handle_message_func):
1202 Move ASYNC_START message posting to where it belongs, similar to
1203 async_done.
1204 Don't post ASYNC_START when we are in error.
1205 Post ASYNC_START when we added an async element to a bin.
1207 2007-08-14 Julien MOUTTE <julien@moutte.net>
1209 * gst/gstindex.c: (gst_index_add_association): Fix index entry
1210 generation from vargs. Fixes #466595.
1212 2007-08-14 Wim Taymans <wim.taymans@gmail.com>
1214 * gst/gstbin.c: (gst_bin_element_set_state):
1215 Always change the state of a NO_PREROLL element even if it has ASYNC
1216 elements inside (in case of a bin).
1218 * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
1219 Unit test for this case.
1221 2007-08-13 Stefan Kost <ensonic@users.sf.net>
1223 * libs/gst/check/gstbufferstraw.c:
1224 * libs/gst/check/gstcheck.h:
1225 * libs/gst/controller/gstcontroller.c:
1226 * libs/gst/controller/gstcontrolsource.h:
1227 * libs/gst/controller/gstlfocontrolsource.h:
1228 * plugins/elements/gstcapsfilter.h:
1229 * plugins/elements/gstfdsink.h:
1230 * plugins/elements/gstfdsrc.h:
1231 Add more missing docs.
1233 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
1235 * gst/gststructure.c:
1236 Add Since tag to docs.
1238 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
1240 * docs/gst/gstreamer-sections.txt:
1241 * gst/gststructure.c: (gst_structure_get_uint):
1242 * gst/gststructure.h:
1243 Add function to get uint from a structure.
1244 API: gst_structure_get_uint()
1246 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
1248 * gst/gstcaps.c: (gst_caps_set_simple_valist),
1249 (gst_caps_intersect):
1250 Fix proper check for simple caps.
1252 2007-08-10 Stefan Kost <ensonic@users.sf.net>
1254 * docs/gst/Makefile.am:
1255 * docs/libs/Makefile.am:
1256 Remove cruft and do some cleanups.
1258 * docs/gst/gstreamer-docs.sgml:
1259 * docs/libs/gstreamer-libs-docs.sgml:
1260 Prepare for comming gtkdoc features (rebase against online docs).
1262 2007-08-10 Michael Smith <msmith@fluendo.com>
1264 * docs/gst/gstreamer-sections.txt:
1265 Add gst_registry_add_path to docs.
1267 2007-08-10 Michael Smith <msmith@fluendo.com>
1269 * gst/gstregistry.h:
1270 Add gst_registry_add_path, which was missing from this header.
1272 2007-08-10 Tim-Philipp Müller <tim at centricular dot net>
1274 * libs/gst/controller/gstlfocontrolsource.c:
1275 Printf format fix.
1277 2007-08-09 Philippe Kalaf <philippe.kalaf@collabora.co.uk>
1279 * libs/gst/base/gstbasesink.c:
1280 Don't send an async_start message during downwards state change if
1281 target state is less than READY
1283 2007-08-09 Thomas Vander Stichele <thomas at apestaart dot org>
1285 translated by: Gabor Kelemen <kelemeng@gnome.hu>
1287 * po/LINGUAS:
1288 * po/hu.po:
1289 Added Hungarian translation.
1291 2007-08-09 Thomas Vander Stichele <thomas at apestaart dot org>
1293 * po/fi.po:
1294 * po/it.po:
1295 * po/nl.po:
1296 * po/sv.po:
1297 * po/uk.po:
1298 Updated translations.
1300 2007-08-07 Jan Schmidt <thaytan@mad.scientist.com>
1302 * libs/gst/controller/Makefile.am:
1303 Dist gstlfocontrolsourceprivate.h
1305 2007-08-07 Jan Schmidt <thaytan@mad.scientist.com>
1307 * docs/libs/gstreamer-libs.types:
1308 Don't register the enum type gst_lfo_waveform_get_type() in the
1309 .types file - only GObject derived types belong.
1311 2007-08-07 Wim Taymans <wim.taymans@gmail.com>
1313 Patch by: <arenevier at fdn dot fr>
1315 * gst/gstbuffer.h:
1316 Remove comma from last element in enum to avoid compile errors when
1317 using -pendantic. Fixes #464366.
1319 2007-08-07 Wim Taymans <wim.taymans@gmail.com>
1321 * docs/design/part-TODO.txt:
1322 Add some more TODO items
1324 * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
1325 Improve debugging.
1327 * gst/gstcaps.c: (gst_caps_intersect):
1328 Optimize trivial intersection case between identical caps pointers.
1330 * gst/gstelement.c: (gst_element_continue_state),
1331 (gst_element_set_state_func):
1332 * gst/gstpad.c:
1333 Fix spelling and grammar mistakes.
1335 2007-08-05 Stefan Kost <ensonic@users.sf.net>
1337 * po/POTFILES.in:
1338 * po/POTFILES.skip:
1339 Update POTFILES. Fixes #461599.
1341 2007-08-03 Sebastian Dröge <slomo@circular-chaos.org>
1343 * gst/gst.c:
1344 Fix confusing typo in debug output.
1346 2007-08-03 Sebastian Dröge <slomo@circular-chaos.org>
1348 reviewed by: Stefan Kost <ensonic@users.sf.net>
1350 * libs/gst/controller/Makefile.am:
1351 * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
1352 (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
1353 (gst_lfo_control_source_new),
1354 (gst_lfo_control_source_set_waveform),
1355 (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
1356 (gst_lfo_control_source_finalize),
1357 (gst_lfo_control_source_dispose),
1358 (gst_lfo_control_source_set_property),
1359 (gst_lfo_control_source_get_property),
1360 (gst_lfo_control_source_class_init):
1361 * libs/gst/controller/gstlfocontrolsource.h:
1362 * libs/gst/controller/gstlfocontrolsourceprivate.h:
1363 API: Add GstLFOControlSource, a control source that gives values
1364 for specific timestamps based on several periodic waveforms.
1365 Fixes #459717.
1367 * tests/check/libs/controller.c: (GST_START_TEST),
1368 (gst_controller_suite):
1369 * docs/libs/gstreamer-libs-docs.sgml:
1370 * docs/libs/gstreamer-libs-sections.txt:
1371 * docs/libs/gstreamer-libs.types:
1372 Add documentation and unit tests for GstLFOControlSource.
1374 2007-08-03 Jan Schmidt <thaytan@mad.scientist.com>
1376 * configure.ac:
1377 Back to CVS
1379 === release 0.10.14 ===
1381 2007-08-03 Jan Schmidt <thaytan@mad.scientist.com>
1383 * configure.ac:
1384 releasing 0.10.14, "Breathing Vacuum"
1386 2007-08-02 Tim-Philipp Müller <tim at centricular dot net>
1388 * gst/gstelement.c: (gst_element_class_set_details_simple):
1389 * gst/gstelement.h:
1390 Make strings passed to gst_element_class_set_details_simple()
1391 constant, as they should be (#462752).
1393 2007-08-02 Wim Taymans <wim.taymans@gmail.com>
1395 * gst/gstbin.c: (gst_bin_change_state_func),
1396 (bin_handle_async_done), (gst_bin_handle_message_func):
1397 Don't forget about the fact that some element went ASYNC even after a
1398 resync. This makes us post the ASYNC_DONE message correctly.
1399 Fixes #462558.
1401 2007-07-31 Jan Schmidt <thaytan@mad.scientist.com>
1403 * gst/gstregistry.c: (gst_registry_add_feature):
1404 When replacing an existing feature in the registry, make sure to
1405 continue holding a reference until we've replaced the name string
1406 within our feature hash table. Make sure to use g_hash_table_replace
1407 instead of g_hash_table_insert to ensure the new name string is used
1408 as a key instead of the old one that we're about to free.
1409 Fixes: #462085
1411 2007-07-31 Jan Schmidt <thaytan@mad.scientist.com>
1413 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
1414 (gst_plugin_feature_set_name):
1415 Revert patch from #459466 until after the release and we can work
1416 out exactly what the problem is (if any).
1418 2007-07-26 Tim-Philipp Müller <tim at centricular dot net>
1420 * docs/gst/gstreamer-sections.txt:
1421 * gst/gsttaglist.c:
1422 * gst/gsttaglist.h:
1423 API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
1425 2007-07-26 Jan Schmidt <thaytan@mad.scientist.com>
1427 * docs/libs/Makefile.am:
1428 Include our build-prefix libs and includes before the generic ones to
1429 avoid linking against the installed libs when we want the build-tree
1430 ones.
1432 2007-07-26 Tim-Philipp Müller <tim at centricular dot net>
1434 Patch by: Steve Fink <sphink gmail com>
1436 * docs/pwg/building-testapp.xml:
1437 Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
1438 if people try to build or install the example from the plugin
1439 template against a GStreamer from package using the configure
1440 defaults.
1442 2007-07-25 Tim-Philipp Müller <tim at centricular dot net>
1444 Patch by: Steve Fink <sphink gmail com>
1446 * tools/gst-inspect.1.in:
1447 Document --print-all and --print-plugin-auto-install-info command
1448 line options in man page.
1450 2007-07-25 Wim Taymans <wim.taymans@gmail.com>
1452 * docs/gst/gstreamer-sections.txt:
1453 Add docs for new api function.
1455 2007-07-25 Wim Taymans <wim.taymans@gmail.com>
1457 * gst/gstelementfactory.c: (gst_element_factory_has_interface):
1458 * gst/gstelementfactory.h:
1459 API: gst_element_factory_has_interface()
1460 Added method to check if an element factory implements a named
1461 interface.
1463 2007-07-25 Stefan Kost <ensonic@users.sf.net>
1465 * configure.ac:
1466 * docs/gst/gstreamer.types.in:
1467 Another conditional doc check.
1469 * gst/gstmessage.c:
1470 * gst/gstparamspecs.h:
1471 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1472 * gst/gstvalue.c:
1473 * gst/gstxml.h:
1474 API-doc fixes.
1476 2007-07-24 Stefan Kost <ensonic@users.sf.net>
1478 * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
1479 (gst_registry_binary_load_feature),
1480 (gst_registry_binary_load_plugin),
1481 (gst_registry_binary_read_cache):
1482 Print error just once and with additional info.
1484 2007-07-24 Stefan Kost <ensonic@users.sf.net>
1486 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
1487 (helper_find_suggest), (helper_find_get_length),
1488 (gst_type_find_helper_get_range), (buf_helper_find_suggest),
1489 (gst_type_find_helper_for_buffer):
1490 Cleanup the typefindhelper code and add private doc comments.
1492 2007-07-24 Edward Hervey <bilboed@bilboed.com>
1494 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
1495 (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
1496 Fix capsfilter for cases where the caps set on capsfilter will provide
1497 additional information.
1498 Fixes #449197
1500 2007-07-24 Stefan Kost <ensonic@users.sf.net>
1502 * gst/gsttypefindfactory.c:
1503 Fix docs that recommened wrong function to use.
1505 2007-07-23 Stefan Kost <ensonic@users.sf.net>
1507 * tools/gst-inspect.c: (print_plugin_features):
1508 Also give media-type for typefinders in element output.
1510 2007-07-23 Stefan Kost <ensonic@users.sf.net>
1512 * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
1513 (gst_registry_remove_features_for_plugin_unlocked),
1514 (gst_registry_add_feature), (gst_registry_remove_feature),
1515 (gst_registry_lookup_feature_locked):
1516 * gst/gstregistry.h:
1517 Speed up gst_registry_lookup_feature_locked() by using a hashmap.
1518 Fixes #459501.
1520 2007-07-23 Stefan Kost <ensonic@users.sf.net>
1522 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
1523 (gst_plugin_feature_set_name):
1524 Avoid double memory usage for pluginfeature names. Fixes #459466.
1526 2007-07-22 Tim-Philipp Müller <tim at centricular dot net>
1528 * gst/gstpad.h:
1529 Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
1530 driving the pipeline may need to explicitly check for NOT_LINKED as
1531 well, since IS_FATAL doesn't cover that.
1533 2007-07-22 Tim-Philipp Müller <tim at centricular dot net>
1535 * docs/pwg/advanced-types.xml:
1536 Fix typo and duplicate entry in video formats list.
1538 2007-07-22 Sebastian Dröge <slomo@circular-chaos.org>
1540 * libs/gst/controller/gstinterpolation.c:
1541 Also round to the nearest int when using cubic interpolation.
1543 2007-07-19 Jan Schmidt <thaytan@noraisin.net>
1545 * libs/gst/controller/gstinterpolation.c:
1546 When linearly interpolating integer types, round to the nearest int
1547 by adding 0.5. Don't do it for float/double types.
1548 Fixes the failing controller test on my machine, which is somehow
1549 rounding differently than on the buildbots.
1551 2007-07-20 Stefan Kost <ensonic@users.sf.net>
1553 * tools/gst-plot-timeline.py:
1554 Better log parsing (categories can have -). Adjust text vs. lines, so
1555 that they span the same y-range.
1557 2007-07-20 Stefan Kost <ensonic@users.sf.net>
1559 * docs/random/ensonic/audiobaseclasses.txt:
1560 * docs/random/ensonic/dynlink.txt:
1561 * docs/random/ensonic/profiling.txt:
1562 Save my thoughts.
1564 * docs/random/moving-plugins:
1565 Add note to use g_assert type macros.
1567 2007-07-20 Stefan Kost <ensonic@users.sf.net>
1569 * configure.ac:
1570 * libs/gst/check/Makefile.am:
1571 Add libm check as we use in for plugins.
1573 2007-07-18 Jan Schmidt <thaytan@noraisin.net>
1575 * gst/gstbin.c: (gst_bin_continue_func):
1576 Check that the state_cookie hasn't changed since the continue_func
1577 was scheduled. Avoids problems where the state changes back to
1578 something it shouldn't be because it was changed in the meantime.
1580 2007-07-17 Stefan Kost <ensonic@users.sf.net>
1582 * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
1583 (gst_registry_binary_save_string),
1584 (gst_registry_binary_save_pad_template),
1585 (gst_registry_binary_save_feature),
1586 (gst_registry_binary_save_plugin),
1587 (gst_registry_binary_load_feature),
1588 (gst_registry_binary_load_plugin),
1589 (gst_registry_binary_read_cache):
1590 Fix memory leak. Be less verbose in the log.
1592 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
1594 * tests/check/elements/.cvsignore:
1595 Add file to cvsignore as commanded.
1597 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
1599 * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
1600 (mq_dummypad_event), (run_output_order_test):
1601 Use a GStaticMutex to protect all cases where libcheck
1602 fail_if/fail_unless macros might be called from multiple threads
1603 simultaneously to avoid errors like:
1604 "check_pack.c:107: :-1081725400:Bad message type arg"
1606 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
1608 * tests/check/pipelines/stress.c: (GST_START_TEST):
1609 Make sure we set the pipeline back to the NULL state before
1610 dropping our final reference.
1612 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
1614 * tests/check/elements/tee.c: (GST_START_TEST):
1615 Make the tee stress-test a little less stressful so it doesn't just
1616 time out on slow-machines, and remove a small race when it's starting
1617 up by adding a get_state() call.
1619 2007-07-16 Stefan Kost <ensonic@users.sf.net>
1621 * gst/gst.c:
1622 Avoid reading registry twice on startup. Fixes #457322.
1624 2007-07-13 Jan Schmidt <thaytan@mad.scientist.com>
1626 * pkgconfig/gstreamer-check-uninstalled.pc.in:
1627 * pkgconfig/gstreamer-check.pc.in:
1628 Substitute the CFLAGS for libcheck into our .pc file too so that
1629 dependent modules will pick it up properly if libcheck is installed
1630 into some other prefix.
1632 2007-07-13 Jan Schmidt <thaytan@mad.scientist.com>
1634 * configure.ac:
1635 Revert the pkg-config check for libcheck, since it pulls in the
1636 wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
1637 a proper solution, either from the check project, or something else.
1639 2007-07-12 Stefan Kost <ensonic@users.sf.net>
1641 * configure.ac:
1642 Use pkg-config to locate check.
1644 2007-07-10 Stefan Kost <ensonic@users.sf.net>
1646 * gst/gsttaglist.c:
1647 Fix doc syntax.
1649 * gst/gstutils.c:
1650 * gst/gstutils.h:
1651 Add deprecation guards.
1653 * libs/gst/base/gstcollectpads.h:
1654 Don't document object (this is implicitly private).
1656 2007-07-08 Tim-Philipp Müller <tim at centricular dot net>
1658 * gst/gststructure.c: (gst_structure_parse_value):
1659 When deserialising foo=bar without a type cast, check if it's a
1660 boolean before falling back to a string type, otherwise things like
1661 audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
1662 because the filtercaps end up having a signed=(string)true field,
1663 which causes problems later when intersection caps.
1665 * tests/check/gst/gststructure.c: (GST_START_TEST):
1666 Add a unit test for this.
1668 2007-07-06 Sebastian Dröge <slomo@circular-chaos.org>
1670 Reviewed by: Stefan Kost <ensonic@users.sf.net>
1672 * libs/gst/controller/Makefile.am:
1673 * libs/gst/controller/gstcontroller.c:
1674 (gst_controlled_property_add_interpolation_control_source),
1675 (gst_controlled_property_new), (gst_controlled_property_free),
1676 (gst_controller_find_controlled_property),
1677 (gst_controller_new_valist), (gst_controller_new_list),
1678 (gst_controller_new), (gst_controller_remove_properties_valist),
1679 (gst_controller_remove_properties_list),
1680 (gst_controller_remove_properties),
1681 (gst_controller_set_property_disabled),
1682 (gst_controller_set_disabled), (gst_controller_set_control_source),
1683 (gst_controller_get_control_source), (gst_controller_get),
1684 (gst_controller_sync_values), (gst_controller_get_value_array),
1685 (_gst_controller_dispose), (gst_controller_get_type),
1686 (gst_controlled_property_set_interpolation_mode),
1687 (gst_controller_set), (gst_controller_set_from_list),
1688 (gst_controller_unset), (gst_controller_unset_all),
1689 (gst_controller_get_all), (gst_controller_set_interpolation_mode):
1690 * libs/gst/controller/gstcontroller.h:
1691 * libs/gst/controller/gstcontrollerprivate.h:
1692 * libs/gst/controller/gstcontrolsource.c:
1693 (gst_control_source_class_init), (gst_control_source_init),
1694 (gst_control_source_get_value),
1695 (gst_control_source_get_value_array), (gst_control_source_bind):
1696 * libs/gst/controller/gstcontrolsource.h:
1697 * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
1698 (gst_object_get_control_source):
1699 * libs/gst/controller/gstinterpolation.c:
1700 (gst_interpolation_control_source_find_control_point_node),
1701 (gst_interpolation_control_source_get_first_value),
1702 (_interpolate_none_get), (interpolate_none_get),
1703 (interpolate_none_get_boolean_value_array),
1704 (interpolate_none_get_enum_value_array),
1705 (interpolate_none_get_string_value_array),
1706 (_interpolate_trigger_get), (interpolate_trigger_get),
1707 (interpolate_trigger_get_boolean_value_array),
1708 (interpolate_trigger_get_enum_value_array),
1709 (interpolate_trigger_get_string_value_array):
1710 * libs/gst/controller/gstinterpolationcontrolsource.c:
1711 (gst_control_point_free), (gst_interpolation_control_source_reset),
1712 (gst_interpolation_control_source_new),
1713 (gst_interpolation_control_source_set_interpolation_mode),
1714 (gst_interpolation_control_source_bind),
1715 (gst_control_point_compare), (gst_control_point_find),
1716 (gst_interpolation_control_source_set_internal),
1717 (gst_interpolation_control_source_set),
1718 (gst_interpolation_control_source_set_from_list),
1719 (gst_interpolation_control_source_unset),
1720 (gst_interpolation_control_source_unset_all),
1721 (gst_interpolation_control_source_get_all),
1722 (gst_interpolation_control_source_get_count),
1723 (gst_interpolation_control_source_init),
1724 (gst_interpolation_control_source_finalize),
1725 (gst_interpolation_control_source_dispose),
1726 (gst_interpolation_control_source_class_init):
1727 * libs/gst/controller/gstinterpolationcontrolsource.h:
1728 * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
1729 API: Refactor GstController into the core controller which can take
1730 a GstControlSource for providing actual values for timestamps.
1731 Implement a interpolation control source and use this for backward
1732 compatibility, deprecate a bunch of functions that are now handled
1733 by GstControlSource or GstInterpolationControlSource.
1734 Make it possible to disable the controller completely or only for
1735 specific properties. Fixes #450711.
1736 * docs/libs/gstreamer-libs-docs.sgml:
1737 * docs/libs/gstreamer-libs-sections.txt:
1738 * docs/libs/gstreamer-libs.types:
1739 Add new functions and classes to the docs.
1740 * tests/check/libs/controller.c: (GST_START_TEST),
1741 (gst_controller_suite):
1742 * tests/examples/controller/audio-example.c: (main):
1743 Port unit test and example to the new API and add some new
1744 unit tests.
1746 2007-07-05 Wim Taymans <wim.taymans@gmail.com>
1748 Patch by: Mark Nauwelaerts <manauw at skynet be>
1750 * plugins/elements/gstmultiqueue.c:
1751 (gst_multi_queue_get_internal_links), (apply_buffer),
1752 (single_queue_overrun_cb), (gst_single_queue_new):
1753 Implement non-default GstPadIntLinkFunction for multiqueue pads so that
1754 the pipeline layout can be tracked correctly. Fixes #453732.
1756 2007-07-05 Stefan Kost <ensonic@users.sf.net>
1758 * docs/gst/Makefile.am:
1759 * docs/libs/Makefile.am:
1760 * docs/plugins/Makefile.am:
1761 Simplify --extra-dir as gtkdoc scans recursively.
1763 2007-07-03 Wim Taymans <wim.taymans@gmail.com>
1765 * tools/gst-launch.c: (main):
1766 When we got an error, there is no point in waiting for preroll when
1767 shutting down.
1769 2007-07-03 Wim Taymans <wim.taymans@gmail.com>
1771 * plugins/elements/gsttee.c: (gst_tee_base_init),
1772 (gst_tee_request_new_pad), (gst_tee_release_pad),
1773 (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
1774 (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
1775 (gst_tee_chain):
1776 Be a lot smarter when deciding what srcpad to use for proxying
1777 the buffer_alloc. Also handle pad added/removed when doing so.
1778 Fixes #357959.
1779 Keep track of what pads we already pushed on in case we have pads
1780 added/removed while pushing. Fixes #374639
1782 * tests/check/Makefile.am:
1783 * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
1784 (tee_suite):
1785 Added unit test for pad resync.
1787 2007-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
1789 * po/nl.po:
1790 * po/sv.po:
1791 Updated translations.
1793 2007-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
1795 translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
1797 * po/LINGUAS:
1798 * po/fi.po:
1799 Added new Finnish translation.
1801 2007-06-28 Wim Taymans <wim@fluendo.com>
1803 * plugins/elements/gstmultiqueue.c: (apply_buffer),
1804 (single_queue_overrun_cb):
1805 When figuring out when a queue is filled, use our internal time estimate
1806 based on segments, just like check_full does.
1808 2007-06-27 Stefan Kost <ensonic@users.sf.net>
1810 * gst/gstminiobject.c: (gst_mini_object_get_type):
1811 Remove 3 do-nothing methods.
1813 2007-06-27 Wim Taymans <wim@fluendo.com>
1815 Patch by: Tim Angus <tim at ngus dot net>
1817 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
1818 (gst_capsfilter_set_property):
1819 Take a reference instead of a copy when setting "caps".
1820 Fix documentation to clarify this behaviour. Fixes #449414.
1822 2007-06-27 Stefan Kost <ensonic@users.sf.net>
1824 * gst/gstindexfactory.c: (gst_index_factory_get_type):
1825 * gst/gstplugin.c: (gst_plugin_init):
1826 * gst/gstpluginfeature.c: (gst_plugin_feature_init):
1827 * gst/gstquery.c: (gst_query_get_type):
1828 * gst/gstregistry.c: (gst_registry_init):
1829 * gst/gsturi.c: (gst_uri_handler_base_init):
1830 Remove empty instance_init() functions to save relocs and lessen the
1831 noise. Remove some of the function prototypes that are doubled by
1832 G_DEFINE_TYPE.
1834 2007-06-27 Wim Taymans <wim@fluendo.com>
1836 Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
1838 * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
1839 Add peer and direction in the XML serialisation of ghostpads.
1840 Fixes #449226.
1842 2007-06-26 Stefan Kost <ensonic@users.sf.net>
1844 * configure.ac:
1845 Preserve useful information, thanks Tim.
1847 2007-06-26 Jan Schmidt <thaytan@noraisin.net>
1849 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
1850 (gst_single_queue_flush), (apply_segment), (apply_buffer),
1851 (gst_single_queue_push_one), (gst_multi_queue_loop),
1852 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
1853 (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
1854 (compute_high_id), (gst_single_queue_new):
1855 * plugins/elements/gstmultiqueue.h:
1856 Take the multiqueue lock when updating the fill level so we don't get
1857 confused.
1859 After applying a buffer or event on the src pad segment, make sure to
1860 call gst_data_queue_limits_changed() to get the data queue to unblock
1861 and check the filled state again.
1863 Rework the not-linked pad handling so the logic is that not-linked
1864 pads can push as fast as they like, but only so they never get
1865 ahead of any linked pads.
1867 * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
1868 (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
1869 (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
1871 Add a test to check that not-linked pads always stay behind
1872 linked pads.
1874 Fixes: #430682
1876 2007-06-26 Jan Schmidt <thaytan@mad.scientist.com>
1878 * docs/random/release:
1879 Some updates to the release procedure.
1881 2007-06-26 Stefan Kost <ensonic@users.sf.net>
1883 * gst/gstelementfactory.c: (__gst_element_details_clear):
1884 Microoptimization that saves stunning 80 bytes.
1886 2007-06-25 Stefan Kost <ensonic@users.sf.net>
1888 * docs/plugins/gstreamer-plugins.args:
1889 * docs/plugins/inspect/plugin-coreelements.xml:
1890 * docs/plugins/inspect/plugin-coreindexers.xml:
1891 Update docs with caps info.
1893 2007-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
1895 * po/it.po:
1896 Updated Italian translation.
1898 2007-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
1900 * ChangeLog:
1901 * po/vi.po:
1902 Update Vietnamese translations.
1904 2007-06-21 Tim-Philipp Müller <tim at centricular dot net>
1906 * libs/gst/base/gstbasesink.c:
1907 Remove unused signal enum.
1909 2007-06-21 Jan Schmidt <thaytan@mad.scientist.com>
1911 * docs/gst/gstreamer-sections.txt:
1912 * gst/gstelement.c:
1913 * gst/gstutils.c: (gst_type_register_static_full):
1914 Beef up and include the docs for gst_type_register_static_full and
1915 gst_element_class_set_details_simple and add the API keyword
1916 in the ChangeLog.
1918 2007-06-21 Jan Schmidt <thaytan@mad.scientist.com>
1920 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
1921 (update_time_level), (gst_single_queue_push_one),
1922 (gst_multi_queue_chain), (gst_multi_queue_sink_event),
1923 (single_queue_overrun_cb), (single_queue_underrun_cb),
1924 (single_queue_check_full):
1925 Fix setting max-* properties after adding queues.
1926 Use IS_FILLED for checking visible items.
1927 Signal overrun if multiple queues overrun.
1928 Add extra debug output.
1929 Patch by: Wim Taymans <wim@fluendo.com>
1931 2007-06-21 Stefan Kost <ensonic@users.sf.net>
1933 * gst/gstelement.c: (gst_element_class_set_details_simple):
1934 * gst/gstelement.h:
1935 * gst/gstutils.c: (gst_type_register_static_full):
1936 * gst/gstutils.h:
1937 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
1938 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
1939 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
1940 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
1941 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
1942 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
1943 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
1944 * plugins/elements/gstidentity.c: (gst_identity_base_init):
1945 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
1946 * plugins/elements/gstqueue.c: (gst_queue_base_init),
1947 (apply_buffer), (gst_queue_chain):
1948 * plugins/elements/gsttee.c: (gst_tee_base_init):
1949 * plugins/elements/gsttypefindelement.c:
1950 (gst_type_find_element_base_init),
1951 (gst_type_find_element_class_init):
1952 Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
1953 API: add gst_type_register_static_full
1954 API: add gst_element_class_set_details_simple
1956 2007-06-21 Tim-Philipp Müller <tim at centricular dot net>
1958 * docs/pwg/advanced-types.xml:
1959 Fix typo in iana.org URI.
1961 2007-06-19 Andy Wingo <wingo@pobox.com>
1963 * tests/check/pipelines/simple-launch-lines.c
1964 (test_state_change_returns): Enable pull-mode tests now that
1965 basesink has been fixed.
1967 * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
1968 Changed from gst_base_sink_is_prerolled, reversing the sense of
1969 the return value. Returns FALSE also if the sink is in pull mode,
1970 in which case it needs no preroll.
1971 (gst_base_sink_query, gst_base_sink_change_state): Update for
1972 needs_preroll change.
1973 (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
1974 chaining up, in which we return SUCCESS directly if we activated
1975 in pull mode instead of ASYNC. Involves countering an async_start
1976 message sent before chaining up; not sure if this is correct, in
1977 an ideal world we only send async-start when activating in push
1978 mode.
1980 * tests/check/pipelines/simple-launch-lines.c
1981 (test_state_change_returns): New test, partially disabled until
1982 basesink is fixed.
1984 2007-06-19 Wim Taymans <wim@fluendo.com>
1986 * plugins/elements/gstmultiqueue.c: (apply_buffer),
1987 (gst_multi_queue_sink_event):
1988 Fix event leak.
1990 2007-06-19 Wim Taymans <wim@fluendo.com>
1992 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1993 (gst_bin_change_state_func), (bin_push_state_continue),
1994 (bin_handle_async_start), (bin_handle_async_done),
1995 (gst_bin_handle_message_func):
1996 Move the common code for posting state-change messages into
1997 one function.
1998 Broadcast the state signal after we posted the messages.
1999 Mark the bin as busy when it's doing a state-change.
2000 Make sure async-start/done messages don't interfere with the bin's
2001 state when it's busy.
2002 After the state change, let the bin check which elements completed the
2003 state change while it was busy so that it can update its state.
2005 2007-06-19 Jan Schmidt <thaytan@mad.scientist.com>
2007 * docs/random/release:
2008 Add a note about updating the doap file to the release checklist
2010 2007-06-18 Wim Taymans <wim@fluendo.com>
2012 * plugins/elements/gstmultiqueue.c: (apply_buffer),
2013 (gst_single_queue_push_one), (gst_multi_queue_chain),
2014 (gst_multi_queue_sink_event):
2015 Make sure we don't reference the buffer/event after we have given away
2016 ownership in the queue.
2018 2007-06-18 Wim Taymans <wim@fluendo.com>
2020 * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
2021 (gst_multi_queue_chain), (gst_multi_queue_sink_event):
2022 Update queue state _after_ adding the item in the queue because else we
2023 could end up being full without the element added yet.
2025 2007-06-18 Wim Taymans <wim@fluendo.com>
2027 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
2028 (gst_bin_remove_func), (gst_bin_get_state_func),
2029 (gst_bin_element_set_state), (gst_bin_continue_func),
2030 (bin_push_state_continue), (bin_handle_async_start),
2031 (bin_handle_async_done), (gst_bin_handle_message_func):
2032 * gst/gstbin.h:
2033 Immediatly commit the toplevel bin state when receiving an async-done
2034 message. This enables us to avoid spawning a thread to commit the state
2035 in some common cases and it also avoids some races.
2036 Avoid spawning a state thread when adding/removing async elements to a
2037 toplevel bin. Instead we immediatly update the bin state.
2038 Get rid of iterating all the children when getting the state in the bin
2039 because it is now always up-to-date.
2040 Fix bug where locked elements would always return _SUCCESS even it they
2041 returned NO_PREROLL before being locked.
2042 Fix the order of the state_change, async-start/done messages that was
2043 sometimes incorrect.
2044 Mark the state_dirty field as deprecated, we don't need it anymore as we
2045 are always up-to-date.
2047 * gst/gstelement.c: (gst_element_get_state_func),
2048 (gst_element_continue_state):
2049 Small debug inprovements.
2050 Return the previous element state return when nothing is pending instead
2051 of blindly returning SUCCESS.
2053 * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
2054 (gst_sinks_suite):
2055 Add a whole bunch of new testcases.
2057 2007-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
2059 * po/uk.po:
2060 * po/vi.po:
2061 Update translations.
2063 2007-06-15 Jan Schmidt <thaytan@mad.scientist.com>
2065 * gst/gstpad.c:
2066 Fix typo in the docs.
2068 2007-06-15 Wim Taymans <wim@fluendo.com>
2070 * docs/libs/gstreamer-libs-sections.txt:
2071 Add docs for new methods.
2073 2007-06-15 Wim Taymans <wim@fluendo.com>
2075 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
2076 (gst_multi_queue_item_new):
2077 Don't use GSlice because we don't depend on >= 2.10 yet.
2079 2007-06-15 Wim Taymans <wim@fluendo.com>
2081 * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
2082 (update_time_level), (apply_segment), (apply_buffer),
2083 (gst_single_queue_push_one), (gst_multi_queue_item_new),
2084 (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
2085 (gst_multi_queue_sink_event), (single_queue_overrun_cb),
2086 (single_queue_underrun_cb), (single_queue_check_full):
2087 Remove debug printf.
2089 2007-06-15 Wim Taymans <wim@fluendo.com>
2091 * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
2092 (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
2093 (gst_data_queue_set_flushing), (gst_data_queue_push),
2094 (gst_data_queue_pop), (gst_data_queue_drop_head),
2095 (gst_data_queue_limits_changed), (gst_data_queue_get_level):
2096 * libs/gst/base/gstdataqueue.h:
2097 Various cleanups.
2098 Added methods to get the current levels and to inform the queue that the
2099 'full' limits changed.
2101 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
2102 (gst_multi_queue_finalize), (gst_multi_queue_set_property),
2103 (gst_single_queue_flush), (update_time_level), (apply_segment),
2104 (apply_buffer), (gst_single_queue_push_one),
2105 (gst_multi_queue_item_steal_object),
2106 (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
2107 (gst_multi_queue_loop), (gst_multi_queue_chain),
2108 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
2109 (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
2110 (gst_multi_queue_src_query), (single_queue_overrun_cb),
2111 (single_queue_underrun_cb), (single_queue_check_full),
2112 (gst_single_queue_new):
2113 Keep track of time in the queue by measuring the difference between
2114 running_time on input and output. This gives more accurate results and
2115 can compensate for segments correctly.
2116 Make a queue by default only 5 buffers deep. We will now increase the
2117 buffer size depending on the filledness of the other queues.
2118 Factor out commong flush code.
2119 Make sure we don't add additional refcounts to buffers when we can avoid
2120 it.
2121 Propagate GstFlowReturn differently.
2122 Use GSlice for intermediate GstMultiQueueItems.
2123 Keep track of EOS.
2124 Resize queues on over and underruns based on filled level of other
2125 queues.
2126 When checking if the queue is filled, prefer to measure in time if we
2127 can and fall back to bytes when no time is known.
2129 * plugins/elements/gstqueue.c:
2130 Fix return value.
2132 2007-06-15 Wim Taymans <wim@fluendo.com>
2134 * libs/gst/base/gstbasetransform.c:
2135 (gst_base_transform_sink_event):
2136 Work around the brokenness of the event vmethod in basetransform. Prefer
2137 to return TRUE when the subclass returned FALSE (meaning don't forward
2138 the event).
2140 * libs/gst/base/gstbasetransform.h:
2141 Clarify the docs.
2143 2007-06-15 Wim Taymans <wim@fluendo.com>
2145 * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
2146 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
2147 (gst_base_src_default_query), (gst_base_src_get_range),
2148 (gst_base_src_start):
2149 * tests/check/pipelines/parse-launch.c: (setup_pipeline):
2150 Improve debugging.
2152 2007-06-15 Stefan Kost <ensonic@users.sf.net>
2154 * docs/pwg/advanced-types.xml:
2155 Added more formats to caps table.
2157 2007-06-15 Stefan Kost <ensonic@users.sf.net>
2159 * tools/gst-launch.c: (main):
2160 Remove crufy code. GOption does not need this workaround.
2162 2007-06-14 Stefan Kost <ensonic@users.sf.net>
2164 * libs/gst/controller/gstcontroller.c:
2165 (gst_controlled_property_set_interpolation_mode):
2166 Fix wrong getter for enums in controller.
2168 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
2170 * libs/gst/check/gstcheck.c: (gst_check_init):
2171 Intercept criticals and warnings in the Gst-Phonon log domain, so
2172 ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
2173 well.
2175 2007-06-14 Edward Hervey <edward@fluendo.com>
2177 * gst/gstparamspecs.c: (_gst_param_fraction_validate):
2178 Since this file doesn't include "gst.h" it will not go through the
2179 macros that disable GST_LOG if debugging was disabled.
2181 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
2183 * libs/gst/check/Makefile.am:
2184 * libs/gst/check/gstcheck.h:
2185 * pkgconfig/gstreamer-check-uninstalled.pc.in:
2186 * pkgconfig/gstreamer-check.pc.in:
2187 Ugly 'fix' for the controller unit test on the p5 bot: in
2188 fail_unless_equals_float() check whether the values are 'almost
2189 equal' by allowing a small absolute error, which should be good
2190 enough for our use cases (normal numbers and values close to 0).
2191 Proper fixage left to floating point arithmetic aficionados.
2193 2007-06-14 Stefan Kost <ensonic@users.sf.net>
2195 * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
2196 (gst_base_sink_render_object), (gst_base_sink_get_position):
2197 Add two breaks thats where missing.
2199 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
2201 * docs/libs/gstreamer-libs-sections.txt:
2202 * libs/gst/check/gstcheck.h:
2203 API: add fail_unless_equals_float() and assert_equals_float().
2204 Add documentation for some of the macros.
2206 * tests/check/libs/controller.c: (GST_START_TEST):
2207 Use newly-added asserts.
2209 2007-06-14 Stefan Kost <ensonic@users.sf.net>
2211 * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
2212 Show the caps change in the log to help spotting the case of not
2213 exactly matching caps.
2215 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
2217 * docs/pwg/building-boiler.xml:
2218 Fix typos, spotted by Thijs Vermeir (#447190).
2220 2007-06-13 Jan Schmidt <thaytan@mad.scientist.com>
2222 * docs/plugins/tmpl/.cvsignore:
2223 Ignore file to keep the buildbots happy
2225 2007-06-13 Jan Schmidt <thaytan@mad.scientist.com>
2227 * docs/plugins/Makefile.am:
2228 * docs/plugins/gstreamer-plugins-docs.sgml:
2229 * docs/plugins/gstreamer-plugins-sections.txt:
2230 Pull fdsink into the docs too.
2232 2007-06-11 Sebastian Dröge <slomo@circular-chaos.org>
2234 * libs/gst/controller/gstinterpolation.c:
2235 Actually use the new functions with min/max checks for the trigger and
2236 none interpolation modes for get() and get_value_array() instead of
2237 just the latter.
2239 2007-06-10 Sebastian Dröge <slomo@circular-chaos.org>
2241 * libs/gst/controller/gstcontroller.c:
2242 (gst_controlled_property_free):
2243 Unset the minimum and maximum GValues when freeing the corresponding
2244 GstControllerProperty struct.
2246 2007-06-09 Sebastian Dröge <slomo@circular-chaos.org>
2248 * libs/gst/controller/gstcontroller.c:
2249 (gst_controlled_property_new):
2250 * libs/gst/controller/gstcontrollerprivate.h:
2251 * libs/gst/controller/gstinterpolation.c:
2252 (gst_controlled_property_find_control_point_node),
2253 (interpolate_none_get), (interpolate_none_get_enum_value_array),
2254 (interpolate_none_get_string_value_array),
2255 (interpolate_trigger_get),
2256 (interpolate_trigger_get_enum_value_array),
2257 (interpolate_trigger_get_string_value_array):
2258 Protect against values larger or smaller than the minimum or maximum
2259 allowed value for the property when using values that can be compared.
2261 Optimize trigger interpolator a bit by taking the last requested value
2262 into account instead of always looping through the complete list.
2264 Fix coding style a bit, everywhere else we use "return foo" instead
2265 of "return (foo)".
2267 * tests/check/libs/controller.c: (GST_START_TEST),
2268 (gst_controller_suite):
2269 Add unit test for the protection against too large or too small
2270 values.
2272 2007-06-08 Sebastian Dröge <slomo@circular-chaos.org>
2274 * docs/random/slomo/controller.txt:
2275 Add some thoughts about the future of the controller.
2277 2007-06-08 Wim Taymans <wim@fluendo.com>
2279 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
2280 Don't overflow in retimestamping code.
2282 2007-06-07 Sebastien Moutte <sebastien@moutte.net>
2284 * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
2285 Use gst_util_guint64_to_gdouble for conversions.
2286 * win32/common/libgstreamer.def:
2287 Add new exported functions.
2289 2007-06-07 Tim-Philipp Müller <tim at centricular dot net>
2291 * gst/gstutils.c:
2292 Small docs addition.
2294 2007-06-07 Stefan Kost <ensonic@users.sf.net>
2296 * README:
2297 Remove that test line again.
2299 2007-06-07 Stefan Kost <ensonic@users.sf.net>
2301 * README:
2302 Test commit mail sending.
2304 2007-06-07 Stefan Kost <ensonic@users.sf.net>
2306 * configure.ac:
2307 Fix typo and test commit mail sending.
2309 2007-06-07 Stefan Kost <ensonic@users.sf.net>
2311 * tests/examples/controller/audio-example.c:
2312 Improve comment and test commit mail sending.
2314 2007-06-07 Wim Taymans <wim@fluendo.com>
2316 * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
2317 (gst_bin_remove_func), (gst_bin_element_set_state),
2318 (bin_handle_async_start), (bin_handle_async_done),
2319 (gst_bin_handle_message_func):
2320 Add helper function to find messages.
2321 Generate the async-done messages together with the state change
2322 messages.
2323 Small cleanups in handling toplevel bins.
2325 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
2327 * libs/gst/base/gstdataqueue.c:
2328 * libs/gst/base/gstdataqueue.h:
2329 * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
2330 (gst_multi_queue_item_new), (gst_multi_queue_chain),
2331 (gst_multi_queue_sink_event):
2332 * tests/check/elements/multiqueue.c: (multiqueue_suite):
2333 Fix multiqueue leaking buffers and events when downstream or the
2334 queue are flushing. Make refcounting assumptions explicit and
2335 document them (shouldn't break existing code that uses it other than
2336 maybe leak miniobjects, but that already happens anyway). Add unit
2337 test for the most common flushing case. Fixes #423700.
2339 2007-06-06 Sebastian Dröge <slomo@circular-chaos.org>
2341 * libs/gst/controller/gstcontroller.c:
2342 Clarify docs: The get_all, get_value_array(s) functions
2343 don't modify the GObject properties.
2345 2007-06-06 Sebastian Dröge <slomo@circular-chaos.org>
2347 * libs/gst/controller/gstcontroller.c:
2348 (gst_controlled_property_set_interpolation_mode),
2349 (gst_controlled_property_prepend_default),
2350 (gst_controlled_property_new), (gst_controller_set_unlocked),
2351 (gst_controller_set), (gst_controller_set_from_list),
2352 (gst_controller_unset), (gst_controller_unset_all):
2353 * libs/gst/controller/gstcontrollerprivate.h:
2354 * libs/gst/controller/gstinterpolation.c:
2355 Factor out the 'set' logic into gst_controller_set_unlocked for the
2356 gst_controller_set and gst_controller_set_from_list functions.
2358 To make life of the interpolators easier always add a control point
2359 at timestamp zero with the default value.
2361 In the linear interpolator make things more obvious by better variable
2362 naming (slope).
2364 Implement cubic interpolation mode (by using a natural cubic spline)
2365 and map the quadratic interpolation mode to this too (as quadratic
2366 doesn't make much sense, see discussion on the list).
2368 * tests/check/libs/controller.c: (GST_START_TEST),
2369 (gst_controller_suite):
2370 Add unit test for the cubic interpolation mode and check everywhere
2371 if the interpolation mode could be set as expected.
2373 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
2375 * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
2376 Don't use GLib-2.10 functions, we still depend on
2377 GLib-how-old-is-it-again-2.8.
2379 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
2381 * docs/gst/gstreamer-sections.txt:
2382 * gst/Makefile.am:
2383 * gst/gst.c:
2384 * gst/gst.h:
2385 * gst/gstparamspecs.c: (_gst_param_fraction_init),
2386 (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
2387 (_gst_param_fraction_values_cmp),
2388 (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
2389 * gst/gstparamspecs.h:
2390 * gst/gstvalue.c:
2391 * tests/check/Makefile.am:
2392 * tests/check/gst/.cvsignore:
2393 * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
2394 (gst_dummy_obj_class_init), (gst_dummy_obj_init),
2395 (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
2396 (GST_START_TEST), (gst_param_spec_suite):
2397 API: add GstParamSpecFraction, so elements can have fraction
2398 properties without lots of painful string parsing (#444648).
2400 2007-06-05 Wim Taymans <wim@fluendo.com>
2402 * gst/gstobject.c: (gst_object_class_init):
2403 Fix signal signature.
2405 * gst/gstsegment.c:
2406 Add small clarification in the api docs.
2408 * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
2409 States are protected with object lock.
2411 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
2413 * AUTHORS:
2414 I should probably be listed as an author by now.
2416 * docs/random/release:
2417 Update the release doc
2419 2007-06-05 Tim-Philipp Müller <tim at centricular dot net>
2421 * gst/gstvalue.c:
2422 Make docs for gst_value_compare() mention return enums that
2423 actually exist.
2425 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
2427 * configure.ac:
2428 Back to CVS
2430 === release 0.10.13 ===
2432 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
2434 * configure.ac:
2435 releasing 0.10.13, "With or without you"
2437 2007-05-25 Wim Taymans <wim@fluendo.com>
2439 * gst/gstbin.c: (bin_handle_async_done):
2440 Make sure that the child bin stops after completing the async state
2441 change so that the parent can continue the state change to PLAYING.
2442 Fixes #441159.
2444 2007-05-25 Wim Taymans <wim@fluendo.com>
2446 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
2447 (unref_data), (gst_collect_pads_remove_pad),
2448 (gst_collect_pads_check_pads):
2449 Use additional refcounting to avoid crashes when dynamically adding and
2450 removing pads. Fixes #420206.
2452 2007-05-24 Wim Taymans <wim@fluendo.com>
2454 * tools/gst-launch.c: (event_loop):
2455 When buffering goes from a two digit to a single digit number, make sure
2456 to remove the old second digit by writing a blank over it.
2458 2007-05-24 Tim-Philipp Müller <tim at centricular dot net>
2460 * libs/gst/base/gstdataqueue.c:
2461 Eliminate tabs and trailing comma in enum list; fix some typos.
2463 2007-05-24 Wim Taymans <wim@fluendo.com>
2465 * tests/check/gst/gstbin.c: (GST_START_TEST):
2466 Allow refcount of 3 and 4 because some state thread might still be busy
2467 with it.
2469 2007-05-24 Tim-Philipp Müller <tim at centricular dot net>
2471 * plugins/elements/Makefile.am:
2472 * plugins/elements/gstmultiqueue.h:
2473 * plugins/elements/gstqueue.h:
2474 These are not installed headers, no need for padding.
2476 2007-05-24 Wim Taymans <wim@fluendo.com>
2478 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
2479 (gst_bin_continue_func):
2480 Enable latency for next release.
2481 Restore STATE_LOCK around recalc_state that was left out during the
2482 rewrite and could result in racy behaviour when _get_state and
2483 recalc_state are run concurrently. See #440463.
2485 2007-05-23 Wim Taymans <wim@fluendo.com>
2487 * tests/check/gst/gstsystemclock.c: (store_callback),
2488 (GST_START_TEST):
2489 Improve test_async_order to also work when both timers are already
2490 expired when we get scheduled to check it.
2492 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
2494 * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
2495 (gst_bin_set_property), (gst_bin_get_property),
2496 (gst_bin_remove_func), (gst_bin_handle_message_func):
2497 * gst/gstbin.h:
2498 'private' is a c++ keyword, let's not use that in header files,
2499 otherwise c++ compilers will throw a tantrum.
2501 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
2503 * plugins/elements/gstelements.c:
2504 * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
2505 (gst_file_sink_get_current_offset):
2506 * plugins/indexers/gstindexers.c: (plugin_init):
2507 Use #ifdef for HAVE_XYZ for consistency.
2509 * tests/check/Makefile.am:
2510 * tests/check/elements/.cvsignore:
2511 * tests/check/elements/filesink.c: (setup_filesink),
2512 (cleanup_filesink), (GST_START_TEST), (filesink_suite):
2513 Add some unit tests for filesink.
2515 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
2517 Patch by: Mark Nauwelaerts <manauw at skynet be>
2519 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
2520 (gst_file_sink_query), (gst_file_sink_do_seek),
2521 (gst_file_sink_get_current_offset), (gst_file_sink_render):
2522 * plugins/elements/gstfilesink.h:
2523 Fix position reporting; rename data_written member to current_pos to
2524 reflect its real meaning (fixes #412648).
2526 2007-05-22 Edward Hervey <edward@fluendo.com>
2528 * docs/gst/gstreamer-sections.txt:
2529 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
2530 (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
2531 (gst_bin_remove_func), (gst_bin_handle_message_func):
2532 * gst/gstbin.h:
2533 Add a property for bins that handle the state change of their childs.
2534 Fixes #435880
2536 2007-05-22 Sebastian Dröge <slomo@circular-chaos.org>
2538 * libs/gst/controller/gstinterpolation.c:
2539 Use an array of the correct type when using _get_value_array with
2540 linear interpolation.
2542 2007-05-22 Stefan Kost <ensonic@users.sf.net>
2544 * gst/gstelement.c (gst_element_requires_clock,
2545 gst_element_provides_clock, gst_element_request_pad,
2546 gst_element_class_set_details, gst_element_class_set_details_simple,
2547 gst_element_default_send_event, gst_element_abort_state,
2548 gst_element_continue_state, gst_element_set_state,
2549 gst_element_set_state_func, iterator_activate_fold_with_resync):
2550 * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
2551 gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
2552 gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
2553 gst_pad_get_range, gst_pad_pull_range):
2554 * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
2555 GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
2556 GstPadActivateModeFunction, GstPadChainFunction,
2557 GstPadGetCapsFunction, GstPadAcceptCapsFunction,
2558 GstPadFixateCapsFunction, GstPadTemplate):
2559 * gst/gstpipeline.c (gst_pipeline_change_state,
2560 gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
2561 gst_pipeline_set_clock, gst_pipeline_auto_clock,
2562 gst_pipeline_get_delay):
2563 Whitespace and docs fixes.
2565 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
2567 * libs/gst/controller/gstinterpolation.c:
2568 (interpolate_trigger_get_enum_value_array),
2569 (interpolate_trigger_get_string_value_array):
2570 Add support for retrieving value arrays when using the trigger
2571 interpolation mode.
2573 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
2575 * libs/gst/controller/gstcontroller.c:
2576 (gst_controller_get_value_array):
2577 * libs/gst/controller/gstcontroller.h:
2578 Clarify the docs of gst_controller_get_value_array(): The array where
2579 the values should be written to must be allocated as there seems to be
2580 no way to get the size of a random GType. This doesn't change any
2581 behaviour. Also fix some typos all over the place and remove an unused,
2582 commented function that is not necessary as g_object_set() could be
2583 used instead.
2584 * tests/check/libs/controller.c: (GST_START_TEST),
2585 (gst_controller_suite):
2586 Add unit test for gst_controller_get_value_array().
2588 2007-05-21 Jan Schmidt <thaytan@mad.scientist.com>
2590 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
2592 Disable part of the gst_buffer_try_new_and_alloc test, because
2593 it can happily succeed on 64-bit systems where there's more address
2594 space available.
2596 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
2598 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
2599 Add unit test for the improved caps checking from bug #421543.
2601 2007-05-21 Wim Taymans <wim@fluendo.com>
2603 * docs/design/part-synchronisation.txt:
2604 Small addition.
2606 * gst/gstbin.c: (gst_bin_query):
2607 * plugins/elements/gstqueue.c: (apply_segment):
2608 Improve debugging.
2610 * gst/gstmessage.h:
2611 Improve docs.
2613 2007-05-21 Wim Taymans <wim@fluendo.com>
2615 * gst/gstpad.c: (gst_pad_get_caps_unlocked),
2616 (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
2617 (gst_pad_configure_src):
2618 Added simple version of improved caps checking. It was previously
2619 assumed that a setcaps function would check the validity of the caps but
2620 people prefer us to check caps against the template automatically.
2621 Fixes #421543.
2623 2007-05-21 Wim Taymans <wim@fluendo.com>
2625 * libs/gst/base/gstbasetransform.h:
2626 Fix macro for locking/unlocking the transform lock.
2628 2007-05-19 Tim-Philipp Müller <tim at centricular dot net>
2630 * docs/plugins/tmpl/.cvsignore:
2631 Ignore more.
2633 2007-05-18 Edward Hervey <edward@fluendo.com>
2635 * plugins/elements/gstqueue.c: (gst_queue_loop):
2636 Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
2637 for the subtle art of warning a potentially blocking thread that it
2638 should check the source pad return value, and relay the information
2639 upstream.
2641 2007-05-18 Edward Hervey <edward@fluendo.com>
2643 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
2644 Release the queue lock !
2646 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
2648 * docs/libs/gstreamer-libs-sections.txt:
2649 Add the two new controller functions to the appropiate places.
2651 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
2653 reviewed by: Stefan Kost <ensonic@users.sf.net>
2655 * libs/gst/controller/gstcontroller.c:
2656 (gst_controller_suggest_next_sync), (gst_controller_sync_values),
2657 (_gst_controller_get_property), (_gst_controller_set_property),
2658 (_gst_controller_init), (_gst_controller_class_init):
2659 * libs/gst/controller/gstcontroller.h:
2660 * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
2661 (gst_object_get_control_rate), (gst_object_set_control_rate):
2662 API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
2663 Add API that provides sync suggestion timestamps for elements that
2664 call gst_object_sync_values() from which those elements can subdivide
2665 their processing loop to get the best results for the controlled
2666 properties. For now it just suggests last_sync + control_rate as
2667 new timestamp but this will be improved in the future.
2669 While doing that change the control-rate property to a GstClockTime
2670 from guint and change it's meaning from samples to nanoseconds as
2671 the GstController doesn't know anything about sampling rate. Strictly
2672 speaking this breaks ABI but as the control-rate property didn't do
2673 anything in the past and as such couldn't be used this should be no
2674 problem.
2676 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
2678 reviewed by: Stefan Kost <ensonic@users.sf.net>
2680 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
2681 (gst_controller_unset_all):
2682 * libs/gst/controller/gstcontrollerprivate.h:
2683 * libs/gst/controller/gstinterpolation.c:
2684 (gst_controlled_property_find_control_point_node):
2685 Save last synced value from the list to continue searching from there
2686 in future syncs. This speeds everything up a bit.
2688 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
2690 reviewed by: Stefan Kost <ensonic@users.sf.net>
2692 * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
2693 (gst_control_point_find), (gst_controlled_property_new),
2694 (gst_control_point_free), (gst_controlled_property_free),
2695 (gst_controller_set), (gst_controller_set_from_list),
2696 (gst_controller_unset), (gst_controller_unset_all),
2697 (gst_controller_sync_values):
2698 * libs/gst/controller/gstcontroller.h:
2699 * libs/gst/controller/gstcontrollerprivate.h:
2700 * libs/gst/controller/gstinterpolation.c:
2701 (gst_controlled_property_find_control_point_node),
2702 (interpolate_none_get), (interpolate_trigger_get):
2703 Add a new private GstControlPoint struct which "inherits" from
2704 GstTimedValue to allow different interpolators to store internal
2705 values next to each control point. From the outside everything is
2706 still a GstControlPoint so we don't loose binary compatibility.
2707 Also fixup all the GValue handling to not leak GValues or list nodes.
2708 * tests/check/libs/controller.c: (GST_START_TEST):
2709 Free the list nodes and GValues in the controller_misc test.
2711 2007-05-17 Edward Hervey <edward@fluendo.com>
2713 * gst/gstsegment.c:
2714 Small doc fix.
2716 2007-05-16 Tim-Philipp Müller <tim at centricular dot net>
2718 * gst/gstplugin.c: (gst_plugin_load_file):
2719 If we fail to load a plugin because of unresolved symbols or missing
2720 libraries and spew a warning to stderr, we may just as well mention
2721 which plugin it was that failed to load.
2723 2007-05-13 David Schleef <ds@schleef.org>
2725 * docs/Makefile.am: the gtk-doc makefile snippet correctly
2726 handles the case when ENABLE_GTK_DOC is false, and installs
2727 the prebuilt documentation. So gtk-doc subdirs are
2728 unconditionally enabled. Fixes: #349099.
2730 2007-05-13 David Schleef <ds@schleef.org>
2732 * gst/gstutils.h: Reword some documentation.
2734 2007-05-12 David Schleef <ds@schleef.org>
2736 * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
2737 do anything with the passed "module" parameter, so remove it.
2738 Allows removal of additional vestigal code.
2740 2007-05-12 David Schleef <ds@schleef.org>
2742 * gst/gstplugin.c:
2743 Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
2744 Switch to using g_stat() because it's more portable.
2746 2007-05-12 David Schleef <ds@schleef.org>
2748 * gst/gst.c:
2749 Add GST_DISABLE_OPTION_PARSING, in order to disable option
2750 parsing for embedded systems.
2751 * gst/gstelementfactory.c:
2752 Allow gst_element_register() to be called with plugin==NULL.
2753 Did nobody notice that static elements were broken?
2755 2007-05-12 Wim Taymans <wim@fluendo.com>
2757 * tools/gst-launch.c: (event_loop):
2758 Give more interesting info when buffering starts and stops.
2759 Fix case where buffering starts but we fail to update the buffering flag
2760 because the target state is not PLAYING.
2762 2007-05-12 Wim Taymans <wim@fluendo.com>
2764 * plugins/elements/gstqueue.c: (gst_queue_init),
2765 (gst_queue_finalize), (update_time_level), (apply_segment),
2766 (apply_buffer), (gst_queue_locked_flush),
2767 (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
2768 (gst_queue_handle_sink_event), (gst_queue_chain),
2769 (gst_queue_push_one), (gst_queue_loop):
2770 * plugins/elements/gstqueue.h:
2771 Refactor an cleanup queue a bit.
2772 Do better time level calculations that also work when the srcpad is not
2773 yet running.
2774 Remove some unneeded debug lines.
2776 * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
2777 Added testcase for time level measurement.
2778 Try to make some stuff more racefree.
2780 2007-05-11 Tim-Philipp Müller <tim at centricular dot net>
2782 * gst/gsturi.c: (gst_element_make_from_uri):
2783 Don't leak plugin feature.
2785 * tests/check/Makefile.am:
2786 * tests/check/gst/.cvsignore:
2787 * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
2788 Add brain-dead unit test.
2790 2007-05-11 Tim-Philipp Müller <tim at centricular dot net>
2792 Patch by: Jeroen Wouters <woutersj at gmail com>
2794 * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
2795 Treat protocol strings in a case-insensitive way (#437563).
2797 2007-05-11 Michael Smith <msmith@fluendo.com>
2799 * gst/gstplugin.c: (gst_plugin_load_file):
2800 * gst/gstregistry.c: (gst_registry_scan_path_level):
2801 Don't print a g_warning for any failure to load a shared object.
2802 Instead, push this down into gstplugin.c, and warn _only_ if we
2803 failed to open the module (i.e. failure to link).
2804 Avoids warnings on normal, working, non-plugin .so files.
2806 2007-05-11 Stefan Kost <ensonic@users.sf.net>
2808 * gst/gstplugin.c (gst_plugin_load_file):
2809 * gst/gstregistry.c (GST_CAT_DEFAULT,
2810 gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
2811 Print a g_warning if there was an error when loading a plugins during
2812 registry scan. The shuld help beginners starting with gst-plugin
2813 template.
2815 2007-05-10 Wim Taymans <wim@fluendo.com>
2817 * plugins/elements/gstqueue.c: (gst_queue_class_init),
2818 (update_time_level), (gst_queue_locked_flush),
2819 (gst_queue_handle_sink_event), (gst_queue_chain),
2820 (gst_queue_push_one), (gst_queue_loop):
2821 * plugins/elements/gstqueue.h:
2822 Be smarter when calculating the current amount of data in the queue by
2823 measuring the difference between start and end timestamps (in running
2824 time) inside the queue. Fixes #432876.
2825 API: GstQueue::pushing to notify elements that we are pushing data again
2826 since the running signal is rather broken for this purpose.
2828 2007-05-10 Stefan Kost <ensonic@users.sf.net>
2830 * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
2831 gst_queue_base_init, gst_queue_init):
2832 use GST_BOILERPLATE
2834 2007-05-09 Sebastien Moutte <sebastien@moutte.net>
2836 * win32/common/libgstreamer.def:
2837 Add new exported functions.
2838 * win32/vs6/grammar.dsp:
2839 Use grammar pre-generated files.
2841 2007-05-09 Tim-Philipp Müller <tim at centricular dot net>
2843 Based on patch by: Peter Kjellerstedt <pkj at axis com>
2845 * gst/Makefile.am:
2846 * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
2847 * gst/gstparse.h:
2848 * gst/gstutils.c: (gst_parse_bin_from_description):
2849 * gst/gstutils.h:
2850 Maintain API and ABI when --disable-parse is used. Now that
2851 we have an appropriate error code, we can just return NULL and the
2852 appropriate error when gst_parse_launch() is used despite it having
2853 been disabled (#342564).
2855 * tests/check/Makefile.am:
2856 * tests/check/pipelines/.cvsignore:
2857 * tests/check/pipelines/parse-disabled.c:
2858 Make sure these functions exist and return NULL plus a GError when
2859 --disable-parse is used.
2861 2007-05-09 Tim-Philipp Müller <tim at centricular dot net>
2863 * tests/benchmarks/complexity.c: (main):
2864 * tests/benchmarks/mass-elements.c: (main):
2865 Set a good example and don't leak messages.
2867 2007-05-06 Stefan Kost <ensonic@users.sf.net>
2869 * docs/gst/Makefile.am:
2870 * docs/libs/Makefile.am:
2871 Correct fixxrefs options.
2873 * docs/plugins/Makefile.am:
2874 * docs/plugins/gstreamer-plugins-docs.sgml:
2875 * docs/plugins/gstreamer-plugins-sections.txt:
2876 * plugins/elements/Makefile.am:
2877 * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
2878 * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
2879 GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
2880 GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
2881 GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
2882 _GstCapsFilterClass, trans_class):
2883 * plugins/elements/gstelements.c (name, rank, type, _elements):
2884 * plugins/elements/gstidentity.c
2885 (gst_identity_check_imperfect_timestamp,
2886 gst_identity_check_imperfect_offset):
2887 Document capsfilter and add doc-blurb to identity.
2889 2007-05-04 Tim-Philipp Müller <tim at centricular dot net>
2891 * libs/gst/controller/gstcontroller.c:
2892 (gst_controlled_property_set_interpolation_mode):
2893 * libs/gst/controller/gstinterpolation.c:
2894 Don't crash if someone tries to set an interpolation mode that
2895 is invalid or that isn't supported yet. Fixes #422295.
2897 * tests/check/libs/controller.c: (GST_START_TEST),
2898 (gst_controller_suite):
2899 Add a test case for the above.
2901 2007-05-03 Edward Hervey <edward@fluendo.com>
2903 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2904 Properly set the last_stop position on GstSegment. This will only happen
2905 if there is a buffer to push out.
2907 2007-05-03 Wim Taymans <wim@fluendo.com>
2909 * libs/gst/base/gstbasetransform.c:
2910 (gst_base_transform_buffer_alloc):
2911 always_in_place does not mean that the sink and source caps are the
2912 same! Make sure we don't blindly proxy the buffer_alloc in this case.
2914 2007-05-03 Wim Taymans <wim@fluendo.com>
2916 * docs/libs/gstreamer-libs-sections.txt:
2917 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
2918 (gst_base_src_default_query), (gst_base_src_get_range):
2919 * libs/gst/base/gstbasesrc.h:
2920 API: gst_base_src_query_latency(). Added method so that subclasses can
2921 easily get the latency values of the base source class.
2923 2007-05-02 Zaheer Abbas Merali <<zaheerabbas at merali dot org>>
2925 * tools/gst-inspect.c (print_implementation_info):
2926 Remove 0.8 cruft.
2928 2007-05-02 Tim-Philipp Müller <tim at centricular dot net>
2930 * tools/Makefile.am:
2931 * tools/gst-launch.1.in:
2932 Don't create a customised man page based on the host architecture,
2933 describe the default registry path generically. That way the man
2934 page is the same for all architectures and packagers have one
2935 multilib issue less to deal with. Fixes #434926.
2937 2007-05-02 Wim Taymans <wim@fluendo.com>
2939 * gst/gstpad.c:
2940 Fix documentation as spotted by rg on IRC.
2942 2007-04-29 Stefan Kost <ensonic@users.sf.net>
2944 * gst/gstutils.c:
2945 Improve docs for gst_element_{link,unlink}.
2947 2007-04-28 Tim-Philipp Müller <tim at centricular dot net>
2949 * docs/design/part-events.txt:
2950 * docs/design/part-overview.txt:
2951 * gst/gstevent.c:
2952 * gst/gsturi.c:
2953 * gst/gsturi.h:
2954 * libs/gst/base/gstbasesink.c:
2955 Typo fixes; minor docs addition.
2957 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
2959 * docs/gst/gstreamer-sections.txt:
2960 * gst/gsturi.c: (get_element_factories_from_uri_protocol),
2961 (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
2962 * gst/gsturi.h:
2963 API: Add gst_uri_protocol_is_supported(), which checks if a sink
2964 or src that supports a given URI protocol exists.
2966 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
2968 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
2969 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
2970 Set the location to NULL if "file://" is set as URI. Otherwise
2971 some random previous URI would still be set if "file://" is
2972 set on an already used filesink/filesrc.
2974 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
2976 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
2977 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
2978 Special case the "file://" URI as as this is used by some
2979 applications to test with gst_element_make_from_uri if there's
2980 an element that supports the URI protocol.
2981 Also move the g_path_is_absolute() check for the location part
2982 of the URI to also check this for "file://localhost/bla" URIs.
2984 2007-04-26 Tim-Philipp Müller <tim at centricular dot net>
2986 * docs/gst/gstreamer-sections.txt:
2987 * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
2988 * gst/gstbuffer.h:
2989 * tests/check/gst/gstbuffer.c: (GST_START_TEST),
2990 (gst_buffer_suite):
2991 API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
2993 2007-04-26 Stefan Kost <ensonic@users.sf.net>
2995 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
2996 (gst_registry_binary_load_pad_template),
2997 (gst_registry_binary_load_plugin),
2998 (gst_registry_binary_read_cache):
2999 * gst/gstregistrybinary.h:
3000 Implement no-mmap alternative for registry reading. Do code cleanups.
3001 Add more comments about avoiding strdups for all text data. Comments
3002 welcome.
3004 2007-04-25 Stefan Kost <ensonic@users.sf.net>
3006 * gst/gstregistrybinary.h (GstBinaryPluginElement,
3007 GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
3008 GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
3009 Comment structs and reformat to fix the build (that stuff should go
3010 into a priv. header).
3012 2007-04-25 Stefan Kost <ensonic@users.sf.net>
3014 * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
3015 (gst_registry_binary_load_feature):
3016 * gst/gstregistrybinary.h:
3017 Refactor so that we can implement multiple features. Add support for
3018 TypeFindFactory features.
3020 2007-04-24 Stefan Kost <ensonic@users.sf.net>
3022 Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
3024 * configure.ac:
3025 Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
3027 2007-04-23 Stefan Kost <ensonic@users.sf.net>
3029 * gst/gstbin.c: (gst_bin_element_set_state),
3030 (iterator_activate_fold_with_resync), (gst_bin_continue_func),
3031 (bin_handle_async_done), (gst_bin_handle_message_func):
3032 Fix build with --gst-disable-gst-debug
3034 2007-04-21 Tim-Philipp Müller <tim at centricular dot net>
3036 * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
3037 Make sure streaming has finished before calling the ::stop() vfunc,
3038 since that vfunc might clear state which is being used in the
3039 streaming thread. This fixes a race that caused crashes in
3040 audioresample when shutting down a pipeline (#420106).
3042 2007-04-20 Stefan Kost <ensonic@users.sf.net>
3044 * docs/gst/gstreamer-sections.txt:
3045 That was one byte missing.
3047 2007-04-20 Stefan Kost <ensonic@users.sf.net>
3049 * configure.ac:
3050 * docs/gst/gstreamer-sections.txt:
3051 * gst/Makefile.am:
3052 * gst/gstconfig.h.in:
3053 * gst/gstobject.c: (gst_object_class_init),
3054 (gst_signal_object_class_init):
3055 * gst/gstobject.h:
3056 2nd attempt to have a xml-less build as a joined effort of #413123
3057 and #421480.
3059 2007-04-20 Stefan Kost <ensonic@users.sf.net>
3061 * docs/design/draft-tagreading.txt:
3062 Added open issues/thoughts to draft.
3064 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
3066 * gst/parse/grammar.tab.pre.c:
3067 * gst/parse/grammar.tab.pre.h:
3068 * gst/parse/lex._gst_parse_yy.pre.c:
3069 Update the prebuild parser sources.
3071 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
3073 * gst/parse/Makefile.am:
3074 And now fix the building of the flex sources. Now everything should
3075 work as expected.
3077 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
3079 * gst/parse/Makefile.am:
3080 Now hopefully fix the build failures by setting proper rule
3081 dependencies and moving instead of copying.
3083 2007-04-19 Stefan Kost <ensonic@users.sf.net>
3085 * tests/benchmarks/complexity.gnuplot:
3086 * tests/benchmarks/complexity.scm:
3087 * tests/benchmarks/mass-elements.gnuplot:
3088 * tests/benchmarks/mass-elements.scm:
3089 Total licensification.
3091 2007-04-19 Stefan Kost <ensonic@users.sf.net>
3093 * gst/parse/Makefile.am:
3094 Fix the build by correcting the rule that gave wrong files to flex.
3096 2007-04-19 Stefan Kost <ensonic@users.sf.net>
3098 * tests/benchmarks/complexity.c:
3099 * tests/benchmarks/mass-elements.c:
3100 Change licence to LGPL as granted by Benjamin and Andy.
3102 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
3104 * gst/parse/Makefile.am:
3105 Add correct grammar.tab.h dependency if compiling without new enough
3106 flex. Fixes #431150.
3108 2007-04-18 Sebastian Dröge <slomo@circular-chaos.org>
3110 * gst/parse/Makefile.am:
3111 Fix typo and use outdated sources if the flex/bison sources are newer
3112 than the pregenerated ones but flex is too old. Print a warning in
3113 that case. This should fix the build on the build bot.
3115 2007-04-18 Sebastian Dröge <slomo@circular-chaos.org>
3117 Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
3118 * gst/parse/Makefile.am:
3119 * gst/parse/grammar.y:
3120 * gst/parse/parse.l:
3121 Make the parser reentrant and recursively callable. This requires flex
3122 >= 2.5.31, for older versions pregenerated sources are used as we
3123 can't bump the build dependency. Finally fixes #349180.
3125 * gst/gstparse.c: (gst_parse_launch):
3126 Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
3127 now anyway.
3129 * docs/gst/Makefile.am:
3130 * docs/gst/Makefile.am:
3131 * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
3132 (__gst_parse_strfree), (__gst_parse_link_new),
3133 (__gst_parse_link_free), (__gst_parse_chain_new),
3134 (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
3135 (gst_parse_element_set), (gst_parse_free_link),
3136 (gst_parse_found_pad), (gst_parse_perform_delayed_link),
3137 (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
3138 (_gst_parse_launch):
3139 * gst/parse/grammar.tab.pre.h:
3140 * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
3141 (yy_get_previous_state), (yy_try_NUL_trans), (input),
3142 (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
3143 (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
3144 (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
3145 (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
3146 (_gst_parse_yypop_buffer_state),
3147 (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
3148 (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
3149 (yy_fatal_error), (_gst_parse_yyget_extra),
3150 (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
3151 (_gst_parse_yyget_in), (_gst_parse_yyget_out),
3152 (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
3153 (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
3154 (_gst_parse_yyset_column), (_gst_parse_yyset_in),
3155 (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
3156 (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
3157 (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
3158 (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
3159 (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
3160 (_gst_parse_yyfree):
3161 If the installed flex version is too old use pre-generated parser
3162 sources. These pre-generated parser sources are always updated when
3163 the actual flex/bison sources change but require everybody who wants
3164 to change something in the parser to have flex >= 2.5.31 installed.
3166 2007-04-18 Stefan Kost <ensonic@users.sf.net>
3168 * common/m4/gst-gettext.m4:
3169 * gst/gst-i18n-lib.h:
3170 Make --disable-nls to work
3172 2007-04-17 Wim Taymans <wim@fluendo.com>
3174 * gst/gstconfig.h.in:
3175 Revert previous change that broke the build.
3177 2007-04-17 Stefan Kost <ensonic@users.sf.net>
3179 * configure.ac:
3180 * gst/Makefile.am:
3181 * gst/gstconfig.h.in:
3182 Drop libxml2 dependency when building with
3183 --enable-binary-registry --disable-loadsave
3185 2007-04-16 Tim-Philipp Müller <tim at centricular dot net>
3187 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
3188 (gst_registry_binary_read_cache):
3189 * gst/gstregistrybinary.h:
3190 Remove unnecessary <sys/mman.h> include which broke the win32 build
3191 with MingW; move includes from header file to .c file, even if the
3192 header file isn't installed; use g_strerror() where UTF-8 strings
3193 are expected, such as in GST_DEBUG messages.
3195 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
3197 * docs/libs/gstreamer-libs-sections.txt:
3198 Remove bogus addition for API I didn't end up keeping.
3200 * libs/gst/base/gstbasesrc.h:
3201 Mention Since: 0.10.13 in the documentation.
3203 Add the API keyword to the previous ChangeLog entry.
3205 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
3207 * docs/libs/gstreamer-libs-sections.txt:
3208 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3209 (gst_base_src_default_prepare_seek_segment),
3210 (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
3211 * libs/gst/base/gstbasesrc.h:
3212 Allow basesrc derived classes to execute seeks in other formats
3213 by providing a prepare_seek_segment vmethod. Sub-classes can choose
3214 to prepare the GstSegment in any format that their perform_seek method
3215 will be able to understand. The default implementation provides the
3216 old behaviour of attempting to convert the seek offsets to the
3217 configured native format.
3219 API: basesrc::prepare_seek_segment vmethod.
3221 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
3223 * gst/gstelement.c: (gst_element_get_state_func):
3224 Don't output the same debug statement twice.
3226 * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
3227 (gst_adapter_peek), (gst_adapter_take_buffer):
3228 Optimise the case where we have buffers at the head of the queue that
3229 can be joined quickly (because they're contiguous sub-buffers) by
3230 merging them together rather than copying data out into new memory.
3232 * gst/parse/grammar.y:
3233 * tests/check/pipelines/parse-launch.c:
3234 Fix a leak in an error path for parse_launch, and add a check
3235 for it to the testsuite.
3237 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
3239 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
3240 Don't deadlock when releasing a pad - gst_pad_set_active may try
3241 and take the multiqueue lock too.
3243 2007-04-12 Tim-Philipp Müller <tim at centricular dot net>
3245 * gst/gsterror.c: (_gst_core_errors_init):
3246 * gst/gsterror.h:
3247 API: add GST_CORE_ERROR_DISABLED (#392804).
3249 2007-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
3251 * docs/faq/gst-uninstalled:
3252 don't get empty paths on the PATH variables
3253 * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
3254 Don't format for the uncommon terminal width of 84 characters.
3256 2007-04-06 Wim Taymans <wim@fluendo.com>
3258 * gst/gstpipeline.c: (reset_stream_time),
3259 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
3260 Only try to select a different pipeline clock when we went back to
3261 PAUSED and not when we merely got flushed.
3263 2007-04-05 Michael Smith <msmith@fluendo.com>
3265 * tools/gst-launch.1.in:
3266 fractions are better supported in gstreamer than ractions, so
3267 suggest using those.
3269 2007-04-05 Thomas Vander Stichele <thomas at apestaart dot org>
3271 Submitted by: Mogens Jaeger <mogens@jaeger.tf>
3273 * po/LINGUAS:
3274 * po/da.po:
3275 Added Danish translation.
3277 2007-04-05 Wim Taymans <wim@fluendo.com>
3279 * libs/gst/base/gstbasesink.c:
3280 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
3281 Fix leak caused when refusing newsegment after EOS.
3283 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
3284 (gst_fake_sink_init), (gst_fake_sink_set_property),
3285 (gst_fake_sink_get_property), (gst_fake_sink_preroll),
3286 (gst_fake_sink_render), (gst_fake_sink_change_state):
3287 * plugins/elements/gstfakesink.h:
3288 Add num-buffers property to make the element generate EOS after a
3289 configurable amount of buffers.
3290 API: fakesink::num-buffers property.
3292 * tests/check/elements/fakesink.c: (GST_START_TEST),
3293 (fakesink_suite):
3294 Fix GstBus leak in test.
3295 Test for fakesink num-buffers.
3297 2007-04-05 Wim Taymans <wim@fluendo.com>
3299 * libs/gst/base/gstbasesink.c:
3300 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
3301 (gst_base_sink_change_state):
3302 Don't accept anything after an EOS, return UNEXPECTED instead.
3304 * tests/check/elements/fakesink.c: (GST_START_TEST),
3305 (fakesink_suite):
3306 Unit test for new EOS behaviour.
3308 2007-04-05 Wim Taymans <wim@fluendo.com>
3310 * gst/gstelement.c: (gst_element_get_request_pad):
3311 Make padtemplates also work when they don't contain %s or %d.
3313 2007-04-05 Wim Taymans <wim@fluendo.com>
3315 * docs/gst/gstreamer-sections.txt:
3316 * gst/gstclock.c: (gst_clock_adjust_unlocked),
3317 (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
3318 * gst/gstclock.h:
3319 Improve _adjust_unlocked() so that it overflows less.
3320 Add gst_clock_unadjust_unlocked to convert from external time to
3321 internal time based on calibration.
3322 Add some more debug.
3323 API: GstClock::gst_clock_unadjust_unlocked()
3325 2007-04-03 Wim Taymans <wim@fluendo.com>
3327 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
3329 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
3330 Deactivate pads and free GstSingleQueue with gst_single_queue_free()
3331 when releasing sink pad. Fixes #425400.
3333 2007-04-02 Stefan Kost <ensonic@users.sf.net>
3335 * docs/random/ensonic/dynlink.txt:
3336 More work on proposal for new core api.
3338 * docs/libs/gstreamer-libs-sections.txt:
3339 * libs/gst/base/gstbasetransform.h:
3340 API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
3342 * libs/gst/controller/gstcontroller.c:
3343 (on_object_controlled_property_changed),
3344 (gst_controller_sync_values),
3345 (gst_controller_set_interpolation_mode):
3346 * libs/gst/controller/gstcontroller.h:
3347 Less verbose logging add docs for unimplemented parts and correctly
3348 return when using unavailable parts.
3350 2007-03-29 Jan Schmidt <thaytan@mad.scientist.com>
3352 * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
3353 Move all the debug to the CLOCK category, and associate it with
3354 the clock object.
3356 2007-03-29 Jan Schmidt <thaytan@mad.scientist.com>
3358 * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
3359 Make take_buffer a bit quicker by removing redundant checks
3360 caused by calling gst_adapter_take.
3362 2007-03-28 Tim-Philipp Müller <tim at centricular dot net>
3364 * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
3365 Don't leak GCond.
3367 * tests/check/Makefile.am:
3368 * tests/check/elements/.cvsignore:
3369 * tests/check/elements/multiqueue.c: (setup_multiqueue),
3370 (GST_START_TEST), (multiqueue_suite):
3371 Add some dead simple unit tests for the 'multiqueue' element
3372 (some bits don't work yet and are disabled for now).
3374 2007-03-28 Tim-Philipp Müller <tim at centricular dot net>
3376 * gst/gstelement.c: (gst_element_get_request_pad),
3377 (gst_element_class_get_request_pad_template):
3378 Make gst_element_get_request_pad() create request pads only for
3379 request pad templates and not for, say, sometimes pad templates.
3381 2007-03-28 Stefan Kost <ensonic@users.sf.net>
3383 * docs/design/draft-klass.txt:
3384 Add example that needs more thinking.
3386 * docs/design/draft-missing-plugins.txt:
3387 More thoughts about wrapper plugins.
3389 * docs/random/ensonic/embedded.txt:
3390 * docs/random/ensonic/profiling.txt:
3391 More design work.
3393 2007-03-25 Wim Taymans <wim@fluendo.com>
3395 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
3396 (gst_base_src_loop):
3397 Only push the segment events in the PLAYING state for live sources.
3399 2007-03-23 Jan Schmidt <thaytan@mad.scientist.com>
3401 * gst/gstpipeline.c: (gst_pipeline_change_state):
3402 Modify the clock distribution path in PAUSED->PLAYING so that we
3403 never attempt to choose a new clock unless we're actually leaving
3404 the PAUSED state for the first time. This prevents choosing a
3405 different clock when the state_change gets called for a 2nd time due
3406 to some element doing an async state change.
3408 2007-03-22 Sebastian Dröge <slomo@circular-chaos.org>
3410 * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
3411 (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
3412 (gst_pad_chain_unchecked), (gst_pad_push):
3413 Revert last commit. This needs some more thoughts.
3415 2007-03-22 Sebastian Dröge <slomo@circular-chaos.org>
3417 * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
3418 (gst_pad_chain_unchecked), (gst_pad_push):
3419 Check in set_caps if the caps are compatible with the pad and remove
3420 two functions that are redundant now. Fixes #421543.
3422 2007-03-22 Wim Taymans <wim@fluendo.com>
3424 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
3425 (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
3426 Unref some more to make valgrind happy.
3428 2007-03-22 Wim Taymans <wim@fluendo.com>
3430 * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
3431 (gst_system_clock_id_wait_jitter),
3432 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
3433 Fix anoying regression that survived a few releases. When adding an
3434 async entry while blocking on a sync entry, the sync entry will unblock
3435 but still be busy, so it should continue to wait instead of returning
3436 _BUSY to the app.
3437 Add some comments here and there.
3439 * tests/check/gst/gstsystemclock.c: (mixed_thread),
3440 (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
3441 Add testcase for this.
3443 2007-03-22 Wim Taymans <wim@fluendo.com>
3445 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3446 Handle errors from the clock sync better, only UNSCHEDULED indicates a
3447 WRONG_STATE and can silently pause the task. All other cases should
3448 error out.
3450 2007-03-22 Wim Taymans <wim@fluendo.com>
3452 Patch by: Ville Syrjala <syrjala at sci dot fi>
3454 * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
3455 Fix possible deadlock if pad eventfunc is not specified. Fixes #421177.
3456 Improve debugging.
3458 2007-03-21 Michael Smith <msmith@fluendo.com>
3460 * docs/pwg/advanced-types.xml:
3461 Fix some errors in the typefinding docs pointed out on irc.
3463 2007-03-21 Jan Schmidt <thaytan@mad.scientist.com>
3465 * libs/gst/base/gstbasesrc.c:
3466 Clarify FIXME comment in the face of having added unlock_stop()
3468 2007-03-21 Wim Taymans <wim@fluendo.com>
3470 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
3471 Prepare for release where we warn against possible app breakage in the
3472 case of live pipelines along with an env var to enable/disable live
3473 preroll mode (GST_COMPAT=[no-]live-preroll).
3475 2007-03-20 Zaheer Abbas Merali <zaheerabbas at merali dot org>
3477 * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
3478 So we should use correct constants for checking for None offset.
3480 2007-03-20 Wim Taymans <wim@fluendo.com>
3482 * docs/design/part-block.txt:
3483 Mention the fact that the newly switched element should be set to at
3484 least PAUSED.
3486 2007-03-20 Wim Taymans <wim@fluendo.com>
3488 * gst/gst.c:
3489 Fix compilation with registry disabled as spotted by Saur.
3491 2007-03-20 Wim Taymans <wim@fluendo.com>
3493 Patch by: Olivier Crete <tester at tester dot ca>
3495 * gst/gstelement.c: (gst_element_sync_state_with_parent):
3496 Look at the pending state too when syncing the element state to the
3497 parent. Fixes #420133.
3499 2007-03-19 Jan Schmidt <thaytan@mad.scientist.com>
3501 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
3502 (gst_base_sink_change_state):
3503 * libs/gst/base/gstbasesink.h:
3504 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3505 (gst_base_src_default_event), (gst_base_src_unlock_stop),
3506 (gst_base_src_deactivate):
3507 * libs/gst/base/gstbasesrc.h:
3508 Add ::unlock_stop to basesrc and basesink. This allows an opportunity
3509 for sub-classes to correctly clear any state they set trying to
3510 unlock, such as clearing out unlock commands from a command fd.
3511 API: basesrc::unlock_stop
3512 API: basesink::unlock_stop
3514 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
3515 (gst_fd_sink_render), (gst_fd_sink_unlock),
3516 (gst_fd_sink_unlock_stop):
3517 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
3518 (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
3519 (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
3521 Implement unlock_stop in fdsrc and fdsink.
3522 Implement seeking in fdsrc when a seekable fd is passed, as in
3523 gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
3525 2007-03-19 Wim Taymans <wim@fluendo.com>
3527 Patch by: Evan Nemerson <evan at coeus dash group dot com>